Commits


make the various strings in the config fixed-length will help in future restructuring to have fixed-size objects.


retire fcgi' prog field spawning programs was a hidden feature used only for testing. It's gross and when got removed, I forgot to remove the field as well.


fmt


remove remnats tentacles of the executor process


remove unused entrypoint field ventige of the cgi support (and lack of url rewriting)


drop cgi vestiges from the struct host The `env' list is no longer used since CGI scripts were removed


retire the deprecated `mime' and `map' config options


make config fields `chroot' and `user' fixed-size


change the flags to be consistent with other OpenBSD daemons -d is `debug' (run in the foreground) -f to load the configuration file adjust regress and contrib accordingly


drop the configless mode from gmid; now it's provided by `ge'


get rid of the CGI support I really want to get rid of the `executor' process hack for CGI scripts and its escalation to allow fastcgi and proxying to work on non-OpenBSD. This drops the CGI support and the `executor' process entirely and is the first step towards gmid 2.0. It also allows to have more secure defaults. On non-OpenBSD systems this means that the sandbox will be deactivated as soon as fastcgi or proxying are used: you can't open sockets under FreeBSD' capsicum(4) and I don't want to go thru the pain of making it work under linux' seccomp/landlock. Patches are always welcome however. For folks using CGI scripts (hey, I'm one of you!) not all hope is lost: fcgiwrap or OpenBSD' slowcgi(8) are ways to run CGI scripts as they were FastCGI applications. fixes for the documentation and to the non-OpenBSD sandboxes will follow.


copyright years


sort the MIME mappings and do a binary search to match


don't load the built-in list when using `types'


allow add_mime to fail add_mime nows allocate dinamically copies of the passed strings, so that we can actually free what we parse from the config file. This matters a lot especially with lengthy `types' block: strings that reach the internal mapping are never free'd, so every manual addition is leaked.