18016 isc-net-0000 CALL socket(PF_INET6,0x2<SOCK_DGRAM>,IPPROTO_IP) 18016 isc-net-0000 RET socket 58/0x3a 18016 isc-net-0000 CALL setsockopt(0x3a,IPPROTO_IPV6,IPV6_DONTFRAG,0x8370b11d4,0x4) 18016 isc-net-0000 RET setsockopt 0 18016 isc-net-0000 CALL setsockopt(0x3a,IPPROTO_IPV6,IPV6_V6ONLY,0x8370b11dc,0x4) 18016 isc-net-0000 RET setsockopt 0 18016 isc-net-0000 CALL setsockopt(0x3a,SOL_SOCKET,SO_REUSEPORT,0x8370b11dc,0x4) 18016 isc-net-0000 RET setsockopt 0 18016 isc-net-0000 CALL setsockopt(0x3a,SOL_SOCKET,SO_REUSEPORT_LB,0x8370b11dc,0x4) 18016 isc-net-0000 RET setsockopt 0 18016 isc-net-0000 CALL write(0xd,0x827490f45,0x1) 18016 isc-net-0000 RET write 1 18016 isc-net-0001 RET kevent 1 18016 isc-net-0000 CALL socket(PF_INET6,0x2<SOCK_DGRAM>,IPPROTO_IP) 18016 isc-net-0001 CALL read(0xc,0x839d78990,0x400) 18016 isc-net-0001 RET read 1 18016 isc-net-0001 CALL setsockopt(0x3a,IPPROTO_IPV6,IPV6_USE_MIN_MTU,0x839d7885c,0x4) 18016 isc-net-0001 RET setsockopt 0 18016 isc-net-0001 CALL ioctl(0x3a,FIONBIO,0x839d7880c) 18016 isc-net-0001 RET ioctl 0 18016 isc-net-0001 CALL setsockopt(0x3a,SOL_SOCKET,SO_REUSEPORT,0x839d7884c,0x4) 18016 isc-net-0001 RET setsockopt 0 18016 isc-net-0001 CALL getpeername(0x3a,0x839d78798,0x839d7875c) 18016 isc-net-0001 RET getpeername -1 errno 57 Socket is not connected 18016 isc-net-0001 CALL setsockopt(0x3a,IPPROTO_IPV6,IPV6_V6ONLY,0x839d787fc,0x4) 18016 isc-net-0001 RET setsockopt 0 18016 isc-net-0001 CALL bind(0x3a,0x849924d30,0x1c) 18016 isc-net-0001 RET bind -1 errno 13 Permission denied 18016 isc-net-0001 CALL _umtx_op(0x84a1706b0,0x8<UMTX_OP_CV_WAIT>,0,0x84a170690,0)
Normally binding to a reserved port on FreeBSD requires the process to be be running as root. For most uses this is not a problem as named binds to port 53 before changing user id; however, if you are running in a environment where interface addresses are changing this can be a issue. FreeBSD has a kernel module, mac-portacl, that will allow a non-privileged user to bind to specified ports.