include grp.h for setgroup(2) on linux

update the site for 1.8.6 backport of 195f32d3a4e0b3c962cb089cde148fbaf0abb58b

bump version

gmid 1.8.6

add tests and compat for setresuid and setresgid backport of bd8683d0fd36893c18e7271faaa3b9ea67df0695

define GEMINI_SEARCH_STRING for CGI scripts too it's redundant since gmid already fills the script argv with the words extracted from the search string, but 2.0 won't have cgi support and not all fastcgi <-> cgi wrappers follow RFC3875 § 4.4. This can help in preparing scripts for a future when they'll be run under for e.g. slowcgi(8).

add an implicit fastcgi parameter: GEMINI_SEARCH_STRING backport of 97b306cbee6d105885a761e04274f661a0ec3757 it’s the QUERY_STRING decoded if it’s a search-string (i.e. not a key-value pair.) It’s useful for scripts to avoid percent-decoding the querystring in the most common case of a query, because in Gemini querystrings key-value paired are not common. Idea from a discussion with Allen Sobot.

correction: QUERY_STRING is *not* urldecoded. backport of 77718c121f89b39bd0095f10e2dbd2ff9df65281 RFC3875 § 4.1.7 states that "the QUERY_STRING variable contains a URL-encoded search or parameter string".

return after FCGI_END_REQUEST backport 17493a486c9e6325c3aae74920ddb10958ae2771 this fixes a possible crash if `client_write' closes the connection, because client_close can end up freeing the fastcgi bufferevent while we're looping. We don't support fastcgi multiplexing, so once we get an END_REQUEST there's nothing more to do. Prodded into looking here after a bug report from Allen Sobot, thanks!

when switching user also set the groups backport of 872a717687a377cc02860e44c67dc1934ebfa9cb

always cast is*() arguments to unsigned char backport of 6130e0e and 06035a0

gmid 1.8.5

disable test_unknown_host temporarly breaks on some distro and needs further investigations; it's not that interesting fortunately.

add memmem compat

rework `make dist'