Commits


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


make the mime types fixed-sized too


copyright years


hardcode the mapping text/gemini -> .gmi/.gemini It's still possible to override this automatic mapping by just adding an entry like application/octet-stream gemini gmi in the `types' block.


sort the MIME mappings and do a binary search to match


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.


const-ify some tables matches found with % grep -R '=[ ]*{' . | fgrep -v const


missing comma ,


use `text/x-patch' for .patch and .diff files


fix various compilation errors Include gmid.h as first header in every file, as it then includes config.h (that defines _GNU_SOURCE for instance). Fix also a warning about unsigned vs signed const char pointers in openssl.


added support for location blocks


use recallocarray it also does an overflow check on multiplication, other than being more readable.


rename mimes to mime ; pass config esplicitly to mime* functions


moving "default type" from global options to server options


move mimes into the struct config