aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-08bundle a copy of /usr/share/misc/mime.typesOmar Polo
2022-04-08wordingOmar Polo
2022-04-08document the implicit mapping for text/geminiOmar Polo
and remove the explicit mapping from the documentation and test files.
2022-04-08revise changelogOmar Polo
2022-04-08hardcode the mapping text/gemini -> .gmi/.geminiOmar Polo
It's still possible to override this automatic mapping by just adding an entry like application/octet-stream gemini gmi in the `types' block.
2022-04-08syncOmar Polo
2022-04-08sort the MIME mappings and do a binary search to matchOmar Polo
2022-04-08tweaksOmar Polo
2022-04-08rework the 'running gmid as a daemon' example a bitOmar Polo
2022-04-08document the `types' behaviorOmar Polo
2022-04-08add an entry for text/gemini in the `types' exampleOmar Polo
if using `types' the internal listing is not used, so show how to add the entries for text/gemini when using /usr/share/misc/mime.types.
2022-04-08fix test_include_mime after `types' changeOmar Polo
2022-04-08don't load the built-in list when using `types'Omar Polo
2022-04-08wrong email...Omar Polo
2022-04-08syncOmar Polo
2022-04-08allow add_mime to failOmar Polo
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.
2022-04-08+jpegOmar Polo
2022-04-07master is now 1.8.3-currentOmar Polo
2022-04-07add forgotten entriesOmar Polo
2022-04-07update changelogOmar Polo
2022-04-07link gmid.conf.5 in the capsule/website tooOmar Polo
2022-04-07install gmid.conf.5 tooOmar Polo
2022-04-07move the documentation of the config file into gmid.conf.5Omar Polo
2022-04-07lowercase FAQ -- all the other links are in lowercaseOmar Polo
2022-04-07rename the quickstart page to guide in the navbarOmar Polo
it occupies less horizontal space which avoids the wrapping on (some) mobiles
2022-04-07add the FAQ page finally!Omar Polo
2022-04-07tweak the quickstart guide a bitOmar Polo
2022-04-07use the types block instead of `map' in the tests tooOmar Polo
2022-04-07print a deprecation message for the map ruleOmar Polo
2022-04-07don't mention the `map' rule anymore: `types' is way betterOmar Polo
2022-04-07lower paddingOmar Polo
2022-04-07remove outdated noteOmar Polo
2022-04-07suggest to reload daemons tooOmar Polo
2022-04-07suggest /etc/systemd/system instead of /lib/Omar Polo
2022-04-07rephrase dockerfile descriptionOmar Polo
2022-03-29add a "contributing" sectionOmar Polo
2022-03-29fix `make static': compile `gg' too!Omar Polo
2022-03-29"a posix libc" can be left implicitOmar Polo
2022-03-29remove docker section; it's already showed off in the contrib pageOmar Polo
2022-03-27link the tar.bz2 tooOmar Polo
2022-03-27missing version bump in the site generatorOmar Polo
2022-03-27tag 1.8.3 -- "Lightbulb Sun" bugfix release1.8.3Omar Polo
gmid 1.8.3 "Lightbulb Sun" bugfix release ========================================= Released March 27, 2022. signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC Bug Fixes ~~~~~~~~~ * fix a possible out-of-bound access in the CGI handling. It was introduced last October during a refactoring, but due to how many malloc(3) implementations works this hasn't been found until now. Otto' malloc is more strict fortunately.
2022-03-27fix an out-of-bound access in start_cgiOmar Polo
Long time ago, client->req was a static buffer so the memcpy was safe. However, it's been since moved to a dynamically allocated string, so it's very often smaller than sizeof(req.buf) (1024), hence the out of bound access which results in a SIGSEGV very often on OpenBSD thanks to Otto' malloc. The situation with the iri parser, client->req and how the request is forwarded to the other process needs to be improved: this is just a fix to address the issue quickly, a better one would be to restructure the iri parser APIs and rethink how the info is forwarded to the ex process.
2022-03-27prefer sizeof(x) instead of datalenOmar Polo
2022-03-26tag 1.8.2 -- "Lightbulb Sun" bugfix release1.8.2Omar Polo
gmid 1.8.2 "Lightbulb Sun" bugfix release ========================================= Released March 26, 2022. signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC Bug Fixes ~~~~~~~~~ * fix a CGI timing issue: if a connection handled by a CGI scripts is interrupted with the right timing it causes the server process to exit with "fatal in client_by_id: invalid id X". New Features ~~~~~~~~~~~~ * add a new block `type { ... }' to define mime types mapping. Improvements ~~~~~~~~~~~~ * use shell built-in `command' instead of which(1), prodded by cage and Allen Sobot. * configure script: allow to set MANDIR from cmdline (Allen Sobot) * add systemd-sysusers sample file in contrib/ (Nakaya) * [linux/seccomp] allow fstatat64(2), llseek(2) and sigreturn(2), needed by glibc on armv7. (Tobias Berger) * [linux/seccomp] tightens rules by allowing openat(2) only with the O_RDONLY flag.
2022-03-26bump MdocdateOmar Polo
2022-03-26add target `test' alias for `regress'Omar Polo
2022-03-26swap try_client_by_id with client_by_idOmar Polo
i.e. allow client_by_id to fail and return NULL. Initially I thought it was a good idea to shut down a server process if we receive an invalid client id as reply from one of our requests to the executor process. This turned out not to be correct since a client can (read: will) disconnect in the delay beteewn we acknowledge their request and the cgi script execution. The fastcgi and proxy handler already handled this situation, so they're unaffected. This allows an attacker to make gmid unresponsible by just making enough requests until they hit the right timing.
2022-03-26move to a different serverOmar Polo
2022-03-26break out if check_reply failsOmar Polo
it's not a problem when we have only one check_reply at then end, since $? is kept across function boundaries, but when we have multiple checks we need to quit on the first error.