source: mod_gnutls/CHANGELOG @ 732cdb11

asynciomainproxy-ticket
Last change on this file since 732cdb11 was f042405, checked in by Fiona Klute <fiona.klute@…>, 3 years ago

Update changelog and version for 0.10.0

  • Property mode set to 100644
File size: 13.2 KB
Line 
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
245http://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.
283Only one per certificate is supported.
284- New enviroment variables: SSL_CLIENT_M_VERSION, SSL_CLIENT_S_SAN%,
285SSL_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
289to David Hrbáč.
290- Better handling of GnuTLSDHFile and GnuTLSRSAFile.
291- No longer default paths for RSA and DH parameter files.
Note: See TracBrowser for help on using the repository browser.