Blame


1 21dc3794 2022-01-28 op # change log
2 21dc3794 2022-01-28 op
3 de721c43 2022-01-30 op ## 2022/01/30 - 1.8 “Lightbulb Sun”
4 de721c43 2022-01-30 op
5 de721c43 2022-01-30 op ### New Features
6 de721c43 2022-01-30 op
7 de721c43 2022-01-30 op * reverse proxying support: gmid now can relay gemini requests to other hosts.
8 de721c43 2022-01-30 op * install gg too: it's a simple gemini client ("gemini get") initially developed as part of the regression suite.
9 de721c43 2022-01-30 op * added OCSP stapling support (by @The-King-of-Toasters, thanks!)
10 de721c43 2022-01-30 op * add gencert, a simple script to generate self-signed certs.
11 de721c43 2022-01-30 op * add renew-certs, a script to automatically renew self-signed certs.
12 de721c43 2022-01-30 op * multiple -n partially dump the parsed configuration.
13 de721c43 2022-01-30 op
14 de721c43 2022-01-30 op ### Improvements
15 de721c43 2022-01-30 op
16 de721c43 2022-01-30 op * reworked the fastcgi subsystem, now it's completely asynchronous.
17 de721c43 2022-01-30 op * refactored the internal of the server too.
18 de721c43 2022-01-30 op * refactored the regression suite (in particular reduced the timeout for single tests from 30 to 10 seconds.)
19 de721c43 2022-01-30 op * configure: add support for --prefix=... autoconf-style flag.
20 de721c43 2022-01-30 op * relax the "wont proxy" check: don't check that the port in the request is the same we're listening on. Suggested and discussed with Allen Sobot, thanks!
21 de721c43 2022-01-30 op * relax the strict ordering of options, locations and proxy blocks inside a server block.
22 de721c43 2022-01-30 op
23 de721c43 2022-01-30 op ### Bug fixes
24 de721c43 2022-01-30 op
25 de721c43 2022-01-30 op * don't pass through illegal replies from CGI scripts.
26 de721c43 2022-01-30 op * fix the "double slash" error in logs.
27 de721c43 2022-01-30 op * fix the configure for cross-compilation: don't run the test binaries just built. Suggested by Nikolay Korotkiy (@sikmir), thanks!
28 de721c43 2022-01-30 op * (seccomp) allow ugetrlimit(2), needed by glibc on arm7l. By Max, thanks!
29 de721c43 2022-01-30 op
30 de721c43 2022-01-30 op
31 21dc3794 2022-01-28 op ## 2021/10/15 - 1.7.5 “Space-dye Vest” fifth bugfix release
32 21dc3794 2022-01-28 op
33 21dc3794 2022-01-28 op This version includes the following bugfix
34 21dc3794 2022-01-28 op
35 21dc3794 2022-01-28 op * don’t die when a connection is closed before being accepted by gmid (i.e. handle ‘ECONNRESET’)
36 21dc3794 2022-01-28 op
37 21dc3794 2022-01-28 op
38 21dc3794 2022-01-28 op ## 2021/09/24 - 1.7.4 “Space-dye Vest” fourth bugfix release
39 21dc3794 2022-01-28 op
40 21dc3794 2022-01-28 op This version includes the following bugfix:
41 21dc3794 2022-01-28 op
42 21dc3794 2022-01-28 op * 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
43 21dc3794 2022-01-28 op
44 21dc3794 2022-01-28 op and the relative regression test.
45 21dc3794 2022-01-28 op
46 21dc3794 2022-01-28 op
47 21dc3794 2022-01-28 op ## 2021/09/19 - 1.7.3 “Space-dye Vest” third bugfix release
48 21dc3794 2022-01-28 op
49 21dc3794 2022-01-28 op ### Improvements
50 21dc3794 2022-01-28 op
51 21dc3794 2022-01-28 op * follows symlinks
52 21dc3794 2022-01-28 op * improved documentation and added key generation example (thanks! Anna)
53 21dc3794 2022-01-28 op
54 21dc3794 2022-01-28 op ### Bugfix
55 21dc3794 2022-01-28 op
56 21dc3794 2022-01-28 op * fix syslog logging on FreeBSD. Reported by Karl Jeacle, thanks!
57 21dc3794 2022-01-28 op * don't crash if ``-c'' is missing in configtest mode (-n). Reported by heph, thanks!
58 21dc3794 2022-01-28 op * allow fstat64 on linux (needed by glibc on aarch64). Reported by pine, thanks!
59 21dc3794 2022-01-28 op
60 21dc3794 2022-01-28 op
61 21dc3794 2022-01-28 op ## 2021/07/19 - 1.7.2 “Space-dye Vest” second bugfix release
62 21dc3794 2022-01-28 op
63 21dc3794 2022-01-28 op This version incudes the following bugfix:
64 21dc3794 2022-01-28 op
65 21dc3794 2022-01-28 op * an un-initialized field in the configless code path leads to a crash on the first request.
66 21dc3794 2022-01-28 op
67 21dc3794 2022-01-28 op and the relative regression test.
68 21dc3794 2022-01-28 op
69 21dc3794 2022-01-28 op
70 21dc3794 2022-01-28 op ## 2021/07/11 - 1.7.1 “Space-dye Vest” bugfix release
71 21dc3794 2022-01-28 op
72 21dc3794 2022-01-28 op This version includes two bugfixes:
73 21dc3794 2022-01-28 op * use ${MAKE} to recursively call make.
74 21dc3794 2022-01-28 op * fix the misleading example in the manpage: macros may not be reserved words
75 21dc3794 2022-01-28 op
76 21dc3794 2022-01-28 op
77 21dc3794 2022-01-28 op ## 2021/07/10 - 1.7 “Space-dye Vest”
78 21dc3794 2022-01-28 op
79 21dc3794 2022-01-28 op Starting from this version gmid doesn't depend on lex anymore, but yacc is still needed.
80 21dc3794 2022-01-28 op
81 21dc3794 2022-01-28 op ### New features
82 21dc3794 2022-01-28 op
83 21dc3794 2022-01-28 op * initial fastcgi support! (it's still young!)
84 21dc3794 2022-01-28 op * added user-defined macros, either via ‘-Dname=val’ or directly in the configuration file.
85 21dc3794 2022-01-28 op * new ‘include’ keyword to load additional configuration files.
86 21dc3794 2022-01-28 op * new ‘env’ rule to define environment vars for CGI scripts.
87 21dc3794 2022-01-28 op * new ‘alias’ rule to define hostname aliases for a server.
88 21dc3794 2022-01-28 op * allow ‘root’ to be specified per-location block.
89 21dc3794 2022-01-28 op * pidfile support with the new ‘-P’ cli flag.
90 21dc3794 2022-01-28 op * define ‘TLS_VERSION’, ‘TLS_CIPHER’ and ‘TLS_CIPHER_STRENGTH’ for CGI scripts.
91 21dc3794 2022-01-28 op
92 21dc3794 2022-01-28 op ### Improvements
93 21dc3794 2022-01-28 op
94 21dc3794 2022-01-28 op * remove limits on the number of virtual hosts and location blocks that can be defined.
95 21dc3794 2022-01-28 op * print the datetime when logging to stderr.
96 21dc3794 2022-01-28 op * use ‘text/x-patch’ for ‘.patch’ and ‘.diff’ files.
97 21dc3794 2022-01-28 op * sort the auto index alphabetically.
98 21dc3794 2022-01-28 op * various improvements to the log management.
99 21dc3794 2022-01-28 op * drop the dependency on lex.
100 21dc3794 2022-01-28 op * added ‘--help’ as synonym of ‘-h’ and ‘-V’/‘--version‘ to print the version.
101 21dc3794 2022-01-28 op * 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.
102 21dc3794 2022-01-28 op
103 21dc3794 2022-01-28 op ### Bug fixes
104 21dc3794 2022-01-28 op
105 21dc3794 2022-01-28 op * correctly handle CGI scripts that replies with the maxium header length allowed.
106 21dc3794 2022-01-28 op * fixed the static target.
107 21dc3794 2022-01-28 op * fixed recursive mkdirs for configless mode (i.e. create ‘~/.local/share/gmid’)
108 21dc3794 2022-01-28 op * logs sent to syslog now have proper priority (before every message ended up as LOG_CRIT). Found by Anna “CyberTailor”, thanks!
109 21dc3794 2022-01-28 op * ensure ‘%p’ (path) is always absolute in ‘block return’ rules.
110 21dc3794 2022-01-28 op * fix automatic certificate generation, it caused problems on some adroid devices. Found by Gnuserland, thanks!
111 21dc3794 2022-01-28 op * document the ‘log’ rule.
112 21dc3794 2022-01-28 op * 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!
113 21dc3794 2022-01-28 op * various improvements to the configure script, notified and fixed by Anna “CyberTailor”, thanks!
114 21dc3794 2022-01-28 op * added a timeout to the regression tests.
115 21dc3794 2022-01-28 op
116 21dc3794 2022-01-28 op ### Breaking changes
117 21dc3794 2022-01-28 op
118 21dc3794 2022-01-28 op * if duplicate rules are found in the configuration file, an error is now raised instead of silently using only the last value.
119 21dc3794 2022-01-28 op * (sort of) ‘gg’ moved to ‘regress’ as it's only used in the regression suite.
120 21dc3794 2022-01-28 op * (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.