1 GnuTLS NEWS -- History of user-visible changes. -*- outline -*-
2 Copyright (C) 2000-2012 Free Software Foundation, Inc.
3 See the end for copying conditions.
5 * Version 3.0.18 (unreleased)
7 ** certtool: Avoid a Y2K38 bug when generating certificates.
8 Patch by Robert Millan.
10 ** libgnutls: Updated assembler files.
12 ** libgnutls: Time in generated certificates is stored
13 as GeneralizedTime instead of UTCTime (which only stores
16 ** API and ABI modifications:
17 gnutls_x509_crt_set_private_key_usage_period: Added
18 gnutls_x509_crt_get_private_key_usage_period: Added
19 gnutls_x509_crq_set_private_key_usage_period: Added
20 gnutls_x509_crq_get_private_key_usage_period: Added
21 gnutls_session_get_random: Added
24 * Version 3.0.17 (released 2012-03-17)
26 ** command line apps: Always link with local libopts.
28 ** API and ABI modifications:
29 No changes since last version.
32 * Version 3.0.16 (released 2012-03-16)
34 ** minitasn1: Upgraded to libtasn1 version 2.12 (pre-release).
36 ** libgnutls: Corrected SRP-RSA ciphersuites when used under TLS 1.2.
38 ** libgnutls: included assembler files for MacOSX.
40 ** p11tool: Small fixes in handling of the --private command
43 ** certtool: The template option allows for setting the domain
44 component (DC) option of the distinguished name, and the ocsp_uri
45 as well as the ca_issuers_uri options.
47 ** API and ABI modifications:
48 gnutls_x509_crt_set_authority_info_access: Added
51 * Version 3.0.15 (released 2012-03-02)
53 ** test suite: Only run under valgrind in the development
54 system (the full git repository)
56 ** command line apps: Link with local libopts if the
57 installed is an old one.
59 ** libgnutls: Eliminate double free during SRP
60 authentication. Reported by Peter Penzov.
62 ** libgnutls: Corrections in record packet parsing.
63 Reported by Matthew Hall.
65 ** libgnutls: Cryptodev updates and fixes.
67 ** libgnutls: Corrected issue with select() that affected
68 FreeBSD. This prevented establishing DTLS sessions.
69 Reported by Andreas Metzler.
71 ** libgnutls: Corrected rehandshake and resumption
72 operations in DTLS. Reported by Sean Buckheister.
74 ** libgnutls: PKCS #11 objects that do not have ID
75 no longer crash listing. Reported by Sven Geggus.
77 ** API and ABI modifications:
78 No changes since last version.
81 * Version 3.0.14 (released 2012-02-24)
83 ** command line apps: Included libopts doesn't get installed
86 ** libgnutls: Eliminate double free on wrongly formatted
87 certificate list. Reported by Remi Gacogne.
89 ** libgnutls: cryptodev code corrected, updated to account
90 for hashes and GCM mode.
92 ** libgnutls: Eliminated memory leak in PCKS #11 initialization.
93 Report and fix by Sam Varshavchik.
95 ** API and ABI modifications:
96 No changes since last version.
99 * Version 3.0.13 (released 2012-02-18)
101 ** gnutls-cli: added the --ocsp option which will verify
102 the peer's certificate with OCSP.
104 ** gnutls-cli: added the --tofu and if specified, gnutls-cli
105 will use an ssh-style authentication method.
107 ** gnutls-cli: if no --x509cafile is provided a default is
108 assumed (/etc/ssl/certs/ca-certificates.crt), if it exists.
110 ** ocsptool: Added --ask parameter, to verify a certificate's
111 status from an ocsp server.
113 ** command line apps: Use gnu autogen (libopts) to parse command
114 line arguments and template files.
116 ** tests: Added stress test for DTLS packet losses and
117 out-of-order receival. Contributed by Sean Buckheister.
119 ** libgnutls: Several updates and corrections in the DTLS
120 DTLS lost packet handling and retransmission timeouts.
121 Report and patches by Sean Buckheister.
123 ** libgnutls: Added new functions to easily allow the usage of
124 a trust on first use (SSH-style) authentication.
126 ** libgnutls: SUITEB128 and SUITEB192 priority strings account
127 for the RFC6460 requirements.
129 ** libgnutls: Added new security parameter GNUTLS_SEC_PARAM_LEGACY
130 to account for security level of 96-bits.
132 ** libgnutls: In client side if server does not advertise any
133 known CAs and only a single certificate is set in the credentials,
136 ** libgnutls: Added functions to parse authority key identifiers
137 when stored as a 'general name' and serial combo.
139 ** libgnutls: Added function to force explicit reinitialization
140 of PKCS #11 modules. This is required on the child process after
141 a fork (if PKCS #11 functionality is desirable).
143 ** libgnutls: Depend on p11-kit 0.11.
145 ** API and ABI modifications:
146 gnutls_dtls_get_timeout: Added
147 gnutls_verify_stored_pubkey: Added
148 gnutls_store_pubkey: Added
149 gnutls_store_commitment: Added
150 gnutls_x509_crt_get_authority_key_gn_serial: Added
151 gnutls_x509_crl_get_authority_key_gn_serial: Added
152 gnutls_pkcs11_reinit: Added
153 gnutls_ecc_curve_list: Added
154 gnutls_priority_certificate_type_list: Added
155 gnutls_priority_sign_list: Added
156 gnutls_priority_protocol_list: Added
157 gnutls_priority_compression_list: Added
158 gnutls_priority_ecc_curve_list: Added
159 gnutls_tdb_init: Added
160 gnutls_tdb_set_store_func: Added
161 gnutls_tdb_set_store_commitment_func: Added
162 gnutls_tdb_set_verify_func: Added
163 gnutls_tdb_deinit: Added
166 * Version 3.0.12 (released 2012-01-20)
168 ** libgnutls: Added OCSP support.
169 There is a new header file gnutls/ocsp.h and a set of new functions
170 under the gnutls_ocsp namespace. Currently the functionality provided
171 is to parse and extract information from OCSP requests/responses, to
172 generate OCSP requests and to verify OCSP responses. See the manual
173 for more information. Run ./configure with --disable-ocsp to build
174 GnuTLS without OCSP support.
176 This work was sponsored by Smoothwall <http://smoothwall.net/>.
178 ** ocsptool: Added new command line tool.
179 The tool can parse OCSP request/responses, generate OCSP requests and
180 verify OCSP responses. See the manual for more information.
182 ** certtool: --outder option now works for private
183 and public keys as well.
185 ** libgnutls: Added error code GNUTLS_E_NO_PRIORITIES_WERE_SET
186 to warn when no or insufficient priorities were set.
188 ** libgnutls: Corrected an alignment issue in ECDH
189 key generation which prevented some keys from being
190 correctly aligned in rare circumstances.
192 ** libgnutls: Corrected memory leaks in DH parameter
193 generation and ecc_projective_check_point().
195 ** libgnutls: Added gnutls_x509_dn_oid_name() to
196 return a descriptive name of a DN OID.
198 ** API and ABI modifications:
199 gnutls_pubkey_encrypt_data: Added
200 gnutls_x509_dn_oid_name: Added
201 gnutls_session_resumption_requested: Added
202 gnutls/ocsp.h: Added new header file.
203 gnutls_ocsp_print_formats_t: Added new type.
204 gnutls_ocsp_resp_status_t: Added new type.
205 gnutls_ocsp_cert_status_t: Added new type.
206 gnutls_x509_crl_reason_t: Added new type.
207 gnutls_ocsp_req_add_cert: Added.
208 gnutls_ocsp_req_add_cert_id: Added.
209 gnutls_ocsp_req_deinit: Added.
210 gnutls_ocsp_req_export: Added.
211 gnutls_ocsp_req_get_cert_id: Added.
212 gnutls_ocsp_req_get_extension: Added.
213 gnutls_ocsp_req_get_nonce: Added.
214 gnutls_ocsp_req_get_version: Added.
215 gnutls_ocsp_req_import: Added.
216 gnutls_ocsp_req_init: Added.
217 gnutls_ocsp_req_print: Added.
218 gnutls_ocsp_req_randomize_nonce: Added.
219 gnutls_ocsp_req_set_extension: Added.
220 gnutls_ocsp_req_set_nonce: Added.
221 gnutls_ocsp_resp_deinit: Added.
222 gnutls_ocsp_resp_export: Added.
223 gnutls_ocsp_resp_get_certs: Added.
224 gnutls_ocsp_resp_get_extension: Added.
225 gnutls_ocsp_resp_get_nonce: Added.
226 gnutls_ocsp_resp_get_produced: Added.
227 gnutls_ocsp_resp_get_responder: Added.
228 gnutls_ocsp_resp_get_response: Added.
229 gnutls_ocsp_resp_get_signature: Added.
230 gnutls_ocsp_resp_get_signature_algorithm: Added.
231 gnutls_ocsp_resp_get_single: Added.
232 gnutls_ocsp_resp_get_status: Added.
233 gnutls_ocsp_resp_get_version: Added.
234 gnutls_ocsp_resp_import: Added.
235 gnutls_ocsp_resp_init: Added.
236 gnutls_ocsp_resp_print: Added.
237 gnutls_ocsp_resp_verify: Added.
239 * Version 3.0.11 (released 2012-01-06)
241 ** libgnutls: Corrected functionality of
242 gnutls_record_get_direction(). Reported by Philip Allison.
244 ** libgnutls: Provide less timing information when decoding
245 TLS/DTLS record packets. Patch by Nadhem Alfardan.
247 ** API and ABI modifications:
248 No changes since last version.
251 * Version 3.0.10 (released 2012-01-04)
253 ** gnutls-cli/serv: Set don't fragment bit in DTLS sessions
254 in Linux as well as in BSD.
256 ** gnutls-cli: Fixed reading from windows terminals.
258 ** libgnutls: When GNUTLS_OPENPGP_FMT_BASE64 is specified
259 the stream is assumed to be base64 encoded (previously
260 the encoding was auto-detected). This avoids a decoding
261 issue in windows systems.
263 ** libgnutls: Corrected ciphersuite GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384
265 ** libgnutls: Added ciphersuites: GNUTLS_PSK_WITH_AES_256_GCM_SHA384
266 and GNUTLS_DHE_PSK_WITH_AES_256_GCM_SHA384.
268 ** libgnutls: Added function gnutls_random_art() to convert
269 fingerprints to images (currently ascii-art).
271 ** libgnutls: Corrected bug in DSA private key parsing, which
272 prevented the verification of the key.
274 ** API and ABI modifications:
275 gnutls_random_art: Added
278 * Version 3.0.9 (released 2011-12-13)
280 ** certtool: Added new parameter --dh-info.
282 ** certtool: -l option was overloaded so if combined with --priority
283 it will only list the ciphersuites that are enabled by the given
286 ** libgnutls: Added new priority string %SERVER_PRECEDENCE, which
287 changes the ciphersuite selection procedure. If specified the server
288 priorities will be used for selection instead of the client's.
290 ** libgnutls: Optimizations in Diffie-Hellman parameters generation
293 ** libgnutls: When session tickets are negotiated and used in a
294 session, a server will not store that session data into its cache.
296 ** libgnutls: Added the SECP192R1 curve.
298 ** libgnutls: Added gnutls_priority_get_cipher_suite_index() to
299 allow listing the ciphersuites enabled in a priority structure.
300 It outputs an index to be used in gnutls_get_cipher_suite_info().
302 ** libgnutls: Optimizations in the elliptic curve code --timing
303 attacks resistant code is only used in ECDSA private key operations.
305 ** doc: man pages for API functions generation was fixed and are
306 now added again in the distribution.
308 ** API and ABI modifications:
309 GNUTLS_ECC_CURVE_SECP192R1: New curve definition
310 gnutls_priority_get_cipher_suite_index: Added
313 * Version 3.0.8 (released 2011-11-12)
315 ** certtool: Certtool -e returns error code on verification
318 ** certtool: Verifies parameters of generated keys.
320 ** libgnutls: Corrected ECC key generation (introduced in 3.0.6)
322 ** libgnutls: Provide less timing information when decoding
323 TLS/DTLS record packets.
325 ** doc: man pages for API functions were removed.
326 The reason was that the code that auto-generated the man pages missed
327 many APIs and we couldn't fix it (volunteers welcome). See the info
328 manual or the GTK-DOC manual instead.
330 ** API and ABI modifications:
331 gnutls_x509_privkey_verify_params: Added
334 * Version 3.0.7 (released 2011-11-08)
336 ** libgnutls: Corrected fix in gnutls_session_get_data()
337 to report the actual session size when the provided buffer
340 ** libgnutls: Fixed ciphersuite GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
341 which was using a wrong MAC algorithm. Reported by Fabrice Gautier.
343 ** API and ABI modifications:
344 No changes since last version.
347 * Version 3.0.6 (released 2011-11-07)
349 ** gnutls-guile: Compilation fixes.
351 ** libgnutls: Fixed possible buffer overflow in
352 gnutls_session_get_data(). Reported and fix by Alban Crequy.
354 ** libgnutls: Bug fixes in the ciphersuites with NULL cipher.
355 Reported by Fabrice Gautier.
357 ** libgnutls: Bug fixes in ECC code for 64-bit MIPS systems.
358 Thanks to Joseph Graham for providing access to such a system.
360 ** libgnutls: Correctly report ECC private key parsing errors.
361 Reported by Fabrice Gautier.
363 ** libgnutls: In ECDHE verify that the received point lies on
364 the selected curve. The ECDHE ciphersuites now take precendence
367 ** API and ABI modifications:
368 No changes since last version.
371 * Version 3.0.5 (released 2011-10-27)
373 ** libgnutls-extra: is no more
375 ** libgnutls: Corrections in order to compile with mingw32.
377 ** libgnutls: Corrections in VIA padlock code for VIA C5 processor
378 and new detection of PHE with support for partial hashing.
380 ** libgnutls: Corrected bug in gnutls_x509_data2hex. Report and fix
383 ** minitasn1: Upgraded to libtasn1 version 2.10.
385 ** API and ABI modifications:
386 No changes since last version.
389 * Version 3.0.4 (released 2011-10-15)
391 ** libgnutls-extra: gnutls_register_md5_handler() was
394 ** gnutls-cli-debug: Added more tests including AES-GCM,
395 SHA256 and elliptic curves.
397 ** gnutls-cli: Added --benchmark-soft-ciphers to benchmark
398 the software version of the ciphers instead of hw accelerated
401 ** libgnutls: Public key ID calculation is consistent among
402 all structures. It uses a SHA-1 hash of the subjectPublicKeyInfo.
404 ** libgnutls: gnutls_privkey_t allows setting external callback
405 to perform signing or decryption. Can be set using
406 gnutls_privkey_import_ext()
408 ** libgnutls: A certificate credentials structure can be
409 used with a gnutls_privkey_t and a gnutls_pcert_st
410 structure using gnutls_certificate_set_key().
412 ** libgnutls: Fixes to enable external signing callback to
413 operate with TLS 1.2.
415 ** libgnutls: Fixed crash when printing ECDSA certificate key
416 ID. Reported by Erik Jensen.
418 ** libgnutls: Corrected VIA padlock code for C3. In C3 benchmarks
419 show a 50x increase in AES speed and a 14x increase in VIA nano. Added
420 support for hashes and HMACs.
422 ** libgnutls: Compilation fixed when p11-kit is not detected.
424 ** libgnutls: Fixed the deflate compression code.
426 ** libgnutls: Added gnutls_x509_crt_get_authority_info_access.
427 Used to get the PKIX Authority Information Access (AIA) field.
429 ** libgnutls: gnutls_x509_crt_print supports printing AIA fields.
431 ** libgnutls: Added ability to gnutls_privkey_t to operate with
432 signing callback function.
434 ** API and ABI modifications:
435 gnutls_x509_crt_get_authority_info_access (x509.h): Added function.
436 gnutls_privkey_import_ext: Added function.
437 gnutls_certificate_set_key: Added function.
438 gnutls_info_access_what_t (x509.h): Added enum.
439 GNUTLS_OID_AIA (x509.h): Added symbol.
440 GNUTLS_OID_AD_OCSP (x509.h): Added symbol.
441 GNUTLS_OID_AD_CAISSUERS (x509.h): Added symbol.
443 * Version 3.0.3 (released 2011-09-18)
445 ** libgnutls: Added gnutls_record_get_discarded() to return the
446 number of discarded records in a DTLS session.
448 ** libgnutls: All functions related to RSA-EXPORT were deprecated.
449 Support for RSA-EXPORT ciphersuites will be ceased in future versions.
451 ** libgnutls: Memory leak fixes in credentials private key
452 deinitialization. Reported by Dan Winship.
454 ** libgnutls: Memory leak fixes in ECC ciphersuites.
456 ** libgnutls: Do not send an empty extension structure in server
457 hello. This affected old implementations that do not support extensions.
458 Reported by J. Cameijo Cerdeira.
460 ** libgnutls: Allow CA importing of 0 certificates to succeed.
461 Reported by Jonathan Nieder <jrnieder@gmail.com> in
462 <http://bugs.debian.org/640639>.
464 ** libgnutls: Added support for VIA padlock AES optimizations.
465 (disabled by default)
467 ** libgnutls: Added support for elliptic curves in
470 ** libgnutls: Added gnutls_pkcs11_privkey_generate()
471 to allow generating a key in a token.
473 ** p11tool: Added generate-rsa, generate-dsa and
474 generate-ecc options to allow generating private
477 ** libgnutls: gnutls_transport_set_lowat dummy macro was
480 ** API and ABI modifications:
481 gnutls_pkcs11_privkey_generate: Added
482 gnutls_pubkey_import_ecc_raw: Added
483 gnutls_pubkey_import_ecc_x962: Added
484 gnutls_pubkey_get_pk_ecc_x962: Added
485 gnutls_record_get_discarded: Added
488 * Version 3.0.2 (released 2011-09-01)
490 ** libgnutls: OpenPGP certificate type is not enabled
493 ** libgnutls: Added %NO_EXTENSIONS priority string.
495 ** libgnutls: Corrected issue in gnutls_record_recv()
496 triggered on encryption or compression error.
498 ** libgnutls: Compatibility fixes in CPU ID detection
499 for i386 and old GCC.
501 ** gnutls-cli: Benchmark applications were incorporated
504 ** libgnutls: Corrected parsing of XMPP subject
507 ** libgnutls: Allow for out-of-order ChangeCipherSpec
510 ** libgnutls: gnutls_certificate_set_x509_key() and
511 gnutls_certificate_set_openpgp_key() operate as in 2.10.x
512 and allow the release of the private key during the
513 lifetime of the certificate structure.
515 ** API and ABI modifications:
516 GNUTLS_PRIVKEY_IMPORT_COPY: new gnutls_privkey_import() flag
519 * Version 3.0.1 (released 2011-08-20)
521 ** libgnutls: gnutls_certificate_set_x509_key_file() and
522 friends support server name indication. If multiple
523 certificates are set using these functions the proper one
524 will be selected during a handshake.
526 ** libgnutls: Added AES-256-GCM which was left out from
527 the previous release. Reported by Benjamin Hof.
529 ** libgnutls: When asking for a PKCS# 11 PIN multiple
530 times, the flags in the callback were not being updated
531 to reflect for PIN low count or final try.
533 ** libgnutls: Do not allow second instances of PKCS #11
536 ** libgnutls: fixed alignment issue in AES-NI code.
538 ** libgnutls: The config file at gnutls_pkcs11_init()
539 is being read if provided.
541 ** libgnutls: Ensure that a certificate list specified
542 using gnutls_certificate_set_x509_key() and friends, is
543 sorted according to TLS specification (from subject to issuer).
545 ** libgnutls: Added GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag for
546 gnutls_x509_crt_list_import. It checks whether the list to be
547 imported is properly sorted.
549 ** crywrap: Added to the distribution. It is an application
550 that proxies TLS session to a port using a plaintext service.
552 ** doc: Many GTK-DOC improvements.
554 ** i18n: Translations were updated.
556 ** API and ABI modifications:
557 GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED: New element in gnutls_certificate_import_flags
558 GNUTLS_PKCS11_PIN_WRONG: New flag for PIN callback
561 * Version 3.0.0 (released 2011-07-29)
563 ** libgnutls: writev_emu: stop on the first incomplete write. Patch by
566 ** libgnutls: Fix zlib handling in gnutls.pc. Patch by Andreas
569 ** certtool: bug fixes in certificate request generation. Patch
572 ** API and ABI modifications:
573 gnutls_pcert_list_import_x509_raw: ADDED
576 * Version 2.99.4 (released 2011-07-23)
578 ** doc: documentation updates.
580 ** libgnutls: gnutls_rsa_params_t is now identical to gnutls_x509_privkey_t
581 to avoid thread-safety issues. Reported by Sam Varshavchik.
583 ** libgnutls: Added compatibility mode with /etc/gnutls/pkcs11.conf
585 ** libgnutls: license upgraded to LGPLv3
587 ** libgnutls: gnutls_srp_verifier() returns data allocated with gnutls_malloc()
590 ** API and ABI modifications:
591 No changes since last version.
594 * Version 2.99.3 (released 2011-06-18)
596 ** libgnutls: Added new PKCS #11 flags to force an object being private or
597 not. (GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE and GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE)
599 ** libgnutls: Added SUITEB128 and SUITEB192 priority
600 strings to enable the NSA SuiteB cryptography ciphersuites.
602 ** libgnutls: Added gnutls_pubkey_verify_data2() that will
603 verify data provided the signature algorithm.
605 ** libgnutls: Simplified the handling of handshake messages to
606 be hashed. Instead of hashing during the handshake process we now
607 keep the data until handshake is over and hash them on request.
608 This uses more memory but eliminates issues with TLS 1.2 and
611 ** libgnutls: Added AES-GCM optimizations using the PCLMULQDQ
612 instruction. Uses Andy Polyakov's assembly code.
614 ** libgnutls: Added gnutls_x509_trust_list_add_named_crt() and
615 gnutls_x509_trust_list_verify_named_crt() that allow having a
616 list of certificates in the trusted list that will be associated
617 with a name (e.g. server name) and will not be used as CAs.
619 ** libgnutls: PKCS #11 back-end rewritten to use p11-kit
620 http://p11-glue.freedesktop.org/p11-kit.html. Rewrite by
623 ** libgnutls: Added ECDHE-PSK ciphersuites for TLS (RFC 5489).
625 ** API and ABI modifications:
626 gnutls_pubkey_verify_data2: ADDED
627 gnutls_ecc_curve_get: ADDED
628 gnutls_x509_trust_list_add_named_crt: ADDED
629 gnutls_x509_trust_list_verify_named_crt: ADDED
630 gnutls_x509_privkey_verify_data: REMOVED
631 gnutls_crypto_bigint_register: REMOVED
632 gnutls_crypto_cipher_register: REMOVED
633 gnutls_crypto_digest_register: REMOVED
634 gnutls_crypto_mac_register: REMOVED
635 gnutls_crypto_pk_register: REMOVED
636 gnutls_crypto_rnd_register: REMOVED
637 gnutls_crypto_single_cipher_register: REMOVED
638 gnutls_crypto_single_digest_register: REMOVED
639 gnutls_crypto_single_mac_register: REMOVED
640 GNUTLS_KX_ECDHE_PSK: New key exchange method
641 GNUTLS_VERIFY_DISABLE_CRL_CHECKS: New certificate verification flag.
642 GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE: New PKCS#11 object flag.
643 GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE: New PKCS#11 object flag.
646 * Version 2.99.2 (released 2011-05-26)
648 ** libgnutls: Added Elliptic curve support. This is not
649 enabled by default. Requires priority strings:
650 +CURVE-ALL: to add all supported curves
651 +ECDHE-RSA: to add ephemeral ECDHE with an RSA-signed certificate
652 +ECDHE-ECDSA: to add ephemeral ECDHE with an ECDSA-signed certificate
653 +ANON-ECDHE: to add anonymous ECDH
655 ** libgnutls: PKCS #11 URLs conform to the latest draft
656 being http://tools.ietf.org/html/draft-pechanec-pkcs11uri-04.
658 ** certtool: Can now load private keys and public keys from PKCS #11 tokens
661 ** libgnutls: Added gnutls_global_set_audit_log_function() that allows
662 to get important auditing information including the corresponding session.
663 That might be useful to block DoS or other attacker from specific IPs.
665 ** libgnutls: gnutls_pkcs11_privkey_import_url() will now correctly read
666 the public key algorithm of the key.
668 ** libgnutls: Added gnutls_certificate_get_issuer() and
669 gnutls_x509_trust_list_get_issuer() to compensate for the
670 missing gnutls_certificate_get_x509_cas().
672 ** libgnutls: Added gnutls_x509_crq_verify() to allow
673 verification of the self signature in a certificate request.
674 This allows verifying whether the owner of the private key
675 is the generator of the request.
677 ** libgnutls: gnutls_x509_crt_set_crq() implicitly verifies
678 the self signature of the request.
680 ** API and ABI modifications:
681 gnutls_certificate_get_issuer: ADDED
682 gnutls_x509_trust_list_get_issuer: ADDED
683 gnutls_x509_crq_verify: ADDED
684 gnutls_global_set_audit_log_function: ADDED
685 gnutls_ecc_curve_get_name: ADDED
686 gnutls_ecc_curve_get_size: ADDED
687 gnutls_x509_privkey_import_ecc_raw: ADDED
688 gnutls_x509_privkey_export_ecc_raw: ADDED
689 gnutls_global_set_time_function: ADDED
691 GNUTLS_E_ECC_NO_SUPPORTED_CURVES: New error code
692 GNUTLS_E_ECC_UNSUPPORTED_CURVE: New error code
693 GNUTLS_KX_ECDHE_RSA: New key exchange method
694 GNUTLS_KX_ECDHE_ECDSA: New key exchange method
695 GNUTLS_KX_ANON_ECDH: New key exchange method
696 GNUTLS_PK_ECC: New public key algorithm
697 GNUTLS_SIGN_ECDSA_SHA1: New signature algorithm
698 GNUTLS_SIGN_ECDSA_SHA256: New signature algorithm
699 GNUTLS_SIGN_ECDSA_SHA384: New signature algorithm
700 GNUTLS_SIGN_ECDSA_SHA512: New signature algorithm
701 GNUTLS_SIGN_ECDSA_SHA224: New signature algorithm
702 GNUTLS_ECC_CURVE_INVALID: New curve definition
703 GNUTLS_ECC_CURVE_SECP224R1: New curve definition
704 GNUTLS_ECC_CURVE_SECP256R1: New curve definition
705 GNUTLS_ECC_CURVE_SECP384R1: New curve definition
706 GNUTLS_ECC_CURVE_SECP521R1: New curve definition
709 * Version 2.99.1 (released 2011-04-23)
711 ** libgnutls: LZO support was removed.
713 ** libgnutls: Corrections in SSLv2 client hello parsing.
715 ** libgnutls: Added support for AES-NI if detected. Uses
716 Andy Polyakov's AES-NI code.
718 ** libgnutls: Restored HMAC-MD5 for compatibility. Although considered
719 weak, several sites require it for connection. It is enabled for
720 "NORMAL" and "PERFORMANCE" priority strings.
722 ** libgnutls: depend on libdl.
724 ** libgnutls-extra: Dropped support of LZO compression via liblzo.
726 ** libgnutls: gnutls_transport_set_global_errno() was removed. This
727 function required GnuTLS to access system specific data, for no reason.
728 Use gnutls_transport_set_errno(), or your system's errno fascility
731 ** libgnutls: Added gnutls_certificate_set_retrieve_function2()
732 to set a callback to retrieve a certificate. The certificate is
733 received in a format that requires no processing from gnutls thus
734 it is suitable when performance is required.
736 ** API and ABI modifications:
737 gnutls_transport_set_global_errno: REMOVED
738 gnutls_certificate_set_retrieve_function2: ADDED
740 * Version 2.99.0 (released 2011-04-09)
742 ** libgnutls: Added Datagram TLS support.
744 ** libgnutls: Uses a single configure file and a single
745 gnulib library to save space.
747 ** libgnutls: Several bug fixes.
749 ** libgnutls: gnutls_transport_set_lowat() is no more.
751 ** libgnutls-openssl: modified to use modern gnutls' functions.
752 This introduces an ABI incompatibility with previous versions.
754 ** libgnutls: Corrected signature generation and verification
755 in the Certificate Verify message when in TLS 1.2. Reported
758 ** libgnutlsxx: The C++ interface returns exception on
759 every error and not only on fatal ones. This allows easier
762 ** libgnutls: Corrected issue in DHE-PSK ciphersuites that ignored
765 ** libgnutls: SRP and PSK are no longer set on the default priorities.
766 They have to be explicitly set.
768 ** libgnutls: During handshake message verification using DSS
769 use the hash algorithm required by it.
771 ** libgnutls: gnutls_recv() return GNUTLS_E_PREMATURE_TERMINATION
772 on unexpected EOF, instead of GNUTLS_E_UNEXPECTED_PACKET_LENGTH.
774 ** libgnutls: Added GCM mode (interoperates with tls.secg.org)
776 ** libgnutls-extra: Inner application extension was removed.
777 It was never standardized nor published as an RFC.
779 ** libgnutls: Added new certificate verification functions, that
780 can provide more details and are more efficient. Check
781 gnutls_x509_trust_list_*.
783 ** certtool: Uses the new certificate verification functions for
786 ** certtool: Added new certificate verification functionality
787 using the --verify option. Combined with --load-ca-certificate
788 it can verify a certificate chain against a list of certificates.
790 ** Several files unnecessarily included <gcrypt.h>; this has been fixed.
792 ** API and ABI modifications:
793 gnutls_dtls_set_timeouts: ADDED
794 gnutls_dtls_get_mtu: ADDED
795 gnutls_dtls_get_data_mtu: ADDED
796 gnutls_dtls_set_mtu: ADDED
797 gnutls_dtls_cookie_send: ADDED
798 gnutls_dtls_cookie_verify: ADDED
799 gnutls_dtls_prestate_set: ADDED
800 gnutls_x509_trust_list_verify_crt: ADDED
801 gnutls_x509_trust_list_add_crls: ADDED
802 gnutls_x509_trust_list_add_cas: ADDED
803 gnutls_x509_trust_list_init: ADDED
804 gnutls_x509_trust_list_deinit: ADDED
805 gnutls_cipher_add_auth: ADDED
806 gnutls_cipher_tag: ADDED
807 gnutls_psk_netconf_derive_key: REMOVED
808 gnutls_certificate_verify_peers: REMOVED
809 gnutls_session_set_finished_function: REMOVED
810 gnutls_ext_register: REMOVED
811 gnutls_certificate_get_x509_crls: REMOVED
812 gnutls_certificate_get_x509_cas: REMOVED
813 gnutls_certificate_get_openpgp_keyring: REMOVED
814 gnutls_session_get_server_random: REMOVED
815 gnutls_session_get_client_random: REMOVED
816 gnutls_session_get_master_secret: REMOVED
817 gnutls_ia_allocate_client_credentials: REMOVED
818 gnutls_ia_allocate_server_credentials: REMOVED
819 gnutls_ia_enable: REMOVED
820 gnutls_ia_endphase_send: REMOVED
821 gnutls_ia_extract_inner_secret: REMOVED
822 gnutls_ia_free_client_credentials: REMOVED
823 gnutls_ia_free_server_credentials: REMOVED
824 gnutls_ia_generate_challenge: REMOVED
825 gnutls_ia_get_client_avp_ptr: REMOVED
826 gnutls_ia_get_server_avp_ptr: REMOVED
827 gnutls_ia_handshake: REMOVED
828 gnutls_ia_handshake_p: REMOVED
829 gnutls_ia_permute_inner_secret: REMOVED
830 gnutls_ia_recv: REMOVED
831 gnutls_ia_send: REMOVED
832 gnutls_ia_set_client_avp_function: REMOVED
833 gnutls_ia_set_client_avp_ptr: REMOVED
834 gnutls_ia_set_server_avp_function: REMOVED
835 gnutls_ia_set_server_avp_ptr: REMOVED
836 gnutls_ia_verify_endphase: REMOVED
839 * Version 2.12.2 (released 2011-04-08)
841 ** libgnutls: Several updates and fixes for win32. Patches by LRN.
843 ** libgnutls: Several bug and memory leak fixes.
845 ** srptool: Accepts the -d option to enable debugging.
847 ** libgnutls: Corrected bug in gnutls_srp_verifier() that prevented
848 the allocation of a verifier. Reported by Andrew Wiseman.
850 ** API and ABI modifications:
851 No changes since last version.
854 * Version 2.12.1 (released 2011-04-02)
856 ** certtool: Generated certificate request with stricter permissions.
857 Reported by Luca Capello.
859 ** libgnutls: Bug fixes in opencdk code. Reported by Vitaly Kruglikov.
861 ** libgnutls: Corrected windows system_errno() function prototype.
863 ** libgnutls: C++ compatibility fix for compat.h. Reported by Mark Brand.
865 ** libgnutls: Fix size of gnutls_openpgp_keyid_t by using the
866 GNUTLS_OPENPGP_KEYID_SIZE definition. Reported by Andreas Metzler.
868 ** API and ABI modifications:
869 No changes since last version.
874 * Version 2.12.0 (released 2011-03-24)
876 ** certtool: Warns on generation of DSA keys of over 1024 bits, about
877 the incompatibility with TLS other than 1.2.
879 ** libgnutls: Modified signature algorithm selection in client
880 certificate request, to avoid failures in DSA certificates.
882 ** libgnutls: Instead of failing with internal error, return
883 GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL if an incompatible DSA
884 key with the negotiated protocol is encountered.
886 ** libgnutls: Bug fixes in the RSA ciphersuite behavior with openpgp keys.
888 ** libgnutls: Force state update when fork is detected in the nettle
891 ** libgnutls: modified gnutls_pubkey_import_openpgp() to use the preferred
892 subkey instead of setting explicitly one.
894 ** libgnutls: Corrected default behavior in record version of Client Hellos.
896 ** libgnutls-openssl: modified to use modern gnutls' functions.
897 This introduces an ABI incompatibility with previous versions.
899 ** API and ABI modifications:
900 gnutls_pubkey_import_openpgp: MODIFIED
905 ** libgnutls: The deprecated gnutls_x509_privkey_sign_hash() was
906 replaced by gnutls_privkey_sign_hash2().
908 ** libgnutls: gnutls_pubkey_verify_data, gnutls_pubkey_verify_hash,
909 gnutls_x509_privkey_verify_data, gnutls_x509_crt_verify_data,
910 gnutls_x509_crt_verify_hash return the negative error code
911 GNUTLS_E_PK_SIG_VERIFY_FAILED if verification fails to simplify error
914 ** libgnutls: Added helper functions for signature verification:
915 gnutls_pubkey_verify_data() and gnutls_pubkey_import_privkey().
917 ** libgnutls: Modified gnutls_privkey_sign_data().
919 ** gnutls_x509_crl_privkey_sign2(), gnutls_x509_crq_sign2()
920 gnutls_x509_privkey_sign_hash(), gnutls_x509_privkey_sign_data(),
921 gnutls_x509_crt_verify_hash(), gnutls_x509_crt_verify_data(), were
922 deprecated for gnutls_x509_crl_privkey_sign(),
923 gnutls_x509_crq_privkey_sign(), gnutls_privkey_sign_hash(),
924 gnutls_privkey_sign_data(), gnutls_pubkey_verify_hash()
925 gnutls_pubkey_verify_data() respectively.
927 ** libgnutls: gnutls_*_export_raw() functions now add leading zero in
930 ** libgnutls: Added convenience functions gnutls_x509_crl_list_import2()
931 and gnutls_x509_crt_list_import2().
933 ** crypto.h: Fix use with C++.
934 Reported by "Brendan Doherty" <brendand@gentrack.com>.
936 ** API and ABI modifications:
937 gnutls_x509_crl_list_import: ADDED
938 gnutls_x509_crl_list_import2: ADDED
939 gnutls_x509_crt_list_import2: ADDED
940 gnutls_x509_crl_get_raw_issuer_dn: ADDED
941 gnutls_pubkey_import_privkey: ADDED
942 gnutls_pubkey_verify_data: ADDED
943 gnutls_privkey_sign_hash: MODIFIED (was added in 2.11.0)
944 gnutls_privkey_sign_data: MODIFIED (was added in 2.11.0)
945 gnutls_x509_crq_sign2: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
946 gnutls_x509_crq_sign: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
947 gnutls_x509_crq_get_preferred_hash_algorithm: REMOVED (was added in 2.11.0)
948 gnutls_x509_crl_sign: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
949 gnutls_x509_crl_sign2: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
950 gnutls_x509_privkey_sign_data: DEPRECATED (use: gnutls_privkey_sign_data2)
951 gnutls_x509_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
952 gnutls_x509_privkey_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
953 gnutls_session_set_finished_function: DEPRECATED
954 gnutls_x509_crt_verify_hash: DEPRECATED (use: gnutls_pubkey_verify_hash)
955 gnutls_x509_crt_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
956 gnutls_x509_crt_get_verify_algorithm: DEPRECATED (use: gnutls_pubkey_get_verify_algorithm)
957 gnutls_x509_crt_get_preferred_hash_algorithm: DEPRECATED (use: gnutls_pubkey_get_preferred_hash_algorithm)
958 gnutls_openpgp_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
959 gnutls_pkcs11_privkey_sign_hash: REMOVED (was added in 2.11.0)
960 gnutls_pkcs11_privkey_decrypt_data: REMOVED (was added in 2.11.0)
961 gnutls_privkey_sign_hash: REMOVED (was added in 2.11.0)
963 * Version 2.11.6 (released 2010-12-06)
965 ** libgnutls: Record version of Client Hellos is now set by default to
966 SSL 3.0. To restore the previous default behavior use %LATEST_RECORD_VERSION
969 ** libgnutls: Use ASN1_NULL when writing parameters for RSA signatures.
970 This makes us comply with RFC3279. Reported by Michael Rommel.
972 ** gnutls-serv: Corrected a buffer overflow. Reported and patch by Tomas Mraz.
974 ** API and ABI modifications:
975 No changes since last version.
977 * Version 2.11.5 (released 2010-12-01)
979 ** libgnutls: Reverted default behavior for verification and
980 introduced GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT. Thus by default
981 V1 trusted CAs are allowed, unless the new flag is specified.
983 ** libgnutls: Correctly add leading zero to PKCS #8 encoded DSA key.
984 Reported by Jeffrey Walton.
986 ** libgnutls: Added SIGN-ALL, CTYPE-ALL, COMP-ALL, and VERS-TLS-ALL
987 as priority strings. Those allow to set all the supported algorithms
990 ** p11tool: Introduced. It allows manipulating pkcs 11 tokens.
992 ** gnutls-cli: Print channel binding only in verbose mode.
993 Before it printed it after the 'Compression:' output, thus breaking
994 Emacs starttls.el string searches.
996 ** API and ABI modifications:
997 gnutls_pkcs11_token_init: New function
998 gnutls_pkcs11_token_set_pin: New function
1000 * Version 2.11.4 (released 2010-10-15)
1002 ** libgnutls: Add new API gnutls_session_channel_binding.
1003 The function is used to get the channel binding data. Currently only
1004 the "tls-unique" (RFC 5929) channel binding type is supported, through
1005 the GNUTLS_CB_TLS_UNIQUE type. See new section "Channel Bindings" in
1008 ** gnutls-cli, gnutls-serv: Print 'tls-unique' Channel Bindings.
1010 ** doc: Added pkcs11.h header file to GTK-DOC manual.
1012 ** build: Update gnulib files.
1014 ** i18n: Update translations.
1016 ** tests: Add self tests gendh.c. Speed up Guile self checks.
1018 ** API and ABI modifications:
1019 gnutls_session_channel_binding: New function.
1020 gnutls_channel_binding_t: New enumeration.
1021 GNUTLS_CB_TLS_UNIQUE: New gnutls_channel_binding_t enum member.
1022 GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE: New error code.
1024 * Version 2.11.3 (released 2010-10-14)
1026 ** Indent code to follow the GNU Coding Standard.
1027 You should be able to unpack the 2.11.2 release and run 'make indent'
1028 twice to get exactly the same content as 2.11.3 except for generated
1029 files. Using GNU Indent 2.2.11.
1031 ** API and ABI modifications:
1032 No changes since last version.
1034 * Version 2.11.2 (released 2010-10-08)
1036 ** libgnutls: Several bug fixes on session resumption
1037 and session tickets support.
1039 ** libgnutls: Add new extended key usage ipsecIKE.
1041 ** certtool: Renamed PKCS #11 options to: --p11-provider,
1042 --p11-export-url, --p11-list-certs, --p11-list-certs,
1043 --p11-list-privkeys, --p11-list-trusted, --p11-list-all-certs,
1044 --p11-list-all, --p11-list-tokens, --p11-login, --p11-write,
1045 --p11-write-label, --p11-write-trusted, --p11-detailed-url,
1048 ** libgnutls: Corrected bug that caused importing DSA keys as RSA,
1049 introduced with the new nettle code.
1051 ** libgnutls: Corrected advertizing issue for session tickets.
1053 ** API and ABI modifications:
1054 gnutls_x509_crt_get_subject_unique_id: ADDED.
1055 gnutls_x509_crt_get_issuer_unique_id: ADDED.
1057 * Version 2.11.1 (released 2010-09-14)
1059 ** libgnutls: Nettle is the default crypto back end. Use --with-libgcrypt
1060 to use the libgcrypt back end.
1062 ** libgnutls: Depend on nettle 2.1. This makes nettle a fully working
1063 backend crypto library.
1065 ** libgnutls: Added RSA_NULL_SHA1 and SHA256 ciphersuites.
1067 ** libgnutls: Several updates in the buffering internal interface.
1069 ** libgnutls: Is now more liberal in the PEM decoding. That is spaces and
1070 tabs are being skipped.
1072 ** libgnutls: Added support for draft-pechanec-pkcs11uri-02.
1074 ** libgnutls: The %COMPAT flag now allows larger records that violate the
1077 ** libgnutls: by default lowat level has been set to zero to avoid unnecessary
1078 system calls. Applications that depended on it being 1 should explicitly call
1079 gnutls_transport_set_lowat().
1081 ** libgnutls: Updated documentation and gnutls_pk_params_t mappings
1082 to ECRYPT II recommendations. Mappings were moved to a single location
1083 and DSA keys are handled differently (since DSA2 allows for 1024,2048
1084 and 3072 keys only).
1086 ** libgnutls: gnutls_x509_privkey_import() will fallback to
1087 gnutls_x509_privkey_import_pkcs8() without a password, if it
1088 is unable to decode the key.
1090 ** libgnutls: HMAC-MD5 no longer used by default.
1092 ** API and ABI modifications:
1093 gnutls_openpgp_privkey_sec_param: ADDED
1094 gnutls_x509_privkey_sec_param: ADDED
1096 * Version 2.11.0 (released 2010-07-22)
1098 ** libgnutls: support scattered write using writev(). This takes
1099 advantage of the new buffering layer and allows queuing of packets
1100 and flushing them. This is currently used for handshake messages
1103 ** libgnutls: Added gnutls_global_set_mutex() to allow setting
1104 alternative locking procedures. By default the system available
1105 locking is used. In *NIX pthreads are used and in windows the
1106 critical section API. This follows a different approach than the
1107 previous versions that depended on libgcrypt initialization. The
1108 locks are now set by default in systems that support it. Programs
1109 that used gcry_control() to set thread locks should insert it into
1111 #if GNUTLS_VERSION_NUMBER <= 0x020b00
1115 ** libgnutls: Added support for reading DN from EV-certificates.
1117 jurisdictionOfIncorporationLocalityName,
1118 jurisdictionOfIncorporationStateOrProvinceName,
1119 jurisdictionOfIncorporationCountryName
1121 ** libgnutls: Added support for DSA signing/verifying with bit
1124 ** libgnutls-extra: When in FIPS mode gnutls_global_init_extra()
1125 has to be called to register any required md5 handlers.
1127 ** libgnutls: Internal buffering code was replaced by simpler
1128 code contributed by Jonathan Bastien-Filiatrault.
1130 ** libgnutls: Internal API for extensions augmented to allow
1131 safe storing and loading of data on resumption. This allows writing
1132 self-contained extensions (when possible). As a side effect
1133 the OPRFI extension was removed.
1135 ** libgnutls: Added support for DSA-SHA256 and DSA-SHA224
1137 ** libgnutls: Added PKCS #11 support and an API to access objects in
1138 gnutls/pkcs11.h. Currently certificates and public keys can be
1139 imported from tokens, and operations can be performed on private keys.
1141 ** libgnutls: Added abstract gnutls_privkey_t and gnutls_pubkey_t
1143 ** libgnutls: Added initial support for the nettle library. It uses
1144 the system's random generator for seeding. That is /dev/urandom in Linux,
1145 system calls in Win32 and EGD on other systems.
1147 ** libgnutls: Corrected issue on the %SSL3_RECORD_VERSION priority string. It now
1148 works even when resuming a session.
1150 ** libgnutls: Added gnutls_certificate_set_retrieve_function() to replace the
1151 similar gnutls_certificate_set_server_retrieve_function() and
1152 gnutls_certificate_set_client_retrieve_function(). In addition it support
1153 PKCS #11 private keys.
1155 ** libgnutls: Added gnutls_pkcs11_copy_x509_crt(), gnutls_pkcs11_copy_x509_privkey(),
1156 and gnutls_pkcs11_delete_url() to allow copying and deleting data in tokens.
1158 ** libgnutls: Added gnutls_sec_param_to_pk_bits() et al. to allow select bit
1159 sizes for private keys using a human understandable scale.
1161 ** certtool: Added new options: --pkcs11-list-tokens, --pkcs11-list-all
1162 --pkcs11-list-all-certs, --pkcs11-list-trusted, --pkcs11-list-certs,
1163 --pkcs11-delete-url, --pkcs11-write
1165 certtool: The --pkcs-cipher is taken into account when generating a
1166 private key. The default cipher used now is aes-128. The old behavior can
1167 be simulated by specifying "--pkcs-cipher 3des-pkcs12".
1169 certtool: Added --certificate-pubkey to print the public key of the
1172 ** gnutls-cli/gnutls-serv: --x509cafile, --x509certfile and --x509keyfile
1173 can now accept a PKCS #11 URL in addition to a file. This will allow for
1174 example to use the Gnome-keyring trusted certificate list to verify
1175 connections using a url such as:
1176 pkcs11:token=Root%20CA%20Certificates;serial=1%3AROOTS%3ADEFAULT;model=1%2E0;manufacturer=Gnome%20Keyring
1178 ** API and ABI modifications:
1179 gnutls_certificate_set_server_retrieve_function: DEPRECATED
1180 gnutls_certificate_set_client_retrieve_function: DEPRECATED
1181 gnutls_sign_callback_set: DEPRECATED
1182 gnutls_global_set_mutex: ADDED
1183 gnutls_pubkey_get_preferred_hash_algorithm: ADDED
1184 gnutls_x509_crt_get_preferred_hash_algorithm: ADDED
1185 gnutls_x509_privkey_export_rsa_raw2: ADDED
1187 gnutls_sec_param_to_pk_bits: ADDED
1188 gnutls_pk_bits_to_sec_param: ADDED
1189 gnutls_sec_param_get_name: ADDED
1190 gnutls_pkcs11_type_get_name: ADDED
1191 gnutls_certificate_set_retrieve_function: ADDED
1192 gnutls_pkcs11_init: ADDED
1193 gnutls_pkcs11_deinit: ADDED
1194 gnutls_pkcs11_set_pin_function: ADDED
1195 gnutls_pkcs11_set_token_function: ADDED
1196 gnutls_pkcs11_add_provider: ADDED
1197 gnutls_pkcs11_obj_init: ADDED
1198 gnutls_pkcs11_obj_import_url: ADDED
1199 gnutls_pkcs11_obj_export_url: ADDED
1200 gnutls_pkcs11_obj_deinit: ADDED
1201 gnutls_pkcs11_obj_export: ADDED
1202 gnutls_pkcs11_obj_list_import_url: ADDED
1203 gnutls_pkcs11_obj_export: ADDED
1204 gnutls_x509_crt_import_pkcs11: ADDED
1205 gnutls_pkcs11_obj_get_type: ADDED
1206 gnutls_x509_crt_list_import_pkcs11: ADDED
1207 gnutls_x509_crt_import_pkcs11_url: ADDED
1208 gnutls_pkcs11_obj_get_info: ADDED
1209 gnutls_pkcs11_token_get_info: ADDED
1210 gnutls_pkcs11_token_get_url: ADDED
1211 gnutls_pkcs11_privkey_init: ADDED
1212 gnutls_pkcs11_privkey_deinit: ADDED
1213 gnutls_pkcs11_privkey_get_pk_algorithm: ADDED
1214 gnutls_pkcs11_privkey_get_info: ADDED
1215 gnutls_pkcs11_privkey_import_url: ADDED
1216 gnutls_pkcs11_privkey_sign_data: ADDED
1217 gnutls_pkcs11_privkey_sign_hash: ADDED
1218 gnutls_pkcs11_privkey_decrypt_data: ADDED
1219 gnutls_privkey_init: ADDED
1220 gnutls_privkey_deinit: ADDED
1221 gnutls_privkey_get_pk_algorithm: ADDED
1222 gnutls_privkey_get_type: ADDED
1223 gnutls_privkey_import_pkcs11: ADDED
1224 gnutls_privkey_import_x509: ADDED
1225 gnutls_privkey_import_openpgp: ADDED
1226 gnutls_privkey_sign_data: ADDED
1227 gnutls_privkey_sign_hash: ADDED
1228 gnutls_privkey_decrypt_data: ADDED
1229 gnutls_pkcs11_privkey_export_url: ADDED
1230 gnutls_x509_crq_privkey_sign: ADDED
1231 gnutls_x509_crl_privkey_sign: ADDED
1232 gnutls_x509_crt_privkey_sign: ADDED
1233 gnutls_pubkey_init: ADDED
1234 gnutls_pubkey_deinit: ADDED
1235 gnutls_pubkey_get_pk_algorithm: ADDED
1236 gnutls_pubkey_import_x509: ADDED
1237 gnutls_pubkey_import_openpgp: ADDED
1238 gnutls_pubkey_get_pk_rsa_raw: ADDED
1239 gnutls_pubkey_get_pk_dsa_raw: ADDED
1240 gnutls_pubkey_export: ADDED
1241 gnutls_pubkey_get_key_id: ADDED
1242 gnutls_pubkey_get_key_usage: ADDED
1243 gnutls_pubkey_verify_hash: ADDED
1244 gnutls_pubkey_get_verify_algorithm: ADDED
1245 gnutls_pkcs11_type_get_name: ADDED
1246 gnutls_pubkey_import_pkcs11_url: ADDED
1247 gnutls_pubkey_import: ADDED
1248 gnutls_pubkey_import_pkcs11: ADDED
1249 gnutls_pubkey_import_dsa_raw: ADDED
1250 gnutls_pubkey_import_rsa_raw: ADDED
1251 gnutls_x509_crt_set_pubkey: ADDED
1252 gnutls_x509_crq_set_pubkey: ADDED
1253 gnutls_pkcs11_copy_x509_crt: ADDED
1254 gnutls_pkcs11_copy_x509_privkey: ADDED
1255 gnutls_pkcs11_delete_url: ADDED
1257 * Version 2.10.1 (released 2010-07-25)
1259 ** libgnutls: Added support for broken certificates that indicate RSA
1262 ** gnutls-cli: Allow verification using V1 CAs.
1264 ** libgnutls: gnutls_x509_privkey_import() will fallback to
1265 gnutls_x509_privkey_import_pkcs8() without a password, if it
1266 is unable to decode the key.
1268 ** libgnutls: Correctly deinitialize crypto API functions to prevent
1269 a memory leak. Reported by Mads Kiilerich.
1271 ** certtool: If asked to generate DSA keys of size more than 1024 bits,
1272 issue a warning, that the output key might not be working everywhere.
1274 ** certtool: The --pkcs-cipher is taken into account when generating a
1275 private key. The default cipher used now is aes-128. The old behavior
1276 can be simulated by specifying "--pkcs-cipher 3des-pkcs12".
1278 ** API and ABI modifications:
1279 No changes since last version.
1281 * Version 2.10.0 (released 2010-06-25)
1283 ** API and ABI modifications:
1284 No changes since last version.
1286 * Version 2.9.12 (released 2010-06-17)
1288 ** gnutls-cli: Make --starttls work again.
1289 Problem introduced in patch to use read() instead of fgets() committed
1292 ** API and ABI modifications:
1293 No changes since last version.
1295 * Version 2.9.11 (released 2010-06-07)
1297 ** libgnutls: Removed two APIs related to safe renegotiation.
1298 Use priority strings instead. The APIs were
1299 gnutls_safe_negotiation_set_initial and gnutls_safe_renegotiation_set.
1300 (Remember that we don't promise ABI stability during development
1301 series, so this doesn't cause an shared library ABI increment.)
1303 ** tests: More self testing of safe renegotiation extension.
1304 See tests/safe-renegotiation/README for more information.
1306 ** doc: a PDF version of the API reference manual (GTK-DOC) is now built.
1308 ** doc: Terms 'GNUTLS' and 'GNU TLS' were changed to 'GnuTLS' for consistency.
1310 ** API and ABI modifications:
1311 gnutls_safe_negotiation_set_initial: REMOVED.
1312 gnutls_safe_renegotiation_set: REMOVED.
1314 * Version 2.9.10 (released 2010-04-22)
1316 ** libgnutls: Time verification extended to trusted certificate list.
1317 Unless new constant GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS flag is
1320 ** certtool: Display postalCode and Name X.509 DN attributes correctly.
1321 Based on patch by Pavan Konjarla. Adds new constant
1322 GNUTLS_OID_X520_POSTALCODE and GNUTLS_OID_X520_NAME.
1324 ** libgnutls: Added Steve Dispensa's patch for safe renegotiation (RFC 5746)
1325 Solves the issue discussed in:
1326 <http://www.ietf.org/mail-archive/web/tls/current/msg03928.html> and
1327 <http://www.ietf.org/mail-archive/web/tls/current/msg03948.html>.
1328 Note that to allow connecting to unpatched servers the full protection
1329 is only enabled if the priority string %SAFE_RENEGOTIATION is
1330 specified. You can check whether protection is in place by querying
1331 gnutls_safe_renegotiation_status(). New error codes
1332 GNUTLS_E_SAFE_RENEGOTIATION_FAILED and
1333 GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED added.
1335 ** libgnutls: When checking openpgp self signature also check the signatures
1337 Ilari Liusvaara noticed and reported the issue and provided test
1340 ** libgnutls: Added cryptodev support (/dev/crypto).
1341 Tested with http://www.logix.cz/michal/devel/cryptodev/. Added
1342 benchmark utility for AES. Adds new error codes
1343 GNUTLS_E_CRYPTODEV_IOCTL_ERROR and GNUTLS_E_CRYPTODEV_DEVICE_ERROR.
1345 ** libgnutls: Exported API to access encryption and hash algorithms.
1346 The new API functions are gnutls_cipher_decrypt, gnutls_cipher_deinit,
1347 gnutls_cipher_encrypt, gnutls_cipher_get_block_size,
1348 gnutls_cipher_init, gnutls_hash, gnutls_hash_deinit, gnutls_hash_fast,
1349 gnutls_hash_get_len, gnutls_hash_init, gnutls_hash_output,
1350 gnutls_hmac, gnutls_hmac_deinit, gnutls_hmac_fast,
1351 gnutls_hmac_get_len, gnutls_hmac_init, gnutls_hmac_output. New API
1352 constants are GNUTLS_MAC_SHA224 and GNUTLS_DIG_SHA224.
1354 ** libgnutls: Added gnutls_certificate_set_verify_function() to allow
1355 verification of certificate upon receipt rather than waiting until the
1356 end of the handshake.
1358 ** libgnutls: Don't send alerts during handshake.
1359 Instead new error code GNUTLS_E_UNKNOWN_SRP_USERNAME is added.
1361 ** certtool: Corrected two issues that affected certificate request generation.
1362 (1) Null padding is added on integers (found thanks to Wilankar Trupti),
1363 (2) In optional SignatureAlgorithm parameters field for DSA keys the DSA
1364 parameters were added. Those were rejected by Verisign. Gnutls no longer adds
1365 those parameters there since other implementations don't do either and having
1366 them does not seem to offer anything (anyway you need the signer's certificate
1367 to verify thus public key will be available). Found thanks to Boyan Kasarov.
1368 This however has the side-effect that public key IDs shown by certtool are
1369 now different than previous gnutls releases.
1370 (3) the option --pgp-certificate-info will verify self signatures
1372 ** certtool: Allow exporting of Certificate requests on DER format.
1374 ** certtool: New option --no-crq-extensions to avoid extensions in CSRs.
1376 ** gnutls-cli: Handle reading binary data from server.
1377 Reported by and tiny patch from Vitaly Mayatskikh
1378 <v.mayatskih@gmail.com> in
1379 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/4096>.
1381 ** minitasn1: Upgraded to libtasn1 version 2.6.
1383 ** i18n: Updated Czech, Dutch, French, Polish, Swedish translation.
1384 ** Added Italian and Simplified Chinese translation.
1385 Thanks to Petr Pisar, Erwin Poeze, Nicolas Provost, Jakub Bogusz,
1386 Daniel Nylander, Sergio Zanchetta, Tao Wei, and Aron Xu.
1388 ** doc: The GTK-DOC manual is significantly improved.
1390 ** API and ABI modifications:
1391 %DISABLE_SAFE_RENEGOTIATION: Added to priority strings (do not use).
1392 %INITIAL_SAFE_RENEGOTIATION: Added to priority strings.
1393 %UNSAFE_RENEGOTIATION: Added to priority strings.
1394 GNUTLS_DIG_SHA224: ADDED.
1395 GNUTLS_E_CRYPTODEV_DEVICE_ERROR: ADDED.
1396 GNUTLS_E_CRYPTODEV_IOCTL_ERROR: ADDED.
1397 GNUTLS_E_SAFE_RENEGOTIATION_FAILED: ADDED.
1398 GNUTLS_E_UNKNOWN_SRP_USERNAME: ADDED.
1399 GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED: ADDED.
1400 GNUTLS_MAC_SHA224: ADDED.
1401 GNUTLS_OID_X520_NAME: ADDED.
1402 GNUTLS_OID_X520_POSTALCODE: ADDED.
1403 GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS: ADDED.
1404 GNUTLS_VERSION_MAX: ADDED.
1405 gnutls_certificate_set_verify_function: ADDED.
1406 gnutls_cipher_decrypt: ADDED.
1407 gnutls_cipher_deinit: ADDED.
1408 gnutls_cipher_encrypt: ADDED.
1409 gnutls_cipher_get_block_size: ADDED.
1410 gnutls_cipher_init: ADDED.
1412 gnutls_hash_deinit: ADDED.
1413 gnutls_hash_fast: ADDED.
1414 gnutls_hash_get_len: ADDED.
1415 gnutls_hash_init: ADDED.
1416 gnutls_hash_output: ADDED.
1418 gnutls_hmac_deinit: ADDED.
1419 gnutls_hmac_fast: ADDED.
1420 gnutls_hmac_get_len: ADDED.
1421 gnutls_hmac_init: ADDED.
1422 gnutls_hmac_output: ADDED.
1423 gnutls_safe_negotiation_set_initial: ADDED.
1424 gnutls_safe_renegotiation_set: ADDED.
1425 gnutls_safe_renegotiation_status: ADDED.
1427 * Version 2.9.9 (released 2009-11-09)
1429 ** libgnutls: Cleanups and several bug fixes.
1430 Found by Steve Grubb and Tomas Mraz.
1432 ** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
1434 ** Fix --disable-valgrind-tests.
1435 Reported by Ingmar Vanhassel in
1436 <https://savannah.gnu.org/support/?107029>.
1438 ** API and ABI modifications:
1439 No changes since last version.
1441 * Version 2.9.8 (released 2009-11-05)
1443 ** libgnutls: Fix for memory leaks on interrupted handshake.
1444 Reported by Tang Tong.
1446 ** libgnutls: Addition of support for TLS 1.2 signature algorithms
1447 ** extension and certificate verify field.
1448 This requires changes for TLS 1.2 servers and clients that use
1449 callbacks for certificate retrieval. They are now required to check
1450 with gnutls_sign_algorithm_get_requested() whether the certificate
1451 they send complies with the peer's preferences in signature
1454 ** libgnutls: In server side when resuming a session do not overwrite the
1455 ** initial session data with the resumed session data.
1457 ** libgnutls: Added support for AES-128, AES-192 and AES-256 in PKCS #8
1459 This affects also PKCS #12 encoded files. This adds the following new
1460 enums: GNUTLS_CIPHER_AES_192_CBC, GNUTLS_PKCS_USE_PBES2_AES_128,
1461 GNUTLS_PKCS_USE_PBES2_AES_192, GNUTLS_PKCS_USE_PBES2_AES_256.
1463 ** libgnutls: Fix PKCS#12 encoding.
1464 The error you would get was "The OID is not supported.". Problem
1465 introduced for the v2.8.x branch in 2.7.6.
1467 ** certtool: Added the --pkcs-cipher option.
1468 To explicitely specify the encryption algorithm to use.
1470 ** tests: Added "pkcs12_encode" self-test to check PKCS#12 functions.
1472 ** tests: Fix time bomb in chainverify self-test.
1473 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1474 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925>.
1476 ** tests: Fix expired cert in chainverify self-test.
1478 ** i18n: Vietnamese translation updated.
1479 Thanks to Clytie Siddall.
1481 ** API and ABI modifications:
1482 GNUTLS_CIPHER_AES_192_CBC: ADDED to gnutls/gnutls.h.
1483 GNUTLS_PKCS_USE_PBES2_AES_128: ADDED to gnutls/x509.h.
1484 GNUTLS_PKCS_USE_PBES2_AES_192: ADDED to gnutls/x509.h.
1485 GNUTLS_PKCS_USE_PBES2_AES_256: ADDED to gnutls/x509.h.
1486 GNUTLS_BAG_SECRET: ADDED to gnutls/pkcs12.h.
1487 GNUTLS_DIG_UNKNOWN: ADDED to gnutls/gnutls.h.
1488 gnutls_sign_algorithm_get_requested: ADDED.
1490 * Version 2.9.7 (released 2009-10-06)
1492 ** libgnutls: TLS 1.2 server mode fixes.
1493 Now interoperates against Opera. Contributed by Daiki Ueno.
1495 ** libgnutlsxx: Fix link problems.
1496 Tiny patch from Boyan Kasarov <bkasarov@gmail.com>.
1498 ** guile: Compatibility with guile 2.x.
1499 By Ludovic Courtes <ludovic.courtes@laas.fr>.
1501 ** API and ABI modifications:
1502 No changes since last version.
1504 * Version 2.9.6 (released 2009-09-22)
1506 ** libgnutls: Enable Camellia ciphers by default.
1508 ** API and ABI modifications:
1509 No changes since last version.
1511 * Version 2.9.5 (released 2009-09-10)
1513 ** libgnutls: Add new functions to extract X.509 Issuer Alternative Names.
1514 The new functions are gnutls_x509_crt_get_issuer_alt_name2,
1515 gnutls_x509_crt_get_issuer_alt_name, and
1516 gnutls_x509_crt_get_issuer_alt_othername_oid. Contributed by Brad
1517 Hards <bradh@frogmouth.net>.
1519 ** API and ABI modifications:
1520 gnutls_x509_crt_get_issuer_alt_name2: ADDED.
1521 gnutls_x509_crt_get_issuer_alt_name: ADDED.
1522 gnutls_x509_crt_get_issuer_alt_othername_oid: ADDED.
1524 * Version 2.9.4 (released 2009-09-03)
1526 ** libgnutls: Client-side TLS 1.2 and SHA-256 ciphersuites now works.
1527 The new supported ciphersuites are AES-128/256 in CBC mode with
1528 ANON-DH/RSA/DHE-DSS/DHE-RSA. Contributed by Daiki Ueno. Further,
1529 SHA-256 is now the preferred default MAC (however it is only used with
1532 ** libgnutls: Make OpenPGP hostname checking work again.
1533 The patch to resolve the X.509 CN/SAN issue accidentally broken
1534 OpenPGP hostname comparison.
1536 ** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
1537 Reported by Howard Chu <hyc@symas.com> in
1538 <https://savannah.gnu.org/support/?106975>.
1540 ** Fix use of deprecated types internally.
1541 Use of deprecated types in GnuTLS from now on will lead to a compile
1542 error, to prevent this from happening again.
1544 ** API and ABI modifications:
1545 No changes since last version.
1547 * Version 2.9.3 (released 2009-08-19)
1549 ** libgnutls: Support for TLS tickets was contributed by Daiki Ueno.
1550 The new APIs are gnutls_session_ticket_enable_client,
1551 gnutls_session_ticket_enable_server, and
1552 gnutls_session_ticket_key_generate.
1554 ** gnutls-cli, gnutls-serv: New parameter --noticket to disable TLS tickets.
1556 ** API and ABI modifications:
1557 gnutls_session_ticket_key_generate: ADDED.
1558 gnutls_session_ticket_enable_client: ADDED.
1559 gnutls_session_ticket_enable_server: ADDED.
1561 * Version 2.9.2 (released 2009-08-14)
1563 ** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
1564 By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
1565 into 1) not printing the entire CN/SAN field value when printing a
1566 certificate and 2) cause incorrect positive matches when matching a
1567 hostname against a certificate. Some CAs apparently have poor
1568 checking of CN/SAN values and issue these (arguable invalid)
1569 certificates. Combined, this can be used by attackers to become a
1570 MITM on server-authenticated TLS sessions. The problem is mitigated
1571 since attackers needs to get one certificate per site they want to
1572 attack, and the attacker reveals his tracks by applying for a
1573 certificate at the CA. It does not apply to client authenticated TLS
1574 sessions. Research presented independently by Dan Kaminsky and Moxie
1575 Marlinspike at BlackHat09. Thanks to Tomas Hoger <thoger@redhat.com>
1576 for providing one part of the patch. [GNUTLS-SA-2009-4] [CVE-2009-2730].
1578 ** libgnutls: Fix rare failure in gnutls_x509_crt_import.
1579 The function may fail incorrectly when an earlier certificate was
1580 imported to the same gnutls_x509_crt_t structure.
1582 ** minitasn1: Internal copy updated to libtasn1 v2.3.
1584 ** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
1585 Before it always returned false. Reported by Peter Hendrickson
1586 <pdh@wiredyne.com> in
1587 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668>.
1589 ** libgnutls: Fix off-by-one size computation error in unknown DN printing.
1590 The error resulted in truncated strings when printing unknown OIDs in
1591 X.509 certificate DNs. Reported by Tim Kosse
1592 <tim.kosse@filezilla-project.org> in
1593 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651>.
1595 ** libgnutls: Fix PKCS#12 decryption from password.
1596 The encryption key derived from the password was incorrect for (on
1597 average) 1 in every 128 input for random inputs. Reported by "Kukosa,
1598 Tomas" <tomas.kukosa@siemens-enterprise.com> in
1599 <http://permalink.gmane.org/gmane.network.gnutls.general/1663>.
1601 ** libgnutls: Return correct bit lengths of some MPIs.
1602 gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
1603 gnutls_dh_get_peers_public_bits. Before the reported value was
1604 overestimated. Reported by Peter Hendrickson <pdh@wiredyne.com> in
1605 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607>.
1607 ** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
1608 Report and patch by Tim Kosse <tim.kosse@filezilla-project.org> in
1609 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671>
1611 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670>.
1613 ** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
1614 Before we required that the runtime library used the same (or more
1615 recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
1616 that the runtime usage is above the minimum required. Reported by
1617 Marco d'Itri <md@linux.it> via Andreas Metzler
1618 <ametzler@downhill.at.eu.org> in <http://bugs.debian.org/540449>.
1620 ** tests: Added new self-test pkcs12_s2k_pem to detect MPI bit length error.
1622 ** tests: Improved test vectors in self-test pkcs12_s2k.
1624 ** tests: Added new self-test dn2 to detect off-by-one size error.
1626 ** tests: Fix failure in "chainverify" because a certificate have expired.
1628 ** API and ABI modifications:
1629 No changes since last version.
1631 * Version 2.9.1 (released 2009-06-08)
1633 ** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
1634 Forwarded by Martin von Gagern <Martin.vGagern@gmx.net> from
1635 <http://bugs.gentoo.org/272388>.
1637 ** tests: Added new self-tests init_roundtrip.c to detect previous problem.
1639 ** Reduce stack usage for some CRQ functions.
1641 ** Doc fixes for CRQ functions.
1643 ** API and ABI modifications:
1644 No changes since last version.
1646 * Version 2.9.0 (released 2009-05-28)
1650 ** API and ABI modifications:
1651 No changes since last version.
1653 * Version 2.8.6 (released 2010-03-15)
1655 ** libgnutls: For CSRs, don't null pad integers for RSA/DSA value.
1656 VeriSign rejected CSRs with this padding. Reported by Wilankar Trupti
1657 <trupti.wilankar@hp.com> and Boyan Kasarov <bkasarov@gmail.com>.
1659 Note: As a side effect of this change, the "public key identifier"
1660 value computed for a certificate using this version of GnuTLS will be
1661 different from values computed using earlier versions of GnuTLS.
1663 ** libgnutls: For CSRs on DSA keys, don't add DSA parameters to the
1664 ** optional SignatureAlgorithm parameter field.
1665 VeriSign rejected these CSRs. They are stricly speaking not needed
1666 since you need the signer's certificate to verify the certificate
1667 signature anyway. Reported by Wilankar Trupti
1668 <trupti.wilankar@hp.com> and Boyan Kasarov <bkasarov@gmail.com>.
1670 ** libgnutls: When checking openpgp self signature also check the signatures
1672 Ilari Liusvaara noticed and reported the issue and provided test
1675 ** libgnutls: Cleanups and several bug fixes.
1676 Found by Steve Grubb and Tomas Mraz.
1678 ** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
1680 ** Fix --disable-valgrind-tests.
1681 Reported by Ingmar Vanhassel in
1682 <https://savannah.gnu.org/support/?107029>.
1684 ** examples: Use the new APIs for printing X.509 certificate information.
1686 ** Fix build failures on Solaris.
1687 Thanks to Dagobert Michelsen <dam@opencsw.org>.
1689 ** i18n: Updated Czech, Dutch, French, Polish, Swedish and Vietnamese
1690 ** translations. Added Simplified Chinese translation.
1692 ** API and ABI modifications:
1693 No changes since last version.
1695 * Version 2.8.5 (released 2009-11-02)
1697 ** libgnutls: In server side when resuming a session do not overwrite the
1698 ** initial session data with the resumed session data.
1700 ** libgnutls: Fix PKCS#12 encoding.
1701 The error you would get was "The OID is not supported.". Problem
1702 introduced for the v2.8.x branch in 2.7.6.
1704 ** guile: Compatibility with guile 2.x.
1705 By Ludovic Courtes <ludovic.courtes@laas.fr>.
1707 ** tests: Fix expired cert in chainverify self-test.
1709 ** tests: Fix time bomb in chainverify self-test.
1710 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1711 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925>.
1713 ** API and ABI modifications:
1714 No changes since last version.
1716 * Version 2.8.4 (released 2009-09-18)
1718 ** libgnutls: Enable Camellia ciphers by default.
1720 ** libgnutls: Make OpenPGP hostname checking work again.
1721 The patch to resolve the X.509 CN/SAN issue accidentally broken
1722 OpenPGP hostname comparison.
1724 ** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
1725 Reported by Howard Chu <hyc@symas.com> in
1726 <https://savannah.gnu.org/support/?106975>.
1728 ** API and ABI modifications:
1729 No changes since last version.
1731 * Version 2.8.3 (released 2009-08-13)
1733 ** libgnutls: Fix patch for NUL in CN/SAN in last release.
1734 Code intended to be removed would lead to an read-out-bound error in
1735 some situations. Reported by Tomas Hoger <thoger@redhat.com>. A CVE
1736 code have been allocated for the vulnerability: [CVE-2009-2730].
1738 ** libgnutls: Fix rare failure in gnutls_x509_crt_import.
1739 The function may fail incorrectly when an earlier certificate was
1740 imported to the same gnutls_x509_crt_t structure.
1742 ** libgnutls-extra, libgnutls-openssl: Fix MinGW cross-compiling build error.
1744 ** tests: Made self-test mini-eagain take less time.
1748 ** API and ABI modifications:
1749 No changes since last version.
1751 * Version 2.8.2 (released 2009-08-10)
1753 ** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
1754 By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
1755 into 1) not printing the entire CN/SAN field value when printing a
1756 certificate and 2) cause incorrect positive matches when matching a
1757 hostname against a certificate. Some CAs apparently have poor
1758 checking of CN/SAN values and issue these (arguable invalid)
1759 certificates. Combined, this can be used by attackers to become a
1760 MITM on server-authenticated TLS sessions. The problem is mitigated
1761 since attackers needs to get one certificate per site they want to
1762 attack, and the attacker reveals his tracks by applying for a
1763 certificate at the CA. It does not apply to client authenticated TLS
1764 sessions. Research presented independently by Dan Kaminsky and Moxie
1765 Marlinspike at BlackHat09. Thanks to Tomas Hoger <thoger@redhat.com>
1766 for providing one part of the patch. [GNUTLS-SA-2009-4].
1768 ** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
1769 Before it always returned false. Reported by Peter Hendrickson
1770 <pdh@wiredyne.com> in
1771 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668>.
1773 ** libgnutls: Fix off-by-one size computation error in unknown DN printing.
1774 The error resulted in truncated strings when printing unknown OIDs in
1775 X.509 certificate DNs. Reported by Tim Kosse
1776 <tim.kosse@filezilla-project.org> in
1777 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651>.
1779 ** libgnutls: Return correct bit lengths of some MPIs.
1780 gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
1781 gnutls_dh_get_peers_public_bits. Before the reported value was
1782 overestimated. Reported by Peter Hendrickson <pdh@wiredyne.com> in
1783 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607>.
1785 ** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
1786 Report and patch by Tim Kosse <tim.kosse@filezilla-project.org> in
1787 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671>
1789 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670>.
1791 ** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
1792 Before we required that the runtime library used the same (or more
1793 recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
1794 that the runtime usage is above the minimum required. Reported by
1795 Marco d'Itri <md@linux.it> via Andreas Metzler
1796 <ametzler@downhill.at.eu.org> in <http://bugs.debian.org/540449>.
1798 ** minitasn1: Internal copy updated to libtasn1 v2.3.
1800 ** tests: Fix failure in "chainverify" because a certificate have expired.
1802 ** API and ABI modifications:
1803 No changes since last version.
1805 * Version 2.8.1 (released 2009-06-10)
1807 ** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
1808 Forwarded by Martin von Gagern <Martin.vGagern@gmx.net> from
1809 <http://bugs.gentoo.org/272388>.
1811 ** libgnutls: Fix PKCS#12 decryption from password.
1812 The encryption key derived from the password was incorrect for (on
1813 average) 1 in every 128 input for random inputs. Reported by "Kukosa,
1814 Tomas" <tomas.kukosa@siemens-enterprise.com> in
1815 <http://permalink.gmane.org/gmane.network.gnutls.general/1663>.
1817 ** API and ABI modifications:
1818 No changes since last version.
1820 * Version 2.8.0 (released 2009-05-27)
1822 ** doc: Fix gnutls_dh_get_prime_bits. Fix error codes and algorithm lists.
1824 ** Major changes compared to the v2.4 branch:
1826 *** lib: Linker version scripts reduces number of exported symbols.
1828 *** lib: Limit exported symbols on systems without LD linker scripts.
1830 *** libgnutls: Fix namespace issue with version symbols.
1832 *** libgnutls: Add functions to verify a hash against a certificate.
1833 gnutls_x509_crt_verify_hash: ADDED
1834 gnutls_x509_crt_get_verify_algorithm: ADDED
1836 *** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
1838 *** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
1840 *** certtool: Query for multiple dnsName subjectAltName in interactive mode.
1842 *** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
1844 *** gnutls-serv: No longer disable MAC padding by default.
1846 *** gnutls-cli: Certificate information output format changed.
1848 *** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
1849 *** and %VERIFY_ALLOW_X509_V1_CA_CRT.
1851 *** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
1853 *** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
1855 *** libgnutls: gnutls_handshake when sending client hello during a
1856 rehandshake, will not offer a version number larger than the current.
1858 *** libgnutls: New interface to get key id for certificate requests.
1859 gnutls_x509_crq_get_key_id: ADDED.
1861 *** libgnutls: gnutls_x509_crq_print will now also print public key id.
1863 *** certtool: --verify-chain now prints results of using library verification.
1865 *** libgnutls: Libgcrypt initialization changed.
1867 *** libgnutls: Small byte reads via gnutls_record_recv() optimized.
1869 *** gnutls-cli: Return non-zero exit code on error conditions.
1871 *** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
1873 *** certtool: allow setting arbitrary key purpose object identifiers.
1875 *** libgnutls: Change detection of when to use a linker version script.
1876 Use --enable-ld-version-script or --disable-ld-version-script to
1877 override auto-detection logic.
1879 *** Fix warnings and build GnuTLS with more warnings enabled.
1881 *** New API to set X.509 credentials from PKCS#12 memory structure.
1882 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
1884 *** Old libgnutls.m4 and libgnutls-config scripts removed.
1885 Please use pkg-config instead.
1887 *** libgnutls: Added functions to handle CRL extensions.
1888 gnutls_x509_crl_get_authority_key_id: ADDED
1889 gnutls_x509_crl_get_number: ADDED
1890 gnutls_x509_crl_get_extension_oid: ADDED
1891 gnutls_x509_crl_get_extension_info: ADDED
1892 gnutls_x509_crl_get_extension_data: ADDED
1893 gnutls_x509_crl_set_authority_key_id: ADDED
1894 gnutls_x509_crl_set_number: ADDED
1896 *** libgnutls: Added functions to handle X.509 extensions in Certificate
1898 gnutls_x509_crq_get_key_rsa_raw: ADDED
1899 gnutls_x509_crq_get_attribute_info: ADDED
1900 gnutls_x509_crq_get_attribute_data: ADDED
1901 gnutls_x509_crq_get_extension_info: ADDED
1902 gnutls_x509_crq_get_extension_data: ADDED
1903 gnutls_x509_crq_get_key_usage: ADDED
1904 gnutls_x509_crq_get_basic_constraints: ADDED
1905 gnutls_x509_crq_get_subject_alt_name: ADDED
1906 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
1907 gnutls_x509_crq_get_extension_by_oid: ADDED
1908 gnutls_x509_crq_set_subject_alt_name: ADDED
1909 gnutls_x509_crq_set_basic_constraints: ADDED
1910 gnutls_x509_crq_set_key_usage: ADDED
1911 gnutls_x509_crq_get_key_purpose_oid: ADDED
1912 gnutls_x509_crq_set_key_purpose_oid: ADDED
1913 gnutls_x509_crq_print: ADDED
1914 gnutls_x509_crt_set_crq_extensions: ADDED
1916 *** certtool: Print and set CRL and CRQ extensions.
1918 *** minitasn1: Internal copy updated to libtasn1 v2.1.
1920 *** examples: Now released into the public domain.
1922 *** The Texinfo and GTK-DOC manuals were improved.
1924 *** Several self-tests were added and others improved.
1926 *** API/ABI changes in GnuTLS 2.8 compared to GnuTLS 2.6.x
1927 No offically supported interfaces have been modified or removed. The
1928 library should be completely backwards compatible on both the source
1931 The shared library no longer exports some symbols that have never been
1932 officially supported, i.e., not mentioned in any of the header files.
1938 Normally when symbols are removed, the shared library version has to
1939 be incremented. This leads to a significant cost for everyone using
1940 the library. Because none of the above symbols have ever been
1941 intended for use by well-behaved applications, we decided that the it
1942 would be better for those applications to pay the price rather than
1943 incurring problems on the majority of applications.
1945 If it turns out that applications have been using unofficial
1946 interfaces, we will need to release a follow-on release on the v2.8
1947 branch to exports additional interfaces. However, initial testing
1948 suggests that few if any applications have been using any of the
1951 Although not a new change compared to 2.6.x, we'd like to remind you
1952 interfaces have been modified so that X.509 chain verification now
1953 also checks activation/expiration times on certificates. The affected
1956 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
1957 gnutls_certificate_verify_peers: Likewise.
1958 gnutls_certificate_verify_peers2: Likewise.
1959 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
1960 GNUTLS_CERT_EXPIRED: ADDED.
1961 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
1963 This change in behaviour was made during the GnuTLS 2.6.x cycle, and
1964 we gave our rationale for it in earlier release notes.
1966 The following symbols have been added to the library:
1968 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
1969 gnutls_x509_crl_get_authority_key_id: ADDED
1970 gnutls_x509_crl_get_extension_data: ADDED
1971 gnutls_x509_crl_get_extension_info: ADDED
1972 gnutls_x509_crl_get_extension_oid: ADDED
1973 gnutls_x509_crl_get_number: ADDED
1974 gnutls_x509_crl_set_authority_key_id: ADDED
1975 gnutls_x509_crl_set_number: ADDED
1976 gnutls_x509_crq_get_attribute_data: ADDED
1977 gnutls_x509_crq_get_attribute_info: ADDED
1978 gnutls_x509_crq_get_basic_constraints: ADDED
1979 gnutls_x509_crq_get_extension_by_oid: ADDED
1980 gnutls_x509_crq_get_extension_data: ADDED
1981 gnutls_x509_crq_get_extension_info: ADDED
1982 gnutls_x509_crq_get_key_id: ADDED.
1983 gnutls_x509_crq_get_key_purpose_oid: ADDED
1984 gnutls_x509_crq_get_key_rsa_raw: ADDED
1985 gnutls_x509_crq_get_key_usage: ADDED
1986 gnutls_x509_crq_get_subject_alt_name: ADDED
1987 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
1988 gnutls_x509_crq_print: ADDED
1989 gnutls_x509_crq_set_basic_constraints: ADDED
1990 gnutls_x509_crq_set_key_purpose_oid: ADDED
1991 gnutls_x509_crq_set_key_usage: ADDED
1992 gnutls_x509_crq_set_subject_alt_name: ADDED
1993 gnutls_x509_crt_get_verify_algorithm: ADDED
1994 gnutls_x509_crt_set_crq_extensions: ADDED
1995 gnutls_x509_crt_verify_hash: ADDED
1997 The following interfaces have been added to the header files:
1999 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
2000 GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
2001 GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
2002 GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
2003 GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
2004 GNUTLS_EXTRA_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
2006 The following interfaces have been deprecated:
2008 LIBGNUTLS_VERSION: DEPRECATED.
2009 LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
2010 LIBGNUTLS_VERSION_MINOR: DEPRECATED.
2011 LIBGNUTLS_VERSION_PATCH: DEPRECATED.
2012 LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
2013 LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
2015 * Version 2.7.14 (released 2009-05-26)
2017 ** libgnutls: Fix namespace issue with version symbol for libgnutls-extra.
2018 The symbol LIBGNUTLS_EXTRA_VERSION were renamed to
2019 GNUTLS_EXTRA_VERSION. The old symbol will continue to work but is
2022 ** Doc: Several typo fixes in documentation.
2023 Reported by Peter Hendrickson <pdh@wiredyne.com>.
2025 ** API and ABI modifications:
2026 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
2027 LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
2029 * Version 2.7.13 (released 2009-05-25)
2031 ** libgnutls: Fix version of some exported symbols in the shared library.
2032 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
2033 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3576>.
2035 ** tests: Handle recently expired certificates in chainverify self-test.
2036 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
2037 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3580>.
2039 ** API and ABI modifications:
2040 No changes since last version.
2042 * Version 2.7.12 (released 2009-05-20)
2044 ** gnutls-serv, gnutls-cli-debug: Make them work on Windows.
2046 ** tests/crq_key_id: Don't read entropy from /dev/random in self-test.
2047 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
2048 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3570>.
2050 ** Fix build failures.
2051 Missing sa_family_t and vsnprintf on IRIX. Reported by "Tom
2052 G. Christensen" <tgc@jupiterrise.com> in
2053 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3571>.
2055 ** minitasn1: Internal copy updated to libtasn1 v2.2.
2056 GnuTLS should work fine with libtasn1 v1.x and that is still
2059 ** API and ABI modifications:
2060 No changes since last version.
2062 * Version 2.7.11 (released 2009-05-18)
2064 ** minitasn1: Fix build failure when using internal libtasn1.
2065 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
2066 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3548>.
2068 ** libgnutls: Fix build failure with --disable-cxx.
2069 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
2070 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3557>.
2072 ** gnutls-serv: Fix build failure for unportable NI_MAXHOST/NI_MAXSERV.
2073 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
2074 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3560>
2076 ** Building with many warning flags now requires --enable-gcc-warnings.
2077 This avoids crying wolf for normal compiles.
2079 ** API and ABI modifications:
2080 No changes since last version.
2082 * Version 2.7.10 (released 2009-05-13)
2084 ** examples: Now released into the public domain.
2085 This makes the license of the example code compatible with more
2086 licenses, including the (L)GPL.
2088 ** minitasn1: Internal copy updated to libtasn1 v2.1.
2089 GnuTLS should work fine with libtasn1 v1.x and that is still
2092 ** libgnutls: Fix crash in signature verification
2093 The fix for the CVE-2009-1415 problem wasn't merged completely.
2095 ** doc: Fixes for GTK-DOC output.
2097 ** API and ABI modifications:
2098 No changes since last version.
2100 * Version 2.7.9 (released 2009-05-11)
2102 ** doc: Fix strings in man page of gnutls_priority_init.
2104 ** doc: Fix tables of error codes and supported algorithms.
2106 ** Fix build failure when cross-compiled using MinGW.
2108 ** Fix build failure when LZO is enabled.
2109 Reported by Arfrever Frehtes Taifersar Arahesis
2110 <arfrever.fta@gmail.com> in
2111 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3522>.
2113 ** Fix build failure on systems without AF_INET6, e.g., Solaris 2.6.
2114 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
2115 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3524>.
2117 ** Fix warnings in self-tests.
2119 ** API and ABI modifications:
2120 No changes since last version.
2122 * Version 2.7.8 (released 2009-05-03)
2124 ** libgnutls: Fix DSA key generation.
2125 Merged from stable branch. [GNUTLS-SA-2009-2] [CVE-2009-1416]
2127 ** libgnutls: Check expiration/activation time on untrusted certificates.
2128 Merged from stable branch. Reported by Romain Francoise
2129 <romain@orebokech.com>. This changes the semantics of
2130 gnutls_x509_crt_list_verify, which in turn is used by
2131 gnutls_certificate_verify_peers and gnutls_certificate_verify_peers2.
2132 We add two new gnutls_certificate_status_t codes for reporting the new
2133 error condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED.
2134 We also add a new gnutls_certificate_verify_flags flag,
2135 GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
2136 behaviour. [GNUTLS-SA-2009-3] [CVE-2009-1417]
2138 ** lib: Linker version scripts reduces number of exported symbols.
2139 The linker version script now lists all exported ABIs explicitly, to
2140 avoid accidentally exporting unintended functions. Compared to
2141 before, most symbols beginning with _gnutls* are no longer exported.
2142 These functions have never been intended for use by applications, and
2143 there were no prototypes for these function in the public header
2144 files. Thus we believe it is possible to do this without incrementing
2145 the library ABI version which normally has to be done when removing an
2148 ** lib: Limit exported symbols on systems without LD linker scripts.
2149 Before all symbols were exported. Now we limit the exported symbols
2150 to (for libgnutls and libgnutls-extra) gnutls* and (for libgnutls)
2151 _gnutls*. This is a superset of the actual supported ABI, but still
2152 an improvement compared to before. This is implemented using Libtool
2153 -export-symbols-regex. It is more portable than linker version
2156 ** libgnutls: Incremented CURRENT/AGE libtool version to reflect new symbols.
2157 This should have been done in the last release.
2159 ** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
2160 Reported by Peter Hendrickson <pdh@wiredyne.com> in
2161 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3476>.
2163 ** doc: Improved sections for the info manual.
2164 We now follow the advice given by the texinfo manual on which
2165 directory categories to use. In particular, libgnutls moved from the
2166 'GNU Libraries' section to the 'Software libraries' and the command
2167 line tools moved from 'Network Applications' to 'System
2170 ** API and ABI modifications:
2171 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
2172 gnutls_certificate_verify_peers: Likewise.
2173 gnutls_certificate_verify_peers2: Likewise.
2174 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
2175 GNUTLS_CERT_EXPIRED: ADDED.
2176 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
2178 * Version 2.7.7 (released 2009-04-20)
2180 ** libgnutls: Applied patch by Cedric Bail to add functions
2181 gnutls_x509_crt_verify_hash() and gnutls_x509_crt_get_verify_algorithm().
2183 ** gnutls.pc: Add -ltasn1 to 'pkg-config --libs --static gnutls' output.
2184 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
2185 <http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3467>.
2187 ** minitasn1: Internal copy updated to libtasn1 v1.8.
2188 GnuTLS is also internally ready to be used with libtasn1 v2.0.
2190 ** doc: Fix build failure of errcodes/printlist.
2191 Reported by Roman Bogorodskiy <novel@FreeBSD.org> in
2192 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3435>.
2194 ** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
2195 It is currently only used by the core library. This will enable a new
2196 domain 'gnutls' for translations of the command line tools.
2198 ** Corrected possible memory corruption on signature verification failure.
2199 Reported by Miroslav Kratochvil <exa.exa@gmail.com>
2201 ** API and ABI modifications:
2202 gnutls_x509_crt_verify_hash: ADDED
2203 gnutls_x509_crt_get_verify_algorithm: ADDED
2205 * Version 2.7.6 (released 2009-02-27)
2207 ** certtool: Query for multiple dnsName subjectAltName in interactive mode.
2208 This applies both to generating certificates and certificate requests.
2210 ** pkix.asn: Removed unneeded definitions to reduce memory usage.
2212 ** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
2213 Use --priority NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT to permit V1 CAs to
2214 be used for chain verification.
2216 ** gnutls-serv: No longer disable MAC padding by default.
2217 Use --priority NORMAL:%COMPAT to disable MAC padding again.
2219 ** gnutls-cli: Certificate information output format changed.
2220 The tool now uses libgnutls' functions to print certificate
2221 information. This avoids code duplication.
2223 ** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
2224 ** and %VERIFY_ALLOW_X509_V1_CA_CRT.
2225 They can be used to override the default certificate chain validation
2228 ** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
2229 specify the client hello message record version. Used to overcome buggy
2230 TLS servers. Report by Martin von Gagern.
2232 ** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
2234 ** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
2236 ** doc: Update gnutls-cli and gnutls-serv --help output descriptions.
2238 ** API and ABI modifications:
2239 No changes since last version.
2241 * Version 2.7.5 (released 2009-02-06)
2243 ** libgnutls: Accept chains where intermediary certs are trusted.
2244 Before GnuTLS needed to validate the entire chain back to a
2245 self-signed certificate. GnuTLS will now stop looking when it has
2246 found an intermediary trusted certificate. The new behaviour is
2247 useful when chains, for example, contains a top-level CA, an
2248 intermediary CA signed using RSA-MD5, and an end-entity certificate.
2249 To avoid chain validation errors due to the RSA-MD5 cert, you can
2250 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
2251 The signature on trusted certificates are not checked, so the chain
2252 has a chance to validate correctly. Reported by "Douglas E. Engert"
2253 <deengert@anl.gov> in
2254 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2256 ** libgnutls: result_size in gnutls_hex_encode now holds
2257 the size of the result. Report by John Brooks <special@dereferenced.net>.
2259 ** libgnutls: gnutls_handshake when sending client hello during a
2260 rehandshake, will not offer a version number larger than the current.
2261 Reported by Tristan Hill <stan@saticed.me.uk>.
2263 ** libgnutls: Permit V1 Certificate Authorities properly.
2264 Before they were mistakenly rejected even though
2265 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
2266 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
2267 "Douglas E. Engert" <deengert@anl.gov> in
2268 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2270 ** API and ABI modifications:
2271 No changes since last version.
2273 * Version 2.7.4 (released 2009-01-07)
2275 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
2276 This is a bugfix -- the previous attempt to do this from internal x509
2277 certificate verification procedures did not return the correct value
2278 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
2279 <dkg@fifthhorseman.net> in
2280 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
2281 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
2282 Gillmor <dkg@fifthhorseman.net>.
2284 ** libgnutls: New interface to get key id for certificate requests.
2285 Patch from David MarÃn Carreño <davefx@gmail.com> in
2286 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3321>.
2288 ** libgnutls: gnutls_x509_crq_print will now also print public key id.
2290 ** certtool: --verify-chain now prints results of using library verification.
2291 Earlier, certtool --verify-chain used its own validation algorithm
2292 which wasn't guaranteed to give the same result as the libgnutls
2293 internal validation algorithm. Now this command print a new final
2294 line with header 'Chain verification output:' that contains the result
2295 from using the internal verification algorithm on the same chain.
2297 ** tests: Add crq_key_id self-test of gnutls_x509_crq_get_key_id.
2299 ** API and ABI modifications:
2300 gnutls_x509_crq_get_key_id: ADDED.
2302 * Version 2.7.3 (released 2008-12-10)
2304 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
2305 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
2306 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
2307 Andreas Metzler <ametzler@downhill.at.eu.org> in
2308 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
2310 ** libgnutls: Libgcrypt initialization changed.
2311 If libgcrypt has not already been initialized, GnuTLS will now
2312 initialize libgcrypt with disabled secure memory. Initialize
2313 libgcrypt explicitly in your application if you want to enable secure
2314 memory. Before GnuTLS initialized libgcrypt to use GnuTLS's memory
2315 allocation functions, which doesn't use secure memory, so there is no
2316 real change in behaviour.
2318 ** libgnutls: Fix memory leak in PSK authentication.
2319 Reported by Michael Weiser <michael@weiser.dinsnail.net> in
2320 <http://permalink.gmane.org/gmane.network.gnutls.general/1465>.
2322 ** libgnutls: Small byte reads via gnutls_record_recv() optimized.
2324 ** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
2325 It needs to be invoked before libgcrypt is initialized.
2327 ** gnutls-cli: Return non-zero exit code on error conditions.
2329 ** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
2331 ** tests: Added chainverify self-test that tests X.509 chain verifications.
2333 ** API and ABI modifications:
2334 No changes since last version.
2336 * Version 2.7.2 (released 2008-11-18)
2338 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
2339 The flaw makes it possible for man in the middle attackers (i.e.,
2340 active attackers) to assume any name and trick GnuTLS clients into
2341 trusting that name. Thanks for report and analysis from Martin von
2342 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
2344 Any updates with more details about this vulnerability will be added
2345 to <http://www.gnu.org/software/gnutls/security.html>
2347 ** libgnutls: Fix namespace issue with version symbols.
2348 The symbols LIBGNUTLS_VERSION, LIBGNUTLS_VERSION_MAJOR,
2349 LIBGNUTLS_VERSION_MINOR, LIBGNUTLS_VERSION_PATCH, and
2350 LIBGNUTLS_VERSION_NUMBER were renamed to GNUTLS_VERSION_NUMBER,
2351 GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MINOR, GNUTLS_VERSION_PATCH, and
2352 GNUTLS_VERSION_NUMBER respectively. The old symbols will continue to
2353 work but are deprecated.
2355 ** certtool: allow setting arbitrary key purpose object identifiers.
2357 ** libgnutls: Fix detection of C99 macros, to make debug logging work again.
2359 ** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
2360 Reported by Kevin Quick <quick@sparq.org> in
2361 <https://savannah.gnu.org/support/index.php?106454>.
2363 ** libgnutls-extra: Make building with LZO compression work again.
2364 Build failure reported by Arfrever Frehtes Taifersar Arahesis
2365 <arfrever.fta@gmail.com> in
2366 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3194>.
2368 ** libgnutls: Change detection of when to use a linker version script.
2369 Use --enable-ld-version-script or --disable-ld-version-script to
2370 override auto-detection logic.
2372 ** doc: Change license on the manual to GFDLv1.3+.
2374 ** doc: GTK-DOC fixes for new splitted configuration system.
2376 ** doc: Texinfo stylesheet uses white background.
2378 ** tests: Add cve-2008-4989.c self-test.
2379 Tests regressions of the GNUTLS-SA-2008-3 security problem, and the
2380 follow-on problem with crashes on length 1 certificate chains.
2382 ** gnulib: Deprecated modules removed.
2383 Modules include memchr and memcmp.
2385 ** Fix warnings and build GnuTLS with more warnings enabled.
2387 ** minitasn1: Internal copy updated to libtasn1 v1.7.
2389 ** API and ABI modifications:
2390 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
2391 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
2392 GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
2393 GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
2394 GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
2395 GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
2396 LIBGNUTLS_VERSION: DEPRECATED.
2397 LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
2398 LIBGNUTLS_VERSION_MINOR: DEPRECATED.
2399 LIBGNUTLS_VERSION_PATCH: DEPRECATED.
2400 LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
2402 * Version 2.7.1 (released 2008-10-31)
2404 ** certtool: print a PKCS #8 key even if it is not encrypted.
2406 ** Old libgnutls.m4 and libgnutls-config scripts removed.
2407 Please use pkg-config instead.
2409 ** Configuration system modified.
2410 There is now a configure script in lib/ and libextra/ as well, because
2411 gnulib works better with a config.h per gnulib directory.
2413 ** API and ABI modifications:
2414 No changes since last version.
2416 * Version 2.7.0 (released 2008-10-16)
2418 ** libgnutls: Added functions to handle CRL extensions.
2420 ** libgnutls: Added functions to handle X.509 extensions in Certificate
2423 ** libgnutls: Improved error string for GNUTLS_E_AGAIN.
2424 Suggested by "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" <lavr@ncbi.nlm.nih.gov>.
2426 ** certtool: Print and set CRL and CRQ extensions.
2428 ** libgnutls-extra: Protect internal symbols with static.
2429 Fixes problem when linking certtool statically. Tiny patch from Aaron
2430 Ucko <ucko@ncbi.nlm.nih.gov>.
2432 ** libgnutls-openssl: fix out of bounds access.
2433 Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
2434 from Thomas Viehmann <tv@beamnet.de>.
2436 ** libgnutlsxx: Define server_session::get_srp_username even if no SRP.
2438 ** tests: Make tests compile when using internal libtasn1.
2439 Patch by ludo@gnu.org (Ludovic Courtès).
2441 ** Changed detection of libtasn1 and libgcrypt to avoid depending on *-config.
2442 We now require a libgcrypt that has Camellia constants declared in
2443 gcrypt.h, which means v1.3.0 or later.
2445 ** API and ABI modifications:
2446 gnutls_x509_crl_get_authority_key_id: ADDED
2447 gnutls_x509_crl_get_number: ADDED
2448 gnutls_x509_crl_get_extension_oid: ADDED
2449 gnutls_x509_crl_get_extension_info: ADDED
2450 gnutls_x509_crl_get_extension_data: ADDED
2451 gnutls_x509_crl_set_authority_key_id: ADDED
2452 gnutls_x509_crl_set_number: ADDED
2453 gnutls_x509_crq_get_key_rsa_raw: ADDED
2454 gnutls_x509_crq_get_attribute_info: ADDED
2455 gnutls_x509_crq_get_attribute_data: ADDED
2456 gnutls_x509_crq_get_extension_info: ADDED
2457 gnutls_x509_crq_get_extension_data: ADDED
2458 gnutls_x509_crq_get_key_usage: ADDED
2459 gnutls_x509_crq_get_basic_constraints: ADDED
2460 gnutls_x509_crq_get_subject_alt_name: ADDED
2461 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
2462 gnutls_x509_crq_get_extension_by_oid: ADDED
2463 gnutls_x509_crq_set_subject_alt_name: ADDED
2464 gnutls_x509_crq_set_basic_constraints: ADDED
2465 gnutls_x509_crq_set_key_usage: ADDED
2466 gnutls_x509_crq_get_key_purpose_oid: ADDED
2467 gnutls_x509_crq_set_key_purpose_oid: ADDED
2468 gnutls_x509_crq_print: ADDED
2469 gnutls_x509_crt_set_crq_extensions: ADDED
2471 * Version 2.6.6 (released 2009-04-30)
2473 ** libgnutls: Corrected double free on signature verification failure.
2474 Reported by Miroslav Kratochvil <exa.exa@gmail.com>. See the advisory
2475 for more details. [GNUTLS-SA-2009-1] [CVE-2009-1415]
2477 ** libgnutls: Fix DSA key generation.
2478 Noticed when investigating the previous GNUTLS-SA-2009-1 problem. All
2479 DSA keys generated using GnuTLS 2.6.x are corrupt. See the advisory
2480 for more details. [GNUTLS-SA-2009-2] [CVE-2009-1416]
2482 ** libgnutls: Check expiration/activation time on untrusted certificates.
2483 Reported by Romain Francoise <romain@orebokech.com>. Before the
2484 library did not check activation/expiration times on certificates, and
2485 was documented as not doing so. We have realized that many
2486 applications that use libgnutls, including gnutls-cli, fail to perform
2487 proper checks. Implementing similar logic in all applications leads
2488 to code duplication. Hence, we decided to check whether the current
2489 time (as reported by the time function) is within the
2490 activation/expiration period of certificates when verifying untrusted
2493 This changes the semantics of gnutls_x509_crt_list_verify, which in
2494 turn is used by gnutls_certificate_verify_peers and
2495 gnutls_certificate_verify_peers2. We add two new
2496 gnutls_certificate_status_t codes for reporting the new error
2497 condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. We also
2498 add a new gnutls_certificate_verify_flags flag,
2499 GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
2502 More details about the vulnerabilities will be posted at
2503 <http://www.gnu.org/software/gnutls/security.html>.
2505 ** gnutls-cli, gnutls-cli-debug: Fix AIX build problem.
2506 Reported by LAUPRETRE François (P) <francois.laupretre@ratp.fr> in
2507 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3468>.
2509 ** tests: Fix linking of tests/openpgp/keyring self-test.
2510 Reported by Daniel Black in <https://savannah.gnu.org/support/?106543>.
2512 ** API and ABI modifications:
2513 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
2514 gnutls_certificate_verify_peers: Likewise.
2515 gnutls_certificate_verify_peers2: Likewise.
2516 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
2517 GNUTLS_CERT_EXPIRED: ADDED.
2518 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
2520 * Version 2.6.5 (released 2009-04-11)
2522 ** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
2523 specify the client hello message record version. Used to overcome buggy
2524 TLS servers. Report by Martin von Gagern.
2526 ** GnuTLS no longer uses the libtasn1-config script to find libtasn1.
2527 Libtasn1 0.3.4 or later is required. This is to align with the
2528 upcoming libtasn1 v2.0 release that doesn't have a libtasn1-script.
2530 ** API and ABI modifications:
2531 No changes since last version.
2533 * Version 2.6.4 (released 2009-02-06)
2535 ** libgnutls: Accept chains where intermediary certs are trusted.
2536 Before GnuTLS needed to validate the entire chain back to a
2537 self-signed certificate. GnuTLS will now stop looking when it has
2538 found an intermediary trusted certificate. The new behaviour is
2539 useful when chains, for example, contains a top-level CA, an
2540 intermediary CA signed using RSA-MD5, and an end-entity certificate.
2541 To avoid chain validation errors due to the RSA-MD5 cert, you can
2542 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
2543 The signature on trusted certificates are not checked, so the chain
2544 has a chance to validate correctly. Reported by "Douglas E. Engert"
2545 <deengert@anl.gov> in
2546 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2548 ** libgnutls: result_size in gnutls_hex_encode now holds
2549 the size of the result. Report by John Brooks <special@dereferenced.net>.
2551 ** libgnutls: gnutls_handshake when sending client hello during a
2552 rehandshake, will not offer a version number larger than the current.
2553 Reported by Tristan Hill <stan@saticed.me.uk>.
2555 ** libgnutls: Permit V1 Certificate Authorities properly.
2556 Before they were mistakenly rejected even though
2557 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
2558 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
2559 "Douglas E. Engert" <deengert@anl.gov> in
2560 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2562 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
2563 This is a bugfix -- the previous attempt to do this from internal x509
2564 certificate verification procedures did not return the correct value
2565 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
2566 <dkg@fifthhorseman.net> in
2567 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
2568 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
2569 Gillmor <dkg@fifthhorseman.net>.
2571 ** libgnutls: Fix compile error with Sun CC.
2572 Reported by Jeff Cai <jeff.cai@sun.com> in
2573 <https://savannah.gnu.org/support/?106549>.
2575 ** API and ABI modifications:
2576 No changes since last version.
2578 * Version 2.6.3 (released 2008-12-12)
2580 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
2581 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
2582 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
2583 Andreas Metzler <ametzler@downhill.at.eu.org> in
2584 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
2586 ** libgnutls: Fix memory leak in PSK authentication.
2587 Reported by Michael Weiser <michael@weiser.dinsnail.net> in
2588 <http://permalink.gmane.org/gmane.network.gnutls.general/1465>.
2590 ** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
2591 It needs to be invoked before libgcrypt is initialized.
2593 ** gnutls-cli: Return non-zero exit code on error conditions.
2595 ** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
2597 ** API and ABI modifications:
2598 No changes since last version.
2600 * Version 2.6.2 (released 2008-11-12)
2602 ** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
2603 The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
2604 problem for certificate chains that contained just one self-signed
2605 certificate. Reported by Michael Meskes <meskes@debian.org> in
2606 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279>.
2608 ** API and ABI modifications:
2609 No changes since last version.
2611 * Version 2.6.1 (released 2008-11-10)
2613 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
2614 The flaw makes it possible for man in the middle attackers (i.e.,
2615 active attackers) to assume any name and trick GnuTLS clients into
2616 trusting that name. Thanks for report and analysis from Martin von
2617 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
2619 Any updates with more details about this vulnerability will be added
2620 to <http://www.gnu.org/software/gnutls/security.html>
2622 ** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
2623 Reported by Kevin Quick <quick@sparq.org> in
2624 <https://savannah.gnu.org/support/index.php?106454>.
2626 ** libgnutls-extra: Protect internal symbols with static.
2627 Fixes problem when linking certtool statically. Tiny patch from Aaron
2628 Ucko <ucko@ncbi.nlm.nih.gov>.
2630 ** libgnutls-openssl: Fix patch against X509_get_issuer_name.
2631 It incorrectly returned the subject DN instead of issuer DN in v2.6.0.
2632 Thanks to Thomas Viehmann <tv@beamnet.de> for report.
2634 ** certtool: Print a PKCS #8 key even if it is not encrypted.
2636 ** tests: Make tests compile when using internal libtasn1.
2637 Patch by ludo@gnu.org (Ludovic Courtès).
2639 ** API and ABI modifications:
2640 No changes since last version.
2642 * Version 2.6.0 (released 2008-10-06)
2644 ** libgnutls: Correct printing and parsing of IPv6 addresses.
2646 ** libgnutls-openssl: fix out of bounds access.
2647 Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
2648 from Thomas Viehmann <tv@beamnet.de>.
2650 ** certtool: Use inet_pton for parsing IPv6 addresses.
2652 ** Major changes compared to the v2.4 branch:
2654 *** Added API to replace and update the crypto backend.
2656 *** certtool: can add several subject alternative names via template file.
2658 *** opencdk: Parse (but not decrypt) encrypted secret keys.
2660 *** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
2661 either set or append alternative names. It can also handle binary structures
2662 such as IP addresses.
2664 *** libgnutls: New function to set minimum acceptable SRP bits.
2665 The function is gnutls_srp_set_prime_bits.
2667 *** libgnutls: Add interface to deal with public key and signature algorithms.
2668 The functions are called gnutls_pk_list, gnutls_pk_get_id,
2669 gnutls_sign_list, and gnutls_sign_get_id.
2671 *** libgnutls: New interfaces to get name of public key and signing algorithms.
2672 The functions are gnutls_sign_get_name and gnutls_pk_get_name.
2674 *** libgnutls: New API to get a string corresponding to a error symbol.
2675 The function is gnutls_strerror_name.
2677 *** libgnutls: New API to set the public parameters in a certificate request
2678 *** from a private key.
2679 The function is gnutls_x509_crq_set_key_rsa_raw.
2681 *** libgnutls: New API to set a callback to extract TLS Finished data.
2682 The function to register is gnutls_session_set_finished_function and
2683 it takes a callback of the gnutls_finished_callback_func type.
2685 *** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
2687 *** libgnutls: New interface to register a new TLS extension handler.
2688 The new function gnutls_ext_register can be used to register handlers
2689 for specific TLS extension types. The callback functions have the new
2690 types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
2691 classify TLS extensions, gnutls_ext_parse_type_t, has been added as
2694 *** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
2695 The function is gnutls_register_md5_handler. When libgcrypt is in
2696 FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
2699 *** API/ABI changes in GnuTLS 2.6
2700 No functions have been removed or modified. The library should be
2701 fully backwards compatible on both the source and binary level.
2703 A new header file <gnutls/crypto.h> have been added. It contains
2704 definitions related to replacing the internal crypto functionality.
2705 All definitions and the header itself is experimental but supported.
2707 We have realized that the symbols TLS_MASTER_SIZE and TLS_RANDOM_SIZE
2708 does not use the normal namespace. We have added GNUTLS_MASTER_SIZE
2709 and GNUTLS_RANDOM_SIZE, but the old symbols are still defined.
2711 The following functions have been added to libgnutls:
2715 gnutls_crypto_bigint_register2
2716 gnutls_crypto_cipher_register2
2717 gnutls_crypto_digest_register2
2718 gnutls_crypto_mac_register2
2719 gnutls_crypto_pk_register2
2720 gnutls_crypto_rnd_register2
2721 gnutls_crypto_single_cipher_register2
2722 gnutls_crypto_single_digest_register2
2723 gnutls_crypto_single_mac_register2
2728 gnutls_session_set_finished_function
2730 gnutls_sign_get_name
2732 gnutls_srp_set_prime_bits:
2733 gnutls_strerror_name
2734 gnutls_x509_crq_set_key_rsa_raw
2735 gnutls_x509_crt_set_crl_dist_points2
2736 gnutls_x509_crt_set_subject_alt_name
2738 The following functions have been added to libgnutls-extra:
2740 gnutls_register_md5_handler
2742 ** API and ABI modifications:
2743 No changes since last version.
2745 * Version 2.5.9 (released 2008-09-29)
2747 ** libgnutls: Fix several memory leaks.
2748 Reported by Sam Varshavchik <mrsam@courier-mta.com>.
2750 ** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
2751 Report and patch by Jonathan Manktelow.
2753 ** libgnutls: crypto.h gnutls_pk_params_st changes allocation strategy.
2754 The parameters are now allocated in the structure itself.
2756 ** doc: Texinfo HTML manual uses a stylesheet to improve readability.
2758 ** tests: Scripts now use EXEEXT properly.
2759 Modern libtool doesn't create wrapper script, so the self tests need
2760 to invoke certtool.exe under MinGW32+Wine.
2762 ** Uses autoconf 2.63, automake 1.10.1, libtool 2.2.6a.
2763 Automake warnings are now also enabled.
2765 ** API and ABI modifications:
2766 gnutls_pk_params_st: MODIFIED
2768 * Version 2.5.8 (released 2008-09-21)
2770 ** certtool: updated so it can add several subject alternative names using
2773 ** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
2774 either set or append alternative names. It can also handle binary structures
2775 such as IP addresses.
2777 ** libgnutls: Fix crash in hashing code when using non-libgcrypt handlers.
2779 ** libgnutls: New function to set minimum acceptable SRP bits.
2780 The function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick
2781 <quick@sparq.org> in <https://savannah.gnu.org/support/index.php?106454>.
2783 ** libgnutls: Check for overflows in gnutls_calloc and gnutls_secure_calloc.
2784 Also fix overflows in calls to those functions. Reported by Werner
2785 Koch <wk@gnupg.org>.
2787 ** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
2788 The function is gnutls_register_md5_handler. When libgcrypt is in
2789 FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
2792 ** Opencdk: Add calls to gnutls_assert to ease debugging.
2796 ** API and ABI modifications:
2797 gnutls_srp_set_prime_bits: ADDED
2798 gnutls_register_md5_handler: ADDED
2799 gnutls_x509_crt_set_crl_dist_points2: ADDED
2800 gnutls_x509_crt_set_subject_alt_name: ADDED
2802 * Version 2.5.7 (released 2008-09-16)
2804 ** libgnutls: New interfaces to get name of public key and signing algorithms.
2805 The functions are gnutls_sign_get_name and gnutls_pk_get_name.
2807 ** libgnutls: Don't crash when gnutls_credentials_set is called twice.
2809 ** libgnutls: Fix libgnutls shared library version.
2810 It wasn't properly incremented after adding symbols in the last
2813 ** manual: Now mention supported public key and public key signing algorithms.
2815 ** tests/openssl: initialize gnutls before use.
2817 ** tests/setcredcrash: New test to catch regressions of gnutls_credentials_set.
2819 ** GTK-DOC manual: mention new symbols in 2.6.x. Mention crypto.h functions.
2821 ** API and ABI modifications:
2822 gnutls_sign_get_name: ADDED
2823 gnutls_pk_get_name: ADDED
2825 * Version 2.5.6 (released 2008-09-08)
2827 ** libgnutls: Add interface to deal with public key and signature algorithms.
2828 The functions are called gnutls_pk_list, gnutls_pk_get_id,
2829 gnutls_sign_list, and gnutls_sign_get_id. Suggested by Sam
2830 Varshavchik <mrsam@courier-mta.com>.
2832 ** libgnutls: Refactor and clean up some code.
2834 ** libgnutls: Fix compile error with Sun CC.
2836 ** gnutls-cli: Improve --list output to include public key and signature algs.
2838 ** gnutls-cli, gnutls-serv: Remove --copyright parameter.
2839 Use standard --version to get license info.
2841 ** gnutls-cli.1: Document all new parameters.
2842 Thanks to James Westby <jw+debian@jameswestby.net>.
2844 ** tests: New self-test pgps2kgnu to test parsing of encrypted secrets.
2845 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2847 ** API and ABI modifications:
2848 gnutls_pk_list: ADDED
2849 gnutls_pk_get_id: ADDED
2850 gnutls_sign_list: ADDED
2851 gnutls_sign_get_id: ADDED
2853 * Version 2.5.5 (released 2008-08-29)
2855 ** libgnutls: New API to get a string corresponding to a error symbol.
2856 The function is gnutls_strerror_name.
2858 ** libgnutls: Fix include paths so that building with internal libtasn1 works.
2859 Reported by "jth.net ApS" <info@jth.net>.
2861 ** libgnutls: Fix segmentation fault when generating private keys.
2862 Reported by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2864 ** libgnutls: Remove code to import certificate chains in PKCS#7 format.
2865 The code has not worked since v0.9.0 and apparently nobody has missed
2866 it, so we decided to remove the code rather than fix it. If you have
2867 old certificate chains stored in PKCS#7 format, you can convert them
2868 to a list of PEM certificates by using 'certtool --p7-info'. Reported
2869 by Christian Grothoff <christian@grothoff.org>.
2871 ** opencdk: Parse (but not decrypt) encrypted secret keys.
2872 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2874 ** libgnutls: Fix many warnings.
2876 ** Included copy of libtasn1 is upgraded to version 1.5.
2878 ** Add French translation, thanks to Nicolas Provost.
2880 ** API and ABI modifications:
2881 gnutls_strerror_name: ADDED
2883 * Version 2.5.4 (released 2008-08-19)
2885 ** Fix secure memory initialization of libgcrypt.
2886 Reported by Joe Orton <joe@manyfish.co.uk> in
2887 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2992>.
2890 Reference to NIST SP 800-57 in the manual on key size recommendations.
2891 Added 'Since:' tags to new APIs for gtk-doc.
2893 ** API and ABI modifications:
2894 No changes since last version.
2896 * Version 2.5.3 (released 2008-08-14)
2898 ** libgnutls: New API to set the public parameters in a certificate request
2899 ** from a private key.
2900 The function is gnutls_x509_crq_set_key_rsa_raw. Inspired by
2901 discussion with "Zach C." <fxchip@gmail.com>.
2903 ** libgnutls: New API to set a callback to extract TLS Finished data.
2904 The function to register is gnutls_session_set_finished_function and
2905 it takes a callback of the gnutls_finished_callback_func type.
2907 ** libgnutls: Drop final comma after GNUTLS_CRT_PRINT_UNSIGNED_FULL in enum.
2908 Reported in <https://savannah.gnu.org/support/?106453>.
2910 ** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
2911 The new names are GNUTLS_MASTER_SIZE and GNUTLS_RANDOM_SIZE. The old
2912 names are mapped to the new names in compat.h. These mappings will
2913 likely be removed more quickly than other mappings in that file due to
2914 the namespace violation.
2916 ** libgnutlsxx: Make it build when SRP is disabled.
2918 ** doc: Add doxygen files in doc/doxygen/.
2920 ** API and ABI modifications:
2921 gnutls_x509_crq_set_key_rsa_raw: ADDED
2922 gnutls_session_set_finished_function: ADDED
2923 gnutls_finished_callback_func: ADDED
2924 GNUTLS_MASTER_SIZE: ADDED
2925 GNUTLS_RANDOM_SIZE: ADDED
2926 TLS_MASTER_SIZE: DEPRECATED
2927 TLS_RANDOM_SIZE: DEPRECATED
2929 * Version 2.5.2 (released 2008-07-08)
2931 ** libgnutls: Fix bug in gnutls_dh_params_generate2.
2932 The prime and generator was swapped.
2934 ** libgnutls: New interface to register a new TLS extension handler.
2935 The new function gnutls_ext_register can be used to register handlers
2936 for specific TLS extension types. The callback functions have the new
2937 types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
2938 classify TLS extensions, gnutls_ext_parse_type_t, has been added as
2941 ** Move more code for TLS/IA extension from libgnutls to libgnutls-extra.
2942 This was made possible by using the new gnutls_ext_register interface.
2943 The TLS/IA functionality has only been supported through the
2944 libgnutls-extra library, so it makes sense for the code to belong
2947 ** API and ABI modifications:
2948 gnutls_ext_recv_func: ADDED
2949 gnutls_ext_send_func: ADDED
2950 gnutls_ext_parse_type_t: ADDED
2951 gnutls_ext_register: ADDED
2953 * Version 2.5.1 (released 2008-07-02)
2957 ** API and ABI modifications:
2958 No changes since last version.
2960 * Version 2.5.0 (released 2008-07-02)
2962 ** Port fixes from v2.4.1 release, see below.
2964 ** Added API to replace and update the crypto backend.
2965 The header gnutls/crypto.h is now officially supported, and declares
2968 ** Rewritten opencdk crypto backend, to use the gnutls internal one.
2970 ** Update gnulib and translations.
2971 The gnulib gc crypto code has been removed since it was never finished
2972 and is no longer even used. An internal non-libgcrypt crypto
2973 implementation may be added in the future, but we'll decide that later
2976 ** API and ABI modifications:
2977 gnutls_crypto_bigint_register2: ADDED.
2978 gnutls_crypto_cipher_register2: ADDED.
2979 gnutls_crypto_digest_register2: ADDED.
2980 gnutls_crypto_mac_register2: ADDED.
2981 gnutls_crypto_pk_register2: ADDED.
2982 gnutls_crypto_rnd_register2: ADDED.
2983 gnutls_crypto_single_cipher_register2: ADDED.
2984 gnutls_crypto_single_digest_register2: ADDED.
2985 gnutls_crypto_single_mac_register2: ADDED.
2987 * Version 2.4.3 (released 2009-02-06)
2989 ** libgnutls: Accept chains where intermediary certs are trusted.
2990 Before GnuTLS needed to validate the entire chain back to a
2991 self-signed certificate. GnuTLS will now stop looking when it has
2992 found an intermediary trusted certificate. The new behaviour is
2993 useful when chains, for example, contains a top-level CA, an
2994 intermediary CA signed using RSA-MD5, and an end-entity certificate.
2995 To avoid chain validation errors due to the RSA-MD5 cert, you can
2996 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
2997 The signature on trusted certificates are not checked, so the chain
2998 has a chance to validate correctly. Reported by "Douglas E. Engert"
2999 <deengert@anl.gov> in
3000 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
3002 ** libgnutls: Permit V1 Certificate Authorities properly.
3003 Before they were mistakenly rejected even though
3004 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
3005 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
3006 "Douglas E. Engert" <deengert@anl.gov> in
3007 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
3009 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
3010 This is a bugfix -- the previous attempt to do this from internal x509
3011 certificate verification procedures did not return the correct value
3012 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
3013 <dkg@fifthhorseman.net> in
3014 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
3015 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
3016 Gillmor <dkg@fifthhorseman.net>.
3018 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
3019 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
3020 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
3021 Andreas Metzler <ametzler@downhill.at.eu.org> in
3022 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
3024 ** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
3025 The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
3026 problem for certificate chains that contained just one self-signed
3027 certificate. Reported by Michael Meskes <meskes@debian.org> in
3028 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279>.
3030 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
3031 The flaw makes it possible for man in the middle attackers (i.e.,
3032 active attackers) to assume any name and trick GnuTLS clients into
3033 trusting that name. Thanks for report and analysis from Martin von
3034 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
3036 Any updates with more details about this vulnerability will be added
3037 to <http://www.gnu.org/software/gnutls/security.html>
3039 ** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
3040 Report and patch by Jonathan Manktelow.
3042 ** libgnutls: Avoid use of non-thread safe strerror.
3044 ** API and ABI modifications:
3045 No changes since last version.
3047 * Version 2.4.2 (released 2008-09-15)
3049 ** libgnutls: Don't crash when gnutls_credentials_set is called twice.
3051 ** libgnutls: Corrected memory leak in X.509 functions.
3052 Thanks to Colin Leroy <colin@colino.net>.
3054 ** libgnutls: Fix compile error with Sun CC.
3056 ** gnutls-cli.1: Document all new parameters.
3057 Thanks to James Westby <jw+debian@jameswestby.net>.
3059 ** tests/openssl: initialize gnutls before use.
3060 Fixes crash with libgcrypt 1.4.2. Reported by Ludovic Courtes
3061 <ludovic.courtes@laas.fr>.
3063 ** doc/: Fix texinfo markup for old texinfo versions.
3065 ** Included copy of libtasn1 is upgraded to version 1.5.
3067 ** API and ABI modifications:
3068 No changes since last version.
3070 * Version 2.4.1 (released 2008-06-30)
3072 ** libgnutls: Fix local crash in gnutls_handshake. [GNUTLS-SA-2008-2]
3073 If the gnutls_handshake function is called for a normal session, which
3074 can happen for re-handshakes, the library would crash because it tried
3075 to hash some data using a libgcrypt handle that had been deallocated.
3076 Report and tiny patch from Tomas Mraz <tmraz@redhat.com>. Any updates
3077 with more details about this vulnerability will be added to
3078 <http://www.gnu.org/software/gnutls/security.html>
3080 ** libgnutls: Fix memory leaks when doing a re-handshake.
3081 Reported by Sam Varshavchik <mrsam@courier-mta.com> in
3082 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2928>.
3084 ** Fix compiler warnings.
3085 Reported by Massimo Gaspari <massimo.gaspari@alice.it> in
3086 <http://thread.gmane.org/gmane.network.gnutls.general/1281>.
3088 ** Fix ordering of -I's to avoid opencdk.h conflict with system headers.
3089 Reported by Roman Bogorodskiy <novel@FreeBSD.org> in
3090 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2930>.
3092 ** srptool: Fix a problem where --verify check does not succeed.
3093 Report and tiny patch by Matthias Koenig <mkoenig@suse.de> in
3094 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2944>.
3096 ** API and ABI modifications:
3097 No changes since last version.
3099 * Version 2.4.0 (released 2008-06-19)
3101 ** Major changes compared to the v2.2 branch:
3103 *** The OpenPGP sub-system has been improved and now supports subkeys.
3105 *** The PSK sub-system has been improved and now supports password
3106 *** derivation and PSK identity hints.
3107 The password derivation algorithms support is documented in
3108 draft-ietf-netconf-tls-02.txt.
3110 *** The certtool --inder and --outder has been replaced by --inraw and --outraw.
3111 This aligns terminology with OpenPGP, which doesn't use DER encoding.
3112 The old parameters will continue to work for some time.
3114 *** Certtool now confirm passwords and changes permissions of private key files.
3116 *** The default handshake size limit has been increased to 48kb.
3117 It appears as if some valid handshakes are large due to sending many
3118 CA certificates. (The earlier limit was 16kb.)
3120 *** LZO compression is now disabled by default.
3121 The main reason is that LZO compression in TLS is not standardized,
3122 but license compatiblity issues with minilzo triggered us to make this
3125 *** Improvements for cross-compilation to Windows and OpenWRT.
3127 *** The look of the GTK-DOC manual has been improved.
3128 Major developer visible changes compared to the v2.2 branch:
3130 *** Full OpenPGP support is part of libgnutls, licensed under the LGPL.
3132 *** New APIs to access the raw X.509 Subject and Issuer DN's and
3133 *** elements from the certificate credentials structure.
3134 Thanks to Joe Orton.
3136 *** New APIs to improve working with username/passwords and PSK.
3138 *** Names of constants to affect certificate printing changed.
3139 The constants are used for OpenPGP too, which the names didn't
3140 reflect, so the following name change has been made:
3143 GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
3144 GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
3145 GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
3147 The old names will be mapped to the new names for some time.
3149 *** The function gnutls_openpgp_privkey_get_id has been renamed to
3150 *** gnutls_openpgp_privkey_get_key_id.
3151 A compatibility mapping exists to avoid breaking API backwards
3154 *** Replaced all uses of alloca with malloc and free.
3156 *** We no longer build with -D_REENTRANT -D_THREAD_SAFE.
3157 We have been unable to find a documented rationale for this practice.
3159 *** Of course, many smaller fixes have been made, see the ChangeLog file.
3161 *** API/ABI changes in GnuTLS 2.4
3162 All OpenPGP related functions have been moved from libgnutls-extra to
3163 libgnutls, and several new functions have been added (see below).
3164 Before making the release, we discussed whether moving functions from
3165 libgnutls-extra to libgnutls would require us to increment the ABI
3166 version, but the general opinion was that this would not be required.
3167 All older functions continue to work the same. We are open to the
3168 possibility that this decision will lead to problem on some platform,
3169 and if it turns out that the Right Thing should have been to increment
3170 the shared library version, we would need to release an update within
3171 the 2.4.x branch that increments the shared library version.
3173 This release adds the following functions:
3175 gnutls_psk_client_get_hint
3176 gnutls_psk_set_server_credentials_hint
3177 gnutls_psk_netconf_derive_key
3179 Used to get/set the PSK identity hint, and derive PSK keys from
3180 passwords a'la netconf.
3182 gnutls_x509_dn_deinit
3183 gnutls_x509_dn_export
3184 gnutls_x509_dn_import
3187 Used to handle X.509 Certificate DN's directly.
3191 Converts a data buffer to hex. Useful for handling PSK/SRP shared
3194 gnutls_certificate_get_x509_cas
3195 gnutls_certificate_get_x509_crls
3196 gnutls_certificate_get_openpgp_keyring
3198 Functions for direct access to credential elements.
3200 gnutls_openpgp_crt_get_auth_subkey
3201 gnutls_openpgp_crt_get_key_id
3202 gnutls_openpgp_crt_get_pk_dsa_raw
3203 gnutls_openpgp_crt_get_pk_rsa_raw
3204 gnutls_openpgp_crt_get_preferred_key_id
3205 gnutls_openpgp_crt_get_revoked_status
3206 gnutls_openpgp_crt_get_subkey_count
3207 gnutls_openpgp_crt_get_subkey_creation_time
3208 gnutls_openpgp_crt_get_subkey_expiration_time
3209 gnutls_openpgp_crt_get_subkey_fingerprint
3210 gnutls_openpgp_crt_get_subkey_id
3211 gnutls_openpgp_crt_get_subkey_idx
3212 gnutls_openpgp_crt_get_subkey_pk_algorithm
3213 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
3214 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
3215 gnutls_openpgp_crt_get_subkey_revoked_status
3216 gnutls_openpgp_crt_get_subkey_usage
3217 gnutls_openpgp_crt_print
3218 gnutls_openpgp_crt_set_preferred_key_id
3219 gnutls_openpgp_keyring_get_crt
3220 gnutls_openpgp_keyring_get_crt_count
3221 gnutls_openpgp_privkey_export
3222 gnutls_openpgp_privkey_export_dsa_raw
3223 gnutls_openpgp_privkey_export_rsa_raw
3224 gnutls_openpgp_privkey_export_subkey_dsa_raw
3225 gnutls_openpgp_privkey_export_subkey_rsa_raw
3226 gnutls_openpgp_privkey_get_fingerprint
3227 gnutls_openpgp_privkey_get_key_id
3228 gnutls_openpgp_privkey_get_pk_algorithm
3229 gnutls_openpgp_privkey_get_preferred_key_id
3230 gnutls_openpgp_privkey_get_revoked_status
3231 gnutls_openpgp_privkey_get_subkey_count
3232 gnutls_openpgp_privkey_get_subkey_creation_time
3233 gnutls_openpgp_privkey_get_subkey_expiration_time
3234 gnutls_openpgp_privkey_get_subkey_fingerprint
3235 gnutls_openpgp_privkey_get_subkey_id
3236 gnutls_openpgp_privkey_get_subkey_idx
3237 gnutls_openpgp_privkey_get_subkey_pk_algorithm
3238 gnutls_openpgp_privkey_get_subkey_revoked_status
3239 gnutls_openpgp_privkey_set_preferred_key_id
3241 New OpenPGP related functions.
3243 The function gnutls_openpgp_crt_get_key_id is the same as the old
3244 from gnutls_openpgp_crt_get_id, see above.
3246 The release also adds a new header file 'gnutls/crypto.h', however it
3247 is currently not used.
3249 ** libgnutls [OpenPGP]: New APIs to retrieve fingerprint from OpenPGP subkeys.
3250 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
3252 ** API and ABI modifications:
3253 gnutls_openpgp_crt_get_subkey_fingerprint: ADDED.
3254 gnutls_openpgp_privkey_get_subkey_fingerprint: ADDED.
3256 * Version 2.3.15 (released 2008-06-15)
3258 ** Disable the openpgp-certs self-tests.
3259 It results in failure under Wine and doesn't work on Debian buildds.
3261 ** API and ABI modifications:
3262 No changes since last version.
3264 * Version 2.3.14 (released 2008-06-11)
3266 ** libgnutls [OpenPGP]: Changed OpenPGP verification behaviour.
3267 An OpenPGP certificate is now only considered verified if all the user
3270 ** Examples: Make C++ example compile.
3271 Earlier it may have failed with an unresolved reference to strlen.
3273 ** Documentation: Doc fix for gnutls_x509_crt_get_extension_oid.
3274 Reported by Sam Varshavchik <mrsam@courier-mta.com>.
3276 ** API and ABI modifications:
3277 No changes since last version.
3279 * Version 2.3.13 (released 2008-06-07)
3281 ** libgnutls [OpenPGP]: Make OpenPGP handshakes work again.
3283 ** doc/: Add psktool to info index. Some minor cleanups.
3285 ** tests/: Added non-forking TLS handshake test, see tests/mini.c.
3287 ** tests/: Added libgcrypt.supp which can be used with valgrind.
3288 The file suppresses the known libgcrypt memory leaks, so they aren't
3289 printed when you run valgrind on the gnutls self-tests. Use it as
3290 follows: valgrind --suppressions=libgcrypt.supp ./x509self or add
3291 '--suppressions=/home/you/src/gnutls/tests/libgcrypt.supp' to your
3294 ** tests/: Reduce amount of debugging output by default.
3295 Use --verbose for each test to get the full output.
3297 ** tests/: Fix memory leaks in several self-tests.
3298 None of the self tests should be leaking memory when running valgrind
3299 or similar tools. (Known exceptions are dhepskself, pskself, and
3300 set_pkcs12_cred, which appear likely to be due to memory leaks in the
3303 ** API and ABI modifications:
3304 No changes since last version.
3306 * Version 2.3.12 (released 2008-06-04)
3308 ** Merge gnutls_with_netconf branch.
3310 *** libgnutls [PSK]: New API to retrieve PSK identity hint in client.
3311 The function is gnutls_psk_client_get_hint.
3313 *** libgnutls [PSK]: New API to set PSK identity hint in server.
3314 The function is gnutls_psk_set_server_credentials_hint.
3316 *** libgnutls [PSK]: Support server key exchange with PSK identity hint.
3317 In the client, the message is parsed and the application can use
3318 gnutls_psk_client_get_hint to retrieve the hint. In the server, the
3319 message is sent if the application has specified a PSK identity hint
3320 using gnutls_psk_set_server_credentials_hint.
3322 *** libgnutls [PSK]: Support Netconf PSK key derivation.
3323 The function gnutls_psk_netconf_derive_key supports the PSK key