Skip to content

“Space-dye Vest”

Compare
Choose a tag to compare
@omar-polo omar-polo released this 10 Jul 10:13
· 779 commits to master since this release

NB: there's an error in the man page, a 1.7.1 version with fixes is being worked on.

Starting from this version gmid doesn't depend on lex anymore, but
yacc is still needed.

New features

  • initial fastcgi support! (it's still young!)
  • added user-defined macros, either via -Dname=val or directly in
    the configuration file.
  • new include keyword to load additional configuration files.
  • new env rule to define environment vars for CGI scripts.
  • new alias rule to define hostname aliases for a server.
  • allow root to be specified per-location block.
  • pidfile support with the new -P cli flag.
  • define TLS_VERSION, TLS_CIPHER and TLS_CIPHER_STRENGTH for CGI
    scripts.

Improvements

  • remove limits on the number of virtual hosts and location blocks
    that can be defined.
  • print the datetime when logging to stderr.
  • use text/x-patch for .patch and .diff files.
  • sort the auto index alphabetically.
  • various improvements to the log management.
  • drop the dependency on lex.
  • added --help as synonym of -h and -V/--version to print the
    version.
  • c-like handling of strings in the configuration file: when two or
    more strings are next to each-others, are automatically joined into
    a single string. This is particularly useful with $-macros.

Bug fixes

  • correctly handle CGI scripts that replies with the maxium header
    length allowed.
  • fixed the static target.
  • fixed recursive mkdirs for configless mode (i.e. create
    ~/.local/share/gmid)
  • logs sent to syslog now have proper priority (before every message
    ended up as LOG_CRIT). Found by Anna "CyberTailor", thanks!
  • ensure %p (path) is always absolute in block return rules.
  • fix automatic certificate generation, it caused problems on some
    adroid devices. Found by Gnuserland, thanks!
  • document the log rule.
  • the seccomp filter was reworked and now it's known to work properly
    on a vast range of architectures (to be more specific: all the
    architectures supported by alpine linux), see github issue #4.
    Prompted and tested by @begss, thanks!
  • various improvements to the configure script, notified and fixed by
    Anna "CyberTailor", thanks!
  • added a timeout to the regression tests.

Breaking changes

  • if duplicate rules are found in the configuration file, an error is
    now raised instead of silently using only the last value.
  • (sort of) gg moved to regress as it's only used in the
    regression suite.
  • (notice) the mime "mime-type" "extension" rule was deprecated and
    replaced by the new map "mime-type" to-ext "extension". The
    mime rule will be removed in a future version because its syntax
    is incompatible with the new string auto-concat mechanism.