1 | ** Version 0.10.0 (UNRELEASED) |
---|
2 | |
---|
3 | - Support for stapling multiple OCSP responses (TLS 1.3 |
---|
4 | only). mod_gnutls will staple for as many consecutive certificates |
---|
5 | in the certificate chain as possible. |
---|
6 | |
---|
7 | - Support for TLS 1.3 post-handshake authentication, used if TLS |
---|
8 | client authentication is required only for some resources on the |
---|
9 | server. Rehandshake (for older TLS versions) is not supported. |
---|
10 | |
---|
11 | - The test infrastructure has been mostly rewritten in Python, note |
---|
12 | the new dependencies (Python 3, Pyyaml). |
---|
13 | |
---|
14 | - Server certificates are checked for the must-staple TLS feature |
---|
15 | extension, stapling must be enabled if so. |
---|
16 | |
---|
17 | - Compatibility fix for GnuTLS 3.6.11 in the test suite: Handle |
---|
18 | certificate type in TLS session information strings |
---|
19 | |
---|
20 | ** Version 0.9.1 (2019-11-29) |
---|
21 | - Fix possible segfault (NULL pointer dereference) on failed TLS |
---|
22 | handshake. Calling ssl_var_lookup() after a failed handshake could |
---|
23 | lead to GnuTLS session information functions being called on a NULL |
---|
24 | session pointer, leading to segfault. |
---|
25 | - Remove URLs from expected error responses in the test suite. Apache |
---|
26 | HTTPD removed request URLs from canned error messages to prevent |
---|
27 | misleading text/links being displayed via crafted links |
---|
28 | (CVE-2019-10092). Adjust the expected error responses in our tests |
---|
29 | so they can pass again. |
---|
30 | - Test suite: Ignore "Content-Length" header of responses. Thanks to |
---|
31 | Krista Karppinen! |
---|
32 | - Add a section about module dependencies on socache to the handbook |
---|
33 | - Restructure the manpage build and move it to section 5 (config |
---|
34 | files) |
---|
35 | - Test suite: Restructure certificate directories |
---|
36 | |
---|
37 | ** Version 0.9.0 (2019-01-23) |
---|
38 | - Security fix: Refuse to send or receive any data over a failed TLS |
---|
39 | connection (commit 72b669eae8c45dda1850e8e5b30a97c918357b51). The |
---|
40 | previous behavior could lead to requests on reverse proxy TLS |
---|
41 | connections being sent in plain text, and might have allowed faking |
---|
42 | requests in plain text. |
---|
43 | - Security fix: Reject HTTP requests if they try to access virtual |
---|
44 | hosts that do not match their TLS connections (commit |
---|
45 | de3fad3c12f53cdbf082ad675e4b10f521a02811). Additionally check if SNI |
---|
46 | and Host header match. Thanks to Krista Karppinen for contributing |
---|
47 | tests! |
---|
48 | - OCSP stapling is now enabled by default, if possible. OCSP responses |
---|
49 | are updated regularly and stored in a cache separate from the |
---|
50 | session cache. The OCSP cache uses mod_socache_shmcb by default |
---|
51 | (if the module is loaded, no other configuration required). |
---|
52 | - Session tickets are now enabled by default if using GnuTLS 3.6.4 or |
---|
53 | newer. GnuTLS 3.6.4 introduced automatic rotation for the used key, |
---|
54 | and TLS 1.3 takes care of other reasons not to use tickets while |
---|
55 | requiring them for session resumption. Note that there is currently |
---|
56 | no mechanism to synchronize ticket keys across a cluster of servers. |
---|
57 | - The internal cache implementation has been replaced with |
---|
58 | mod_socache. Users may need to update their GnuTLSCache settings and |
---|
59 | load the appropriate socache modules. |
---|
60 | - ALPN (required for HTTP/2) now works correctly with different |
---|
61 | "Protocols" directives between virtual hosts if building with GnuTLS |
---|
62 | 3.6.3 or newer. Older versions require identical "Protocols" |
---|
63 | directives for overlapping virtual hosts. Thanks to Vincent Tamet |
---|
64 | for the bug report! |
---|
65 | - ALPN is now supported for proxy connections, making HTTP/2 proxy |
---|
66 | connections using mod_proxy_http2 possible. |
---|
67 | - GnuTLSPriorities is optional now and defaults to "NORMAL" if |
---|
68 | missing. The same applies to GnuTLSProxyPriorities (if TLS proxy is |
---|
69 | enabled). |
---|
70 | - The manual is now built as a manual page, too, if pandoc is |
---|
71 | available. |
---|
72 | - OpenPGP support has been removed. |
---|
73 | - Don't require pem2openpgp for tests when building without MSVA |
---|
74 | support. |
---|
75 | |
---|
76 | ** Version 0.8.4 (2018-04-13) |
---|
77 | - Support Apache HTTPD 2.4.33 API for proxy TLS connections |
---|
78 | - Support TLS for HTTP/2 connections with mod_http2 |
---|
79 | - Fix configuration of OCSP stapling callback |
---|
80 | |
---|
81 | ** Version 0.8.3 (2017-10-20) |
---|
82 | - Use GnuTLS' default DH parameters by default |
---|
83 | - Handle long Server Name Indication data and gracefully ignore |
---|
84 | unknown SNI types |
---|
85 | - Send SNI for proxy connections |
---|
86 | - Deprecate OpenPGP support like GnuTLS did (will be removed |
---|
87 | completely in a future release) |
---|
88 | - Do not announce session ticket support for proxy connections |
---|
89 | - Minor documentation updates (SSL_CLIENT_I_DN, reference for SNI) |
---|
90 | - Test suite: Simplify handling of proxy backend servers and OCSP |
---|
91 | responders |
---|
92 | - Test suite: stability/compatibility fixes |
---|
93 | |
---|
94 | ** Version 0.8.2 (2017-01-08) |
---|
95 | - Test suite: Ensure CRLF line ends in HTTP headers |
---|
96 | - Test suite, gen_ocsp_index.c: Handle serial as fixed order byte array |
---|
97 | |
---|
98 | ** Version 0.8.1 (2016-12-20) |
---|
99 | - Bugfix: Use APR_SIZE_T_FMT for portable apr_size_t formatting |
---|
100 | |
---|
101 | ** Version 0.8.0 (2016-12-11) |
---|
102 | - New: Support for OCSP stapling |
---|
103 | - Bugfix: Access to DBM cache is locked using global mutex |
---|
104 | "gnutls-cache" |
---|
105 | - Bugfix: GnuTLSSessionTickets is now disabled by default as described |
---|
106 | in the handbook |
---|
107 | - Fixed memory leak while checking proxy backend certificate |
---|
108 | - Fixed memory leaks in post_config |
---|
109 | - Safely delete session ticket key (requires GnuTLS >= 3.4) |
---|
110 | - Improved error handling in post_config hook |
---|
111 | - Various handbook updates |
---|
112 | - Internal API documentation can be generated using Doxygen |
---|
113 | - Unused code has been removed (conditionals for GnuTLS 2.x and Apache |
---|
114 | versions before 2.2, internal Lua bytecode structure last used in |
---|
115 | 2011). |
---|
116 | - Test suite: Fixed locking for access to the PGP keyring of the test |
---|
117 | certificate authority |
---|
118 | - mod_gnutls can be built using Clang (unsupported) |
---|
119 | |
---|
120 | ** Version 0.7.5 (2016-05-28) |
---|
121 | - Sunil Mohan Adapa reported retry loops during session shutdown in |
---|
122 | cleanup_gnutls_session() due to gnutls_bye() incorrectly returning |
---|
123 | GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN. Setting the GnuTLS session |
---|
124 | errno in mgs_transport_write() fixes the problem. |
---|
125 | - Import Daniel Kahn Gillmor's patches for GnuPG v2 support from the |
---|
126 | Debian package. |
---|
127 | - Build system improvements that allow VPATH builds and get "make |
---|
128 | distcheck" to work |
---|
129 | |
---|
130 | ** Version 0.7.4 (2016-04-13) |
---|
131 | - Support SoftHSM 2 for PKCS #11 testing |
---|
132 | - Increase verbosity of test logs |
---|
133 | |
---|
134 | ** Version 0.7.3 (2016-01-12) |
---|
135 | - Update test suite for compatibility with GnuTLS 3.4, which has |
---|
136 | stricter key usage checks and priorities than 3.3. |
---|
137 | - Write non-HTML output to mod_status reports if AP_STATUS_SHORT is |
---|
138 | set (mod_status sets it for requests with the "auto" parameter, e.g. |
---|
139 | https://localhost/server-status?auto). |
---|
140 | - Register "ssl_is_https" function so the special mod_rewrite variable |
---|
141 | %{HTTPS} works correctly with mod_gnutls. The new test case for this |
---|
142 | requires Wget or curl. Fixes Debian bug #514005. |
---|
143 | - Test suite servers listen on IPv4 *and* IPv6 loopback addresses by |
---|
144 | default (other addresses configurable), which should fix failures |
---|
145 | due to localhost randomly resolving to either on some distributions. |
---|
146 | - Isolate tests using network namespaces, if possible. This avoids |
---|
147 | port conflicts with other test cases (so they can run in parallel) |
---|
148 | and host services. |
---|
149 | - Support for local Apache drop-in config files in the test suite |
---|
150 | (e.g. to load additional modules needed on Fedora). |
---|
151 | - Try to use markdown to build HTML documentation if pandoc is not |
---|
152 | available. |
---|
153 | - Disable use of flock if it is unavailable or does not support |
---|
154 | timeouts (the latter caused the build to fail on Debian Hurd). |
---|
155 | - New test: Disable TLS 1.0 (regression test for Debian bug #754960). |
---|
156 | |
---|
157 | ** Version 0.7.2 (2015-11-21) |
---|
158 | - Bugfix: Non-blocking reads in the input filter could lead to a busy |
---|
159 | wait in the gnutls_io_input_read function, causing high load on |
---|
160 | Keep-Alive connections waiting for data, until either more data |
---|
161 | could be received or the connection was closed. The fix is to pass |
---|
162 | EAGAIN/EINTR results up to the input filter so they can be handled |
---|
163 | properly. |
---|
164 | - Close TLS session if the input filter receives EOF (mostly relevant |
---|
165 | for proper termination of proxy connections). |
---|
166 | - Remove dependency on APR Memcache, which is replaced by the newer |
---|
167 | version included in the APR Utility Library (libaprutil). |
---|
168 | - Remove dependency on bc. It was used for floating point arithmetic |
---|
169 | in the test suite, the calculations have been changed to use |
---|
170 | integers and pure bash code. |
---|
171 | |
---|
172 | ** Version 0.7.1 (2015-10-18) |
---|
173 | - Improved handling of PKCS #11 modules: mod_gnutls now loads either |
---|
174 | modules specified using GnuTLSP11Module, or the system defaults, but |
---|
175 | not both. Thanks to Nikos Mavrogiannopoulos for the report and |
---|
176 | initial patch! |
---|
177 | - Initialize variables to safe defaults during client certificate |
---|
178 | verification. Certain error code paths did not set them, but they |
---|
179 | should never be hit due to config validation. This adds another line |
---|
180 | of defense. |
---|
181 | - Enable C99 support via autoconf |
---|
182 | - Test suite improvements. Most importantly, automake now handles |
---|
183 | environment setup without any external make calls. Rules to build |
---|
184 | the certificates are included from the old test makefile. Note that |
---|
185 | the dependency on GNU make is not new (the test makefile always used |
---|
186 | GNU make syntax), it just wasn't listed explicitly. |
---|
187 | |
---|
188 | ** Version 0.7 (2015-07-12) |
---|
189 | - Security fix for TLS client authentication (CVE-2015-2091) |
---|
190 | - Bug fixes that enable support for reverse proxy operation |
---|
191 | - Various test suite improvements. Tests are configured through autoconf, |
---|
192 | so the test suite now works for builds without Monkeysphere support. |
---|
193 | - Add support for TLS connections to back end servers when operating as a |
---|
194 | reverse proxy (X.509 authentication only at the moment). |
---|
195 | - PKCS #11 support for server keys and certificates |
---|
196 | - Use strict compiler arguments by default (-Wall -Werror -Wextra) |
---|
197 | - Allow limiting the size of certificates exported as SSL_SERVER_CERT |
---|
198 | and SSL_CLIENT_CERT through the GnuTLSExportCertificates directive |
---|
199 | |
---|
200 | ** Version 0.6 (2014-02-17) |
---|
201 | - Generating DH Params instead of using static ones. |
---|
202 | - Now considering ServerAlias Directives. |
---|
203 | - Major Legacy Code Cleanup. |
---|
204 | - html and pdf and manual documentation generated from markdown sources |
---|
205 | - support monkeysphere validation agent (MSVA) client-certificate verification |
---|
206 | - wider test suite |
---|
207 | - GnuTLSExportCertificates off by default |
---|
208 | |
---|
209 | ** Version 0.5.10 (2011-07-12) |
---|
210 | - Patched a bug responsible for excessive memory consumption by mod_gnutls. |
---|
211 | - Support for proxying from SSL to plain HTTP was added (ie. proxy termination). |
---|
212 | |
---|
213 | ** Version 0.5.9 (2010-09-24) |
---|
214 | - GnuTLSCache none is now an allowed option. |
---|
215 | - Corrected behavior in Keep-Alive connections (do not |
---|
216 | terminate the connection prematurely) |
---|
217 | - The GnuTLSCache variable now can be given the specific |
---|
218 | option "gdbm" instead of "dbm". "dbm" will use the berkeley |
---|
219 | db type of libapr while gdbm will force gdbm to be used. |
---|
220 | sdbm is no longer being used due to serious limitations. |
---|
221 | |
---|
222 | ** Version 0.5.8 (2010-08-18) |
---|
223 | - Session tickets are enabled by default. |
---|
224 | - Fixes some segmentation faults noticed in some |
---|
225 | configurations. |
---|
226 | |
---|
227 | ** Version 0.5.7 (2010-07-01) |
---|
228 | - Force usage of SDBM. For some reason the default in |
---|
229 | my system had issues after reaching a limit of entries. |
---|
230 | SDBM seems stable so force it. |
---|
231 | - Optimizations in session caching. |
---|
232 | - Added support for session tickets. This allows a |
---|
233 | server to avoid using a session cache and still support |
---|
234 | session resumption. This is at the cost of transporting |
---|
235 | session data during handshake. New option |
---|
236 | GnuTLSSessionTickets [on|off] |
---|
237 | - Depend on gnutls 2.10.0 to force support for safe |
---|
238 | renegotiation. |
---|
239 | |
---|
240 | ** Version 0.5.6 (2010-03-24) |
---|
241 | - Corrected issue with firefox and long POST data (by |
---|
242 | handling EINTR and EAGAIN errors in read). |
---|
243 | - Added support for chained client certificates |
---|
244 | - Corrected more issues related to double frees |
---|
245 | http://issues.outoforder.cc/view.php?id=102 |
---|
246 | |
---|
247 | ** Version 0.5.5 (2009-06-13) |
---|
248 | - Removed limits on CA certificate loading. Reported by |
---|
249 | Sander Marechal and Jack Bates. |
---|
250 | - Do not allow sending empty TLS packets even when instructed to. |
---|
251 | This had the side effect of clients closing connection. |
---|
252 | |
---|
253 | ** Version 0.5.4 (2009-01-04) |
---|
254 | - mod_gnutls.h: modified definition to extern to avoid compilation |
---|
255 | errors in darwin. |
---|
256 | - Added patch to fix issue with mod_proxy. Investigation and patch by Alain |
---|
257 | Knaff. |
---|
258 | - libgnutls detection uses pkg-config. |
---|
259 | |
---|
260 | ** Version 0.5.3 (2008-10-16) |
---|
261 | - Corrected bug to allow having an OpenPGP-only web site. |
---|
262 | - Increased Max handshake tries due to interrupted system calls. |
---|
263 | |
---|
264 | ** Version 0.5.2 (2008-06-29) |
---|
265 | - Depend on gnutls 2.4 which has openpgp support in main library. |
---|
266 | |
---|
267 | ** Version 0.5.1 (2008-03-05) |
---|
268 | - Added --disable-srp configure option |
---|
269 | - Better check for memcache (patch by Guillaume Rousse) |
---|
270 | - Corrected possible memory leak in DBM support for resuming sessions. |
---|
271 | |
---|
272 | ** Version 0.5.0-alpha (2008-01-24) |
---|
273 | - Added support for OpenPGP keys. The new directives are: |
---|
274 | GnuTLSPGPKeyringFile, GnuTLSPGPCertificateFile, GnuTLSPGPKeyFile |
---|
275 | |
---|
276 | ** Version 0.4.2 (2007-12-10) |
---|
277 | - Added support for sending a certificate chain. |
---|
278 | - Corrected bug which did not allow the TLS session cache to be used. |
---|
279 | - Do not allow resuming sessions on different servers. |
---|
280 | |
---|
281 | ** Version 0.4.1 (2007-12-03) |
---|
282 | - Added support for subject alternative names in certificates. |
---|
283 | Only one per certificate is supported. |
---|
284 | - New enviroment variables: SSL_CLIENT_M_VERSION, SSL_CLIENT_S_SAN%, |
---|
285 | SSL_CLIENT_S_TYPE, SSL_SERVER_M_VERSION, SSL_SERVER_S_SAN%, SSL_SERVER_S_TYPE |
---|
286 | - The compatibility mode can now be enabled explicitely with the |
---|
287 | %COMPAT keyword at the GnuTLSPriorities string. It is no longer the default. |
---|
288 | - Check for GnuTLSPriorities directive. This corrects a segfault. Thanks |
---|
289 | to David Hrbáč. |
---|
290 | - Better handling of GnuTLSDHFile and GnuTLSRSAFile. |
---|
291 | - No longer default paths for RSA and DH parameter files. |
---|