remove dead code

turn log styles into strings from yacc point of view having styles as reserved keywords means that variables / macros can't be called `common', `condensed', etc... which is not great and not obvious either. Instead, let's keep the log styles as strings and match on them. This also allows to have a slightly better error message in case of a typo. See:

remove stray space

rework the grammar so that ; is accepted after variables and options See Codeberg issue #1.

fix missing listen on warning printed the wrong value for the hostname

plug a leak all other rules are freeing the value of `listen_addr'

fix automatic guessing of `listen on' default_host needs to be NULL for getaddrinfo(3) to listen on everything.

implement fastcgi strip number

add `log syslog facility' to use a different syslog(3) facility Was requested ages ago by Karl Jeacle, now that there is some better support for configuring the logging there's no excuse to add this. It helps with filtering from syslog.d / syslog.conf.

sort logopt

add log syslog off; don't turn syslog off when log access is specified


allow to change the logging style; introduce some new ones add `log style <style>'; The old default is called `legacy' now, a new default format is added called `condensed', and `common' and `combined' to mimick Apache httpd and nginx (respectively) are also added.

add ability to log to files with log access <path>

fix a reduce/reduce conflict location -> error and locopt -> fastcgi -> error both end up with a optnl that can be reduced to the empty string.