Skip to content

Releases: omar-polo/gmid

“Lightbulb Sun” bugfix release

04 Jul 15:00
Compare
Choose a tag to compare

Released July 4, 2022.

signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC

Starting from this release there will be no more pre-compiled binaries. gmid is already packaged by various repositories and the needed dependency are almost universally available.

Edit 2022/07/07: the tarball ended up without contrib/. gmid-1.8.4.-with-contrib.tar.gz was uploaded to recover from this issue and not tag another release; SHA256 and SHA256.sum had to be re-generated.

Bug Fixes

  • allow "@" and ":" in paths; spotted by freezr
  • URL-encode the file names in the directory index; reported by cage

Improvements

  • move the documentation about the config file in its own manual page: gmid.conf.5
  • improvements to the mime handling: fixed a memory leak and improve lookup speed.
  • log (with low priority) when gmid failed to open a file because of its permissions.
  • include a trailing "/" for dirs in the auto-generated directory index.

Breaking Changes

  • deprecated the map rule in favour of the new types block.
  • the default list is not loaded anymore when types is used; except for the text/gemini to ".gmi"/".gemini" mappings.

“Lightbulb Sun” bugfix release

27 Mar 13:13
Compare
Choose a tag to compare

signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC

(note: no aarch64 precompiled binaries this time)

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.

“Lightbulb Sun” bugfix release

26 Mar 14:52
Compare
Choose a tag to compare

signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC

(note: no aarch64 precompiled binaries this time)

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 @chilledfrogs.
  • configure script: allow to set MANDIR from cmdline (@chilledfrogs)
  • add systemd-sysusers sample file in contrib/ (@eniehack )
  • [linux/seccomp] allow fstatat64(2), llseek(2) and sigreturn(2), needed by glibc on armv7. (@Toby222)
  • [linux/seccomp] tightens rules by allowing openat(2) only with the O_RDONLY flag.

“Lightbulb Sun” bugfix release

10 Feb 23:15
Compare
Choose a tag to compare

signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC

(aarch64 binary will be released later)

Bug fixes

  • fix landlock usage on linux: don't assume that access capabilities not listed are implicitly denied, because they are not. Mickaël Salaün, the landlock author, found the same error on game of trees:

In a nutshell, the ruleset's handled_access_fs is required for backward and forward compatibility (i.e. the kernel and user space may not know each other's supported restrictions), hence the need to be explicit about the denied-by-default access rights.

In practice this affects only linux and only partially: thanks to the design of the daemon and the seccomp filter the effects of this mistake in handling landlock are fortunately limited. However, in theory at least, gmid could be for e.g. tricked into truncating existing files, so it's highly suggested to update.

Improvements

All by @CyberTailor, thanks!

  • don't skip unit tests when SKIP_RUNTIME_TEST is set
  • add gg to the regress target dependencies
  • fix the "implicit declaration of asprintf" warning
  • sync vim syntax

“Lightbulb Sun”

30 Jan 13:26
Compare
Choose a tag to compare

signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC

The following is a partial list of new features and improvements. For a comprehensive list, see the ChangeLog file.

New Features

  • reverse proxying support: gmid now can relay gemini requests to other hosts.
  • install gg too: it's a simple gemini client ("gemini get") initially developed as part of the regression suite.
  • added OCSP stapling support (by @The-King-of-Toasters, thanks!)
  • add gencert, a simple script to generate self-signed certs.
  • add renew-certs, a script to automatically renew self-signed certs.
  • multiple -n partially dump the parsed configuration.

Improvements

  • reworked the fastcgi subsystem, now it's completely asynchronous.
  • refactored the internal of the server too.
  • refactored the regression suite (in particular reduced the timeout for single tests from 30 to 10 seconds.)
  • configure: add support for --prefix=... autoconf-style flag.
  • relax the "wont proxy" check: don't check that the port in the request is the same we're listening on. Suggested by Allen Sobot, thanks!
  • relax the strict ordering of options, locations and proxy blocks inside a server block.

Bug fixes

  • don't pass through illegal replies from CGI scripts.
  • fix the "double slash" error in logs.
  • fix the configure for cross-compilation: don't run the test binaries just built. Suggested by Nikolay Korotkiy (@sikmir), thanks!
  • (seccomp) allow ugetrlimit(2), needed by glibc on arm7l. By Max, thanks!

“Space-dye Vest” fifth bugfix release

15 Oct 09:10
Compare
Choose a tag to compare

This version includes the following bugfix:

  • don't die when a connection is closed before being accepted by gmid. (i.e. handle ECONNRESET)

“Space-dye Vest” fourth bugfix release

24 Sep 11:00
Compare
Choose a tag to compare

This version includes the following bugfix:

  • fix a possible out-of-bound access when handling a request for a non-existent file in the root directory of a vhost that's matched by the cgi option

and the relative regression test.

“Space-dye Vest” third bugfix release

19 Sep 15:02
Compare
Choose a tag to compare

Improvements

  • follows symlinks
  • improved documentation and added key generation example (thanks! Anna)

Bugfix

  • fix syslog logging on FreeBSD. Reported by Karl Jeacle, thanks!
  • don't crash if -c is missing in configtest mode (-n). Reported by heph, thanks!
  • allow fstat64 on linux (needed by glibc on aarch64). Reported by pine, thanks!

“Space-dye Vest” second bugfix release

19 Jul 12:45
Compare
Choose a tag to compare

This version incudes the following bugfix:

  • An un-initialized field in the configless code path leads to a crash on the first request.

and the relative regression test.

“Space-dye Vest” bugfix release

11 Jul 07:54
Compare
Choose a tag to compare

This version includes two bugfixes:

  • use ${MAKE} to recursively call make
  • fix the misleading example in the man page: macros name may not be
    reserved words

Both bugs found and fixed by Anna “CyberTailor”, thanks!