Hello, I think I've found an off-by-one bug in httpd: it cannot listen on port 65535 when the port is specified as a number (although it can listen on it if specified as the string "65535", or if an appropriate line is added to /etc/services and it's specified with that name).
$ uname -a OpenBSD Meryl 6.1 GENERIC.MP#19 amd64 $ cat /etc/httpd.conf server "default" { listen on egress port 65535 } $ doas httpd -n /etc/httpd.conf:2: invalid port: 65535 no actions, nothing to do The above is on 6.1, but it looks like the problem still exists in CVS. Below is a patch (or the possible start of one). It's untested as I cannot do a build and test it right now, but I think it's enough. If not, I hope it's at least a little helpful. Let me know if there is anything else I can do and I'll try to do it whenever I can. Thanks, Kris Katterjohn Index: usr.sbin/httpd/parse.y =================================================================== RCS file: /cvs/src/usr.sbin/httpd/parse.y,v retrieving revision 1.91 diff -u -p -r1.91 parse.y --- usr.sbin/httpd/parse.y 11 Aug 2017 18:48:56 -0000 1.91 +++ usr.sbin/httpd/parse.y 18 Aug 2017 04:10:35 -0000 @@ -1118,7 +1118,7 @@ medianamesl : numberstring { ; port : PORT NUMBER { - if ($2 <= 0 || $2 >= (int)USHRT_MAX) { + if ($2 <= 0 || $2 > (int)USHRT_MAX) { yyerror("invalid port: %lld", $2); YYERROR; }