1 GnuTLS NEWS -- History of user-visible changes. -*- outline -*-
2 Copyright (C) 2000-2011 Free Software Foundation, Inc.
3 See the end for copying conditions.
5 * Version 3.0.9 (unreleased)
7 ** doc: man pages for API functions generation was fixed and are
8 now added again in the distribution.
10 ** API and ABI modifications:
11 No changes since last version.
14 * Version 3.0.8 (released 2011-11-12)
16 ** certtool: Certtool -e returns error code on verification
19 ** certtool: Verifies parameters of generated keys.
21 ** libgnutls: Corrected ECC key generation (introduced in 3.0.6)
23 ** libgnutls: Provide less timing information when decoding
24 TLS/DTLS record packets.
26 ** doc: man pages for API functions were removed.
27 The reason was that the code that auto-generated the man pages missed
28 many APIs and we couldn't fix it (volunteers welcome). See the info
29 manual or the GTK-DOC manual instead.
31 ** API and ABI modifications:
32 gnutls_x509_privkey_verify_params: Added
35 * Version 3.0.7 (released 2011-11-08)
37 ** libgnutls: Corrected fix in gnutls_session_get_data()
38 to report the actual session size when the provided buffer
41 ** libgnutls: Fixed ciphersuite GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
42 which was using a wrong MAC algorithm. Reported by Fabrice Gautier.
44 ** API and ABI modifications:
45 No changes since last version.
48 * Version 3.0.6 (released 2011-11-07)
50 ** gnutls-guile: Compilation fixes.
52 ** libgnutls: Fixed possible buffer overflow in
53 gnutls_session_get_data(). Reported and fix by Alban Crequy.
55 ** libgnutls: Bug fixes in the ciphersuites with NULL cipher.
56 Reported by Fabrice Gautier.
58 ** libgnutls: Bug fixes in ECC code for 64-bit MIPS systems.
59 Thanks to Joseph Graham for providing access to such a system.
61 ** libgnutls: Correctly report ECC private key parsing errors.
62 Reported by Fabrice Gautier.
64 ** libgnutls: In ECDHE verify that the received point lies on
65 the selected curve. The ECDHE ciphersuites now take precendence
68 ** API and ABI modifications:
69 No changes since last version.
72 * Version 3.0.5 (released 2011-10-27)
74 ** libgnutls-extra: is no more
76 ** libgnutls: Corrections in order to compile with mingw32.
78 ** libgnutls: Corrections in VIA padlock code for VIA C5 processor
79 and new detection of PHE with support for partial hashing.
81 ** libgnutls: Corrected bug in gnutls_x509_data2hex. Report and fix
84 ** minitasn1: Upgraded to libtasn1 version 2.10.
86 ** API and ABI modifications:
87 No changes since last version.
90 * Version 3.0.4 (released 2011-10-15)
92 ** libgnutls-extra: gnutls_register_md5_handler() was
95 ** gnutls-cli-debug: Added more tests including AES-GCM,
96 SHA256 and elliptic curves.
98 ** gnutls-cli: Added --benchmark-soft-ciphers to benchmark
99 the software version of the ciphers instead of hw accelerated
102 ** libgnutls: Public key ID calculation is consistent among
103 all structures. It uses a SHA-1 hash of the subjectPublicKeyInfo.
105 ** libgnutls: gnutls_privkey_t allows setting external callback
106 to perform signing or decryption. Can be set using
107 gnutls_privkey_import_ext()
109 ** libgnutls: A certificate credentials structure can be
110 used with a gnutls_privkey_t and a gnutls_pcert_st
111 structure using gnutls_certificate_set_key().
113 ** libgnutls: Fixes to enable external signing callback to
114 operate with TLS 1.2.
116 ** libgnutls: Fixed crash when printing ECDSA certificate key
117 ID. Reported by Erik Jensen.
119 ** libgnutls: Corrected VIA padlock code for C3. In C3 benchmarks
120 show a 50x increase in AES speed and a 14x increase in VIA nano. Added
121 support for hashes and HMACs.
123 ** libgnutls: Compilation fixed when p11-kit is not detected.
125 ** libgnutls: Fixed the deflate compression code.
127 ** libgnutls: Added gnutls_x509_crt_get_authority_info_access.
128 Used to get the PKIX Authority Information Access (AIA) field.
130 ** libgnutls: gnutls_x509_crt_print supports printing AIA fields.
132 ** libgnutls: Added ability to gnutls_privkey_t to operate with
133 signing callback function.
135 ** API and ABI modifications:
136 gnutls_x509_crt_get_authority_info_access (x509.h): Added function.
137 gnutls_privkey_import_ext: Added function.
138 gnutls_certificate_set_key: Added function.
139 gnutls_info_access_what_t (x509.h): Added enum.
140 GNUTLS_OID_AIA (x509.h): Added symbol.
141 GNUTLS_OID_AD_OCSP (x509.h): Added symbol.
142 GNUTLS_OID_AD_CAISSUERS (x509.h): Added symbol.
144 * Version 3.0.3 (released 2011-09-18)
146 ** libgnutls: Added gnutls_record_get_discarded() to return the
147 number of discarded records in a DTLS session.
149 ** libgnutls: All functions related to RSA-EXPORT were deprecated.
150 Support for RSA-EXPORT ciphersuites will be ceased in future versions.
152 ** libgnutls: Memory leak fixes in credentials private key
153 deinitialization. Reported by Dan Winship.
155 ** libgnutls: Memory leak fixes in ECC ciphersuites.
157 ** libgnutls: Do not send an empty extension structure in server
158 hello. This affected old implementations that do not support extensions.
159 Reported by J. Cameijo Cerdeira.
161 ** libgnutls: Allow CA importing of 0 certificates to succeed.
162 Reported by Jonathan Nieder <jrnieder@gmail.com> in
163 <http://bugs.debian.org/640639>.
165 ** libgnutls: Added support for VIA padlock AES optimizations.
166 (disabled by default)
168 ** libgnutls: Added support for elliptic curves in
171 ** libgnutls: Added gnutls_pkcs11_privkey_generate()
172 to allow generating a key in a token.
174 ** p11tool: Added generate-rsa, generate-dsa and
175 generate-ecc options to allow generating private
178 ** libgnutls: gnutls_transport_set_lowat dummy macro was
181 ** API and ABI modifications:
182 gnutls_pkcs11_privkey_generate: Added
183 gnutls_pubkey_import_ecc_raw: Added
184 gnutls_pubkey_import_ecc_x962: Added
185 gnutls_pubkey_get_pk_ecc_x962: Added
186 gnutls_record_get_discarded: Added
189 * Version 3.0.2 (released 2011-09-01)
191 ** libgnutls: OpenPGP certificate type is not enabled
194 ** libgnutls: Added %NO_EXTENSIONS priority string.
196 ** libgnutls: Corrected issue in gnutls_record_recv()
197 triggered on encryption or compression error.
199 ** libgnutls: Compatibility fixes in CPU ID detection
200 for i386 and old GCC.
202 ** gnutls-cli: Benchmark applications were incorporated
205 ** libgnutls: Corrected parsing of XMPP subject
208 ** libgnutls: Allow for out-of-order ChangeCipherSpec
211 ** libgnutls: gnutls_certificate_set_x509_key() and
212 gnutls_certificate_set_openpgp_key() operate as in 2.10.x
213 and allow the release of the private key during the
214 lifetime of the certificate structure.
216 ** API and ABI modifications:
217 GNUTLS_PRIVKEY_IMPORT_COPY: new gnutls_privkey_import() flag
220 * Version 3.0.1 (released 2011-08-20)
222 ** libgnutls: gnutls_certificate_set_x509_key_file() and
223 friends support server name indication. If multiple
224 certificates are set using these functions the proper one
225 will be selected during a handshake.
227 ** libgnutls: Added AES-256-GCM which was left out from
228 the previous release. Reported by Benjamin Hof.
230 ** libgnutls: When asking for a PKCS# 11 PIN multiple
231 times, the flags in the callback were not being updated
232 to reflect for PIN low count or final try.
234 ** libgnutls: Do not allow second instances of PKCS #11
237 ** libgnutls: fixed alignment issue in AES-NI code.
239 ** libgnutls: The config file at gnutls_pkcs11_init()
240 is being read if provided.
242 ** libgnutls: Ensure that a certificate list specified
243 using gnutls_certificate_set_x509_key() and friends, is
244 sorted according to TLS specification (from subject to issuer).
246 ** libgnutls: Added GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag for
247 gnutls_x509_crt_list_import. It checks whether the list to be
248 imported is properly sorted.
250 ** crywrap: Added to the distribution. It is an application
251 that proxies TLS session to a port using a plaintext service.
253 ** doc: Many GTK-DOC improvements.
255 ** i18n: Translations were updated.
257 ** API and ABI modifications:
258 GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED: New element in gnutls_certificate_import_flags
259 GNUTLS_PKCS11_PIN_WRONG: New flag for PIN callback
262 * Version 3.0.0 (released 2011-07-29)
264 ** libgnutls: writev_emu: stop on the first incomplete write. Patch by
267 ** libgnutls: Fix zlib handling in gnutls.pc. Patch by Andreas
270 ** certtool: bug fixes in certificate request generation. Patch
273 ** API and ABI modifications:
274 gnutls_pcert_list_import_x509_raw: ADDED
277 * Version 2.99.4 (released 2011-07-23)
279 ** doc: documentation updates.
281 ** libgnutls: gnutls_rsa_params_t is now identical to gnutls_x509_privkey_t
282 to avoid thread-safety issues. Reported by Sam Varshavchik.
284 ** libgnutls: Added compatibility mode with /etc/gnutls/pkcs11.conf
286 ** libgnutls: license upgraded to LGPLv3
288 ** libgnutls: gnutls_srp_verifier() returns data allocated with gnutls_malloc()
291 ** API and ABI modifications:
292 No changes since last version.
295 * Version 2.99.3 (released 2011-06-18)
297 ** libgnutls: Added new PKCS #11 flags to force an object being private or
298 not. (GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE and GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE)
300 ** libgnutls: Added SUITEB128 and SUITEB192 priority
301 strings to enable the NSA SuiteB cryptography ciphersuites.
303 ** libgnutls: Added gnutls_pubkey_verify_data2() that will
304 verify data provided the signature algorithm.
306 ** libgnutls: Simplified the handling of handshake messages to
307 be hashed. Instead of hashing during the handshake process we now
308 keep the data until handshake is over and hash them on request.
309 This uses more memory but eliminates issues with TLS 1.2 and
312 ** libgnutls: Added AES-GCM optimizations using the PCLMULQDQ
313 instruction. Uses Andy Polyakov's assembly code.
315 ** libgnutls: Added gnutls_x509_trust_list_add_named_crt() and
316 gnutls_x509_trust_list_verify_named_crt() that allow having a
317 list of certificates in the trusted list that will be associated
318 with a name (e.g. server name) and will not be used as CAs.
320 ** libgnutls: PKCS #11 back-end rewritten to use p11-kit
321 http://p11-glue.freedesktop.org/p11-kit.html. Rewrite by
324 ** libgnutls: Added ECDHE-PSK ciphersuites for TLS (RFC 5489).
326 ** API and ABI modifications:
327 gnutls_pubkey_verify_data2: ADDED
328 gnutls_ecc_curve_get: ADDED
329 gnutls_x509_trust_list_add_named_crt: ADDED
330 gnutls_x509_trust_list_verify_named_crt: ADDED
331 gnutls_x509_privkey_verify_data: REMOVED
332 gnutls_crypto_bigint_register: REMOVED
333 gnutls_crypto_cipher_register: REMOVED
334 gnutls_crypto_digest_register: REMOVED
335 gnutls_crypto_mac_register: REMOVED
336 gnutls_crypto_pk_register: REMOVED
337 gnutls_crypto_rnd_register: REMOVED
338 gnutls_crypto_single_cipher_register: REMOVED
339 gnutls_crypto_single_digest_register: REMOVED
340 gnutls_crypto_single_mac_register: REMOVED
341 GNUTLS_KX_ECDHE_PSK: New key exchange method
342 GNUTLS_VERIFY_DISABLE_CRL_CHECKS: New certificate verification flag.
343 GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE: New PKCS#11 object flag.
344 GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE: New PKCS#11 object flag.
347 * Version 2.99.2 (released 2011-05-26)
349 ** libgnutls: Added Elliptic curve support. This is not
350 enabled by default. Requires priority strings:
351 +CURVE-ALL: to add all supported curves
352 +ECDHE-RSA: to add ephemeral ECDHE with an RSA-signed certificate
353 +ECDHE-ECDSA: to add ephemeral ECDHE with an ECDSA-signed certificate
354 +ANON-ECDHE: to add anonymous ECDH
356 ** libgnutls: PKCS #11 URLs conform to the latest draft
357 being http://tools.ietf.org/html/draft-pechanec-pkcs11uri-04.
359 ** certtool: Can now load private keys and public keys from PKCS #11 tokens
362 ** libgnutls: Added gnutls_global_set_audit_log_function() that allows
363 to get important auditing information including the corresponding session.
364 That might be useful to block DoS or other attacker from specific IPs.
366 ** libgnutls: gnutls_pkcs11_privkey_import_url() will now correctly read
367 the public key algorithm of the key.
369 ** libgnutls: Added gnutls_certificate_get_issuer() and
370 gnutls_x509_trust_list_get_issuer() to compensate for the
371 missing gnutls_certificate_get_x509_cas().
373 ** libgnutls: Added gnutls_x509_crq_verify() to allow
374 verification of the self signature in a certificate request.
375 This allows verifying whether the owner of the private key
376 is the generator of the request.
378 ** libgnutls: gnutls_x509_crt_set_crq() implicitly verifies
379 the self signature of the request.
381 ** API and ABI modifications:
382 gnutls_certificate_get_issuer: ADDED
383 gnutls_x509_trust_list_get_issuer: ADDED
384 gnutls_x509_crq_verify: ADDED
385 gnutls_global_set_audit_log_function: ADDED
386 gnutls_ecc_curve_get_name: ADDED
387 gnutls_ecc_curve_get_size: ADDED
388 gnutls_x509_privkey_import_ecc_raw: ADDED
389 gnutls_x509_privkey_export_ecc_raw: ADDED
390 gnutls_global_set_time_function: ADDED
392 GNUTLS_E_ECC_NO_SUPPORTED_CURVES: New error code
393 GNUTLS_E_ECC_UNSUPPORTED_CURVE: New error code
394 GNUTLS_KX_ECDHE_RSA: New key exchange method
395 GNUTLS_KX_ECDHE_ECDSA: New key exchange method
396 GNUTLS_KX_ANON_ECDH: New key exchange method
397 GNUTLS_PK_ECC: New public key algorithm
398 GNUTLS_SIGN_ECDSA_SHA1: New signature algorithm
399 GNUTLS_SIGN_ECDSA_SHA256: New signature algorithm
400 GNUTLS_SIGN_ECDSA_SHA384: New signature algorithm
401 GNUTLS_SIGN_ECDSA_SHA512: New signature algorithm
402 GNUTLS_SIGN_ECDSA_SHA224: New signature algorithm
403 GNUTLS_ECC_CURVE_INVALID: New curve definition
404 GNUTLS_ECC_CURVE_SECP224R1: New curve definition
405 GNUTLS_ECC_CURVE_SECP256R1: New curve definition
406 GNUTLS_ECC_CURVE_SECP384R1: New curve definition
407 GNUTLS_ECC_CURVE_SECP521R1: New curve definition
410 * Version 2.99.1 (released 2011-04-23)
412 ** libgnutls: LZO support was removed.
414 ** libgnutls: Corrections in SSLv2 client hello parsing.
416 ** libgnutls: Added support for AES-NI if detected. Uses
417 Andy Polyakov's AES-NI code.
419 ** libgnutls: Restored HMAC-MD5 for compatibility. Although considered
420 weak, several sites require it for connection. It is enabled for
421 "NORMAL" and "PERFORMANCE" priority strings.
423 ** libgnutls: depend on libdl.
425 ** libgnutls-extra: Dropped support of LZO compression via liblzo.
427 ** libgnutls: gnutls_transport_set_global_errno() was removed. This
428 function required GnuTLS to access system specific data, for no reason.
429 Use gnutls_transport_set_errno(), or your system's errno fascility
432 ** libgnutls: Added gnutls_certificate_set_retrieve_function2()
433 to set a callback to retrieve a certificate. The certificate is
434 received in a format that requires no processing from gnutls thus
435 it is suitable when performance is required.
437 ** API and ABI modifications:
438 gnutls_transport_set_global_errno: REMOVED
439 gnutls_certificate_set_retrieve_function2: ADDED
441 * Version 2.99.0 (released 2011-04-09)
443 ** libgnutls: Added Datagram TLS support.
445 ** libgnutls: Uses a single configure file and a single
446 gnulib library to save space.
448 ** libgnutls: Several bug fixes.
450 ** libgnutls: gnutls_transport_set_lowat() is no more.
452 ** libgnutls-openssl: modified to use modern gnutls' functions.
453 This introduces an ABI incompatibility with previous versions.
455 ** libgnutls: Corrected signature generation and verification
456 in the Certificate Verify message when in TLS 1.2. Reported
459 ** libgnutlsxx: The C++ interface returns exception on
460 every error and not only on fatal ones. This allows easier
463 ** libgnutls: Corrected issue in DHE-PSK ciphersuites that ignored
466 ** libgnutls: SRP and PSK are no longer set on the default priorities.
467 They have to be explicitly set.
469 ** libgnutls: During handshake message verification using DSS
470 use the hash algorithm required by it.
472 ** libgnutls: gnutls_recv() return GNUTLS_E_PREMATURE_TERMINATION
473 on unexpected EOF, instead of GNUTLS_E_UNEXPECTED_PACKET_LENGTH.
475 ** libgnutls: Added GCM mode (interoperates with tls.secg.org)
477 ** libgnutls-extra: Inner application extension was removed.
478 It was never standardized nor published as an RFC.
480 ** libgnutls: Added new certificate verification functions, that
481 can provide more details and are more efficient. Check
482 gnutls_x509_trust_list_*.
484 ** certtool: Uses the new certificate verification functions for
487 ** certtool: Added new certificate verification functionality
488 using the --verify option. Combined with --load-ca-certificate
489 it can verify a certificate chain against a list of certificates.
491 ** Several files unnecessarily included <gcrypt.h>; this has been fixed.
493 ** API and ABI modifications:
494 gnutls_dtls_set_timeouts: ADDED
495 gnutls_dtls_get_mtu: ADDED
496 gnutls_dtls_get_data_mtu: ADDED
497 gnutls_dtls_set_mtu: ADDED
498 gnutls_dtls_cookie_send: ADDED
499 gnutls_dtls_cookie_verify: ADDED
500 gnutls_dtls_prestate_set: ADDED
501 gnutls_x509_trust_list_verify_crt: ADDED
502 gnutls_x509_trust_list_add_crls: ADDED
503 gnutls_x509_trust_list_add_cas: ADDED
504 gnutls_x509_trust_list_init: ADDED
505 gnutls_x509_trust_list_deinit: ADDED
506 gnutls_cipher_add_auth: ADDED
507 gnutls_cipher_tag: ADDED
508 gnutls_psk_netconf_derive_key: REMOVED
509 gnutls_certificate_verify_peers: REMOVED
510 gnutls_session_set_finished_function: REMOVED
511 gnutls_ext_register: REMOVED
512 gnutls_certificate_get_x509_crls: REMOVED
513 gnutls_certificate_get_x509_cas: REMOVED
514 gnutls_certificate_get_openpgp_keyring: REMOVED
515 gnutls_session_get_server_random: REMOVED
516 gnutls_session_get_client_random: REMOVED
517 gnutls_session_get_master_secret: REMOVED
518 gnutls_ia_allocate_client_credentials: REMOVED
519 gnutls_ia_allocate_server_credentials: REMOVED
520 gnutls_ia_enable: REMOVED
521 gnutls_ia_endphase_send: REMOVED
522 gnutls_ia_extract_inner_secret: REMOVED
523 gnutls_ia_free_client_credentials: REMOVED
524 gnutls_ia_free_server_credentials: REMOVED
525 gnutls_ia_generate_challenge: REMOVED
526 gnutls_ia_get_client_avp_ptr: REMOVED
527 gnutls_ia_get_server_avp_ptr: REMOVED
528 gnutls_ia_handshake: REMOVED
529 gnutls_ia_handshake_p: REMOVED
530 gnutls_ia_permute_inner_secret: REMOVED
531 gnutls_ia_recv: REMOVED
532 gnutls_ia_send: REMOVED
533 gnutls_ia_set_client_avp_function: REMOVED
534 gnutls_ia_set_client_avp_ptr: REMOVED
535 gnutls_ia_set_server_avp_function: REMOVED
536 gnutls_ia_set_server_avp_ptr: REMOVED
537 gnutls_ia_verify_endphase: REMOVED
540 * Version 2.12.2 (released 2011-04-08)
542 ** libgnutls: Several updates and fixes for win32. Patches by LRN.
544 ** libgnutls: Several bug and memory leak fixes.
546 ** srptool: Accepts the -d option to enable debugging.
548 ** libgnutls: Corrected bug in gnutls_srp_verifier() that prevented
549 the allocation of a verifier. Reported by Andrew Wiseman.
551 ** API and ABI modifications:
552 No changes since last version.
555 * Version 2.12.1 (released 2011-04-02)
557 ** certtool: Generated certificate request with stricter permissions.
558 Reported by Luca Capello.
560 ** libgnutls: Bug fixes in opencdk code. Reported by Vitaly Kruglikov.
562 ** libgnutls: Corrected windows system_errno() function prototype.
564 ** libgnutls: C++ compatibility fix for compat.h. Reported by Mark Brand.
566 ** libgnutls: Fix size of gnutls_openpgp_keyid_t by using the
567 GNUTLS_OPENPGP_KEYID_SIZE definition. Reported by Andreas Metzler.
569 ** API and ABI modifications:
570 No changes since last version.
575 * Version 2.12.0 (released 2011-03-24)
577 ** certtool: Warns on generation of DSA keys of over 1024 bits, about
578 the incompatibility with TLS other than 1.2.
580 ** libgnutls: Modified signature algorithm selection in client
581 certificate request, to avoid failures in DSA certificates.
583 ** libgnutls: Instead of failing with internal error, return
584 GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL if an incompatible DSA
585 key with the negotiated protocol is encountered.
587 ** libgnutls: Bug fixes in the RSA ciphersuite behavior with openpgp keys.
589 ** libgnutls: Force state update when fork is detected in the nettle
592 ** libgnutls: modified gnutls_pubkey_import_openpgp() to use the preferred
593 subkey instead of setting explicitly one.
595 ** libgnutls: Corrected default behavior in record version of Client Hellos.
597 ** libgnutls-openssl: modified to use modern gnutls' functions.
598 This introduces an ABI incompatibility with previous versions.
600 ** API and ABI modifications:
601 gnutls_pubkey_import_openpgp: MODIFIED
606 ** libgnutls: The deprecated gnutls_x509_privkey_sign_hash() was
607 replaced by gnutls_privkey_sign_hash2().
609 ** libgnutls: gnutls_pubkey_verify_data, gnutls_pubkey_verify_hash,
610 gnutls_x509_privkey_verify_data, gnutls_x509_crt_verify_data,
611 gnutls_x509_crt_verify_hash return the negative error code
612 GNUTLS_E_PK_SIG_VERIFY_FAILED if verification fails to simplify error
615 ** libgnutls: Added helper functions for signature verification:
616 gnutls_pubkey_verify_data() and gnutls_pubkey_import_privkey().
618 ** libgnutls: Modified gnutls_privkey_sign_data().
620 ** gnutls_x509_crl_privkey_sign2(), gnutls_x509_crq_sign2()
621 gnutls_x509_privkey_sign_hash(), gnutls_x509_privkey_sign_data(),
622 gnutls_x509_crt_verify_hash(), gnutls_x509_crt_verify_data(), were
623 deprecated for gnutls_x509_crl_privkey_sign(),
624 gnutls_x509_crq_privkey_sign(), gnutls_privkey_sign_hash(),
625 gnutls_privkey_sign_data(), gnutls_pubkey_verify_hash()
626 gnutls_pubkey_verify_data() respectively.
628 ** libgnutls: gnutls_*_export_raw() functions now add leading zero in
631 ** libgnutls: Added convenience functions gnutls_x509_crl_list_import2()
632 and gnutls_x509_crt_list_import2().
634 ** crypto.h: Fix use with C++.
635 Reported by "Brendan Doherty" <brendand@gentrack.com>.
637 ** API and ABI modifications:
638 gnutls_x509_crl_list_import: ADDED
639 gnutls_x509_crl_list_import2: ADDED
640 gnutls_x509_crt_list_import2: ADDED
641 gnutls_x509_crl_get_raw_issuer_dn: ADDED
642 gnutls_pubkey_import_privkey: ADDED
643 gnutls_pubkey_verify_data: ADDED
644 gnutls_privkey_sign_hash: MODIFIED (was added in 2.11.0)
645 gnutls_privkey_sign_data: MODIFIED (was added in 2.11.0)
646 gnutls_x509_crq_sign2: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
647 gnutls_x509_crq_sign: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
648 gnutls_x509_crq_get_preferred_hash_algorithm: REMOVED (was added in 2.11.0)
649 gnutls_x509_crl_sign: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
650 gnutls_x509_crl_sign2: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
651 gnutls_x509_privkey_sign_data: DEPRECATED (use: gnutls_privkey_sign_data2)
652 gnutls_x509_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
653 gnutls_x509_privkey_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
654 gnutls_session_set_finished_function: DEPRECATED
655 gnutls_x509_crt_verify_hash: DEPRECATED (use: gnutls_pubkey_verify_hash)
656 gnutls_x509_crt_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
657 gnutls_x509_crt_get_verify_algorithm: DEPRECATED (use: gnutls_pubkey_get_verify_algorithm)
658 gnutls_x509_crt_get_preferred_hash_algorithm: DEPRECATED (use: gnutls_pubkey_get_preferred_hash_algorithm)
659 gnutls_openpgp_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
660 gnutls_pkcs11_privkey_sign_hash: REMOVED (was added in 2.11.0)
661 gnutls_pkcs11_privkey_decrypt_data: REMOVED (was added in 2.11.0)
662 gnutls_privkey_sign_hash: REMOVED (was added in 2.11.0)
664 * Version 2.11.6 (released 2010-12-06)
666 ** libgnutls: Record version of Client Hellos is now set by default to
667 SSL 3.0. To restore the previous default behavior use %LATEST_RECORD_VERSION
670 ** libgnutls: Use ASN1_NULL when writing parameters for RSA signatures.
671 This makes us comply with RFC3279. Reported by Michael Rommel.
673 ** gnutls-serv: Corrected a buffer overflow. Reported and patch by Tomas Mraz.
675 ** API and ABI modifications:
676 No changes since last version.
678 * Version 2.11.5 (released 2010-12-01)
680 ** libgnutls: Reverted default behavior for verification and
681 introduced GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT. Thus by default
682 V1 trusted CAs are allowed, unless the new flag is specified.
684 ** libgnutls: Correctly add leading zero to PKCS #8 encoded DSA key.
685 Reported by Jeffrey Walton.
687 ** libgnutls: Added SIGN-ALL, CTYPE-ALL, COMP-ALL, and VERS-TLS-ALL
688 as priority strings. Those allow to set all the supported algorithms
691 ** p11tool: Introduced. It allows manipulating pkcs 11 tokens.
693 ** gnutls-cli: Print channel binding only in verbose mode.
694 Before it printed it after the 'Compression:' output, thus breaking
695 Emacs starttls.el string searches.
697 ** API and ABI modifications:
698 gnutls_pkcs11_token_init: New function
699 gnutls_pkcs11_token_set_pin: New function
701 * Version 2.11.4 (released 2010-10-15)
703 ** libgnutls: Add new API gnutls_session_channel_binding.
704 The function is used to get the channel binding data. Currently only
705 the "tls-unique" (RFC 5929) channel binding type is supported, through
706 the GNUTLS_CB_TLS_UNIQUE type. See new section "Channel Bindings" in
709 ** gnutls-cli, gnutls-serv: Print 'tls-unique' Channel Bindings.
711 ** doc: Added pkcs11.h header file to GTK-DOC manual.
713 ** build: Update gnulib files.
715 ** i18n: Update translations.
717 ** tests: Add self tests gendh.c. Speed up Guile self checks.
719 ** API and ABI modifications:
720 gnutls_session_channel_binding: New function.
721 gnutls_channel_binding_t: New enumeration.
722 GNUTLS_CB_TLS_UNIQUE: New gnutls_channel_binding_t enum member.
723 GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE: New error code.
725 * Version 2.11.3 (released 2010-10-14)
727 ** Indent code to follow the GNU Coding Standard.
728 You should be able to unpack the 2.11.2 release and run 'make indent'
729 twice to get exactly the same content as 2.11.3 except for generated
730 files. Using GNU Indent 2.2.11.
732 ** API and ABI modifications:
733 No changes since last version.
735 * Version 2.11.2 (released 2010-10-08)
737 ** libgnutls: Several bug fixes on session resumption
738 and session tickets support.
740 ** libgnutls: Add new extended key usage ipsecIKE.
742 ** certtool: Renamed PKCS #11 options to: --p11-provider,
743 --p11-export-url, --p11-list-certs, --p11-list-certs,
744 --p11-list-privkeys, --p11-list-trusted, --p11-list-all-certs,
745 --p11-list-all, --p11-list-tokens, --p11-login, --p11-write,
746 --p11-write-label, --p11-write-trusted, --p11-detailed-url,
749 ** libgnutls: Corrected bug that caused importing DSA keys as RSA,
750 introduced with the new nettle code.
752 ** libgnutls: Corrected advertizing issue for session tickets.
754 ** API and ABI modifications:
755 gnutls_x509_crt_get_subject_unique_id: ADDED.
756 gnutls_x509_crt_get_issuer_unique_id: ADDED.
758 * Version 2.11.1 (released 2010-09-14)
760 ** libgnutls: Nettle is the default crypto back end. Use --with-libgcrypt
761 to use the libgcrypt back end.
763 ** libgnutls: Depend on nettle 2.1. This makes nettle a fully working
764 backend crypto library.
766 ** libgnutls: Added RSA_NULL_SHA1 and SHA256 ciphersuites.
768 ** libgnutls: Several updates in the buffering internal interface.
770 ** libgnutls: Is now more liberal in the PEM decoding. That is spaces and
771 tabs are being skipped.
773 ** libgnutls: Added support for draft-pechanec-pkcs11uri-02.
775 ** libgnutls: The %COMPAT flag now allows larger records that violate the
778 ** libgnutls: by default lowat level has been set to zero to avoid unnecessary
779 system calls. Applications that depended on it being 1 should explicitly call
780 gnutls_transport_set_lowat().
782 ** libgnutls: Updated documentation and gnutls_pk_params_t mappings
783 to ECRYPT II recommendations. Mappings were moved to a single location
784 and DSA keys are handled differently (since DSA2 allows for 1024,2048
787 ** libgnutls: gnutls_x509_privkey_import() will fallback to
788 gnutls_x509_privkey_import_pkcs8() without a password, if it
789 is unable to decode the key.
791 ** libgnutls: HMAC-MD5 no longer used by default.
793 ** API and ABI modifications:
794 gnutls_openpgp_privkey_sec_param: ADDED
795 gnutls_x509_privkey_sec_param: ADDED
797 * Version 2.11.0 (released 2010-07-22)
799 ** libgnutls: support scattered write using writev(). This takes
800 advantage of the new buffering layer and allows queuing of packets
801 and flushing them. This is currently used for handshake messages
804 ** libgnutls: Added gnutls_global_set_mutex() to allow setting
805 alternative locking procedures. By default the system available
806 locking is used. In *NIX pthreads are used and in windows the
807 critical section API. This follows a different approach than the
808 previous versions that depended on libgcrypt initialization. The
809 locks are now set by default in systems that support it. Programs
810 that used gcry_control() to set thread locks should insert it into
812 #if GNUTLS_VERSION_NUMBER <= 0x020b00
816 ** libgnutls: Added support for reading DN from EV-certificates.
818 jurisdictionOfIncorporationLocalityName,
819 jurisdictionOfIncorporationStateOrProvinceName,
820 jurisdictionOfIncorporationCountryName
822 ** libgnutls: Added support for DSA signing/verifying with bit
825 ** libgnutls-extra: When in FIPS mode gnutls_global_init_extra()
826 has to be called to register any required md5 handlers.
828 ** libgnutls: Internal buffering code was replaced by simpler
829 code contributed by Jonathan Bastien-Filiatrault.
831 ** libgnutls: Internal API for extensions augmented to allow
832 safe storing and loading of data on resumption. This allows writing
833 self-contained extensions (when possible). As a side effect
834 the OPRFI extension was removed.
836 ** libgnutls: Added support for DSA-SHA256 and DSA-SHA224
838 ** libgnutls: Added PKCS #11 support and an API to access objects in
839 gnutls/pkcs11.h. Currently certificates and public keys can be
840 imported from tokens, and operations can be performed on private keys.
842 ** libgnutls: Added abstract gnutls_privkey_t and gnutls_pubkey_t
844 ** libgnutls: Added initial support for the nettle library. It uses
845 the system's random generator for seeding. That is /dev/urandom in Linux,
846 system calls in Win32 and EGD on other systems.
848 ** libgnutls: Corrected issue on the %SSL3_RECORD_VERSION priority string. It now
849 works even when resuming a session.
851 ** libgnutls: Added gnutls_certificate_set_retrieve_function() to replace the
852 similar gnutls_certificate_set_server_retrieve_function() and
853 gnutls_certificate_set_client_retrieve_function(). In addition it support
854 PKCS #11 private keys.
856 ** libgnutls: Added gnutls_pkcs11_copy_x509_crt(), gnutls_pkcs11_copy_x509_privkey(),
857 and gnutls_pkcs11_delete_url() to allow copying and deleting data in tokens.
859 ** libgnutls: Added gnutls_sec_param_to_pk_bits() et al. to allow select bit
860 sizes for private keys using a human understandable scale.
862 ** certtool: Added new options: --pkcs11-list-tokens, --pkcs11-list-all
863 --pkcs11-list-all-certs, --pkcs11-list-trusted, --pkcs11-list-certs,
864 --pkcs11-delete-url, --pkcs11-write
866 certtool: The --pkcs-cipher is taken into account when generating a
867 private key. The default cipher used now is aes-128. The old behavior can
868 be simulated by specifying "--pkcs-cipher 3des-pkcs12".
870 certtool: Added --certificate-pubkey to print the public key of the
873 ** gnutls-cli/gnutls-serv: --x509cafile, --x509certfile and --x509keyfile
874 can now accept a PKCS #11 URL in addition to a file. This will allow for
875 example to use the Gnome-keyring trusted certificate list to verify
876 connections using a url such as:
877 pkcs11:token=Root%20CA%20Certificates;serial=1%3AROOTS%3ADEFAULT;model=1%2E0;manufacturer=Gnome%20Keyring
879 ** API and ABI modifications:
880 gnutls_certificate_set_server_retrieve_function: DEPRECATED
881 gnutls_certificate_set_client_retrieve_function: DEPRECATED
882 gnutls_sign_callback_set: DEPRECATED
883 gnutls_global_set_mutex: ADDED
884 gnutls_pubkey_get_preferred_hash_algorithm: ADDED
885 gnutls_x509_crt_get_preferred_hash_algorithm: ADDED
886 gnutls_x509_privkey_export_rsa_raw2: ADDED
888 gnutls_sec_param_to_pk_bits: ADDED
889 gnutls_pk_bits_to_sec_param: ADDED
890 gnutls_sec_param_get_name: ADDED
891 gnutls_pkcs11_type_get_name: ADDED
892 gnutls_certificate_set_retrieve_function: ADDED
893 gnutls_pkcs11_init: ADDED
894 gnutls_pkcs11_deinit: ADDED
895 gnutls_pkcs11_set_pin_function: ADDED
896 gnutls_pkcs11_set_token_function: ADDED
897 gnutls_pkcs11_add_provider: ADDED
898 gnutls_pkcs11_obj_init: ADDED
899 gnutls_pkcs11_obj_import_url: ADDED
900 gnutls_pkcs11_obj_export_url: ADDED
901 gnutls_pkcs11_obj_deinit: ADDED
902 gnutls_pkcs11_obj_export: ADDED
903 gnutls_pkcs11_obj_list_import_url: ADDED
904 gnutls_pkcs11_obj_export: ADDED
905 gnutls_x509_crt_import_pkcs11: ADDED
906 gnutls_pkcs11_obj_get_type: ADDED
907 gnutls_x509_crt_list_import_pkcs11: ADDED
908 gnutls_x509_crt_import_pkcs11_url: ADDED
909 gnutls_pkcs11_obj_get_info: ADDED
910 gnutls_pkcs11_token_get_info: ADDED
911 gnutls_pkcs11_token_get_url: ADDED
912 gnutls_pkcs11_privkey_init: ADDED
913 gnutls_pkcs11_privkey_deinit: ADDED
914 gnutls_pkcs11_privkey_get_pk_algorithm: ADDED
915 gnutls_pkcs11_privkey_get_info: ADDED
916 gnutls_pkcs11_privkey_import_url: ADDED
917 gnutls_pkcs11_privkey_sign_data: ADDED
918 gnutls_pkcs11_privkey_sign_hash: ADDED
919 gnutls_pkcs11_privkey_decrypt_data: ADDED
920 gnutls_privkey_init: ADDED
921 gnutls_privkey_deinit: ADDED
922 gnutls_privkey_get_pk_algorithm: ADDED
923 gnutls_privkey_get_type: ADDED
924 gnutls_privkey_import_pkcs11: ADDED
925 gnutls_privkey_import_x509: ADDED
926 gnutls_privkey_import_openpgp: ADDED
927 gnutls_privkey_sign_data: ADDED
928 gnutls_privkey_sign_hash: ADDED
929 gnutls_privkey_decrypt_data: ADDED
930 gnutls_pkcs11_privkey_export_url: ADDED
931 gnutls_x509_crq_privkey_sign: ADDED
932 gnutls_x509_crl_privkey_sign: ADDED
933 gnutls_x509_crt_privkey_sign: ADDED
934 gnutls_pubkey_init: ADDED
935 gnutls_pubkey_deinit: ADDED
936 gnutls_pubkey_get_pk_algorithm: ADDED
937 gnutls_pubkey_import_x509: ADDED
938 gnutls_pubkey_import_openpgp: ADDED
939 gnutls_pubkey_get_pk_rsa_raw: ADDED
940 gnutls_pubkey_get_pk_dsa_raw: ADDED
941 gnutls_pubkey_export: ADDED
942 gnutls_pubkey_get_key_id: ADDED
943 gnutls_pubkey_get_key_usage: ADDED
944 gnutls_pubkey_verify_hash: ADDED
945 gnutls_pubkey_get_verify_algorithm: ADDED
946 gnutls_pkcs11_type_get_name: ADDED
947 gnutls_pubkey_import_pkcs11_url: ADDED
948 gnutls_pubkey_import: ADDED
949 gnutls_pubkey_import_pkcs11: ADDED
950 gnutls_pubkey_import_dsa_raw: ADDED
951 gnutls_pubkey_import_rsa_raw: ADDED
952 gnutls_x509_crt_set_pubkey: ADDED
953 gnutls_x509_crq_set_pubkey: ADDED
954 gnutls_pkcs11_copy_x509_crt: ADDED
955 gnutls_pkcs11_copy_x509_privkey: ADDED
956 gnutls_pkcs11_delete_url: ADDED
958 * Version 2.10.1 (released 2010-07-25)
960 ** libgnutls: Added support for broken certificates that indicate RSA
963 ** gnutls-cli: Allow verification using V1 CAs.
965 ** libgnutls: gnutls_x509_privkey_import() will fallback to
966 gnutls_x509_privkey_import_pkcs8() without a password, if it
967 is unable to decode the key.
969 ** libgnutls: Correctly deinitialize crypto API functions to prevent
970 a memory leak. Reported by Mads Kiilerich.
972 ** certtool: If asked to generate DSA keys of size more than 1024 bits,
973 issue a warning, that the output key might not be working everywhere.
975 ** certtool: The --pkcs-cipher is taken into account when generating a
976 private key. The default cipher used now is aes-128. The old behavior
977 can be simulated by specifying "--pkcs-cipher 3des-pkcs12".
979 ** API and ABI modifications:
980 No changes since last version.
982 * Version 2.10.0 (released 2010-06-25)
984 ** API and ABI modifications:
985 No changes since last version.
987 * Version 2.9.12 (released 2010-06-17)
989 ** gnutls-cli: Make --starttls work again.
990 Problem introduced in patch to use read() instead of fgets() committed
993 ** API and ABI modifications:
994 No changes since last version.
996 * Version 2.9.11 (released 2010-06-07)
998 ** libgnutls: Removed two APIs related to safe renegotiation.
999 Use priority strings instead. The APIs were
1000 gnutls_safe_negotiation_set_initial and gnutls_safe_renegotiation_set.
1001 (Remember that we don't promise ABI stability during development
1002 series, so this doesn't cause an shared library ABI increment.)
1004 ** tests: More self testing of safe renegotiation extension.
1005 See tests/safe-renegotiation/README for more information.
1007 ** doc: a PDF version of the API reference manual (GTK-DOC) is now built.
1009 ** doc: Terms 'GNUTLS' and 'GNU TLS' were changed to 'GnuTLS' for consistency.
1011 ** API and ABI modifications:
1012 gnutls_safe_negotiation_set_initial: REMOVED.
1013 gnutls_safe_renegotiation_set: REMOVED.
1015 * Version 2.9.10 (released 2010-04-22)
1017 ** libgnutls: Time verification extended to trusted certificate list.
1018 Unless new constant GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS flag is
1021 ** certtool: Display postalCode and Name X.509 DN attributes correctly.
1022 Based on patch by Pavan Konjarla. Adds new constant
1023 GNUTLS_OID_X520_POSTALCODE and GNUTLS_OID_X520_NAME.
1025 ** libgnutls: Added Steve Dispensa's patch for safe renegotiation (RFC 5746)
1026 Solves the issue discussed in:
1027 <http://www.ietf.org/mail-archive/web/tls/current/msg03928.html> and
1028 <http://www.ietf.org/mail-archive/web/tls/current/msg03948.html>.
1029 Note that to allow connecting to unpatched servers the full protection
1030 is only enabled if the priority string %SAFE_RENEGOTIATION is
1031 specified. You can check whether protection is in place by querying
1032 gnutls_safe_renegotiation_status(). New error codes
1033 GNUTLS_E_SAFE_RENEGOTIATION_FAILED and
1034 GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED added.
1036 ** libgnutls: When checking openpgp self signature also check the signatures
1038 Ilari Liusvaara noticed and reported the issue and provided test
1041 ** libgnutls: Added cryptodev support (/dev/crypto).
1042 Tested with http://www.logix.cz/michal/devel/cryptodev/. Added
1043 benchmark utility for AES. Adds new error codes
1044 GNUTLS_E_CRYPTODEV_IOCTL_ERROR and GNUTLS_E_CRYPTODEV_DEVICE_ERROR.
1046 ** libgnutls: Exported API to access encryption and hash algorithms.
1047 The new API functions are gnutls_cipher_decrypt, gnutls_cipher_deinit,
1048 gnutls_cipher_encrypt, gnutls_cipher_get_block_size,
1049 gnutls_cipher_init, gnutls_hash, gnutls_hash_deinit, gnutls_hash_fast,
1050 gnutls_hash_get_len, gnutls_hash_init, gnutls_hash_output,
1051 gnutls_hmac, gnutls_hmac_deinit, gnutls_hmac_fast,
1052 gnutls_hmac_get_len, gnutls_hmac_init, gnutls_hmac_output. New API
1053 constants are GNUTLS_MAC_SHA224 and GNUTLS_DIG_SHA224.
1055 ** libgnutls: Added gnutls_certificate_set_verify_function() to allow
1056 verification of certificate upon receipt rather than waiting until the
1057 end of the handshake.
1059 ** libgnutls: Don't send alerts during handshake.
1060 Instead new error code GNUTLS_E_UNKNOWN_SRP_USERNAME is added.
1062 ** certtool: Corrected two issues that affected certificate request generation.
1063 (1) Null padding is added on integers (found thanks to Wilankar Trupti),
1064 (2) In optional SignatureAlgorithm parameters field for DSA keys the DSA
1065 parameters were added. Those were rejected by Verisign. Gnutls no longer adds
1066 those parameters there since other implementations don't do either and having
1067 them does not seem to offer anything (anyway you need the signer's certificate
1068 to verify thus public key will be available). Found thanks to Boyan Kasarov.
1069 This however has the side-effect that public key IDs shown by certtool are
1070 now different than previous gnutls releases.
1071 (3) the option --pgp-certificate-info will verify self signatures
1073 ** certtool: Allow exporting of Certificate requests on DER format.
1075 ** certtool: New option --no-crq-extensions to avoid extensions in CSRs.
1077 ** gnutls-cli: Handle reading binary data from server.
1078 Reported by and tiny patch from Vitaly Mayatskikh
1079 <v.mayatskih@gmail.com> in
1080 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/4096>.
1082 ** minitasn1: Upgraded to libtasn1 version 2.6.
1084 ** i18n: Updated Czech, Dutch, French, Polish, Swedish translation.
1085 ** Added Italian and Simplified Chinese translation.
1086 Thanks to Petr Pisar, Erwin Poeze, Nicolas Provost, Jakub Bogusz,
1087 Daniel Nylander, Sergio Zanchetta, Tao Wei, and Aron Xu.
1089 ** doc: The GTK-DOC manual is significantly improved.
1091 ** API and ABI modifications:
1092 %DISABLE_SAFE_RENEGOTIATION: Added to priority strings (do not use).
1093 %INITIAL_SAFE_RENEGOTIATION: Added to priority strings.
1094 %UNSAFE_RENEGOTIATION: Added to priority strings.
1095 GNUTLS_DIG_SHA224: ADDED.
1096 GNUTLS_E_CRYPTODEV_DEVICE_ERROR: ADDED.
1097 GNUTLS_E_CRYPTODEV_IOCTL_ERROR: ADDED.
1098 GNUTLS_E_SAFE_RENEGOTIATION_FAILED: ADDED.
1099 GNUTLS_E_UNKNOWN_SRP_USERNAME: ADDED.
1100 GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED: ADDED.
1101 GNUTLS_MAC_SHA224: ADDED.
1102 GNUTLS_OID_X520_NAME: ADDED.
1103 GNUTLS_OID_X520_POSTALCODE: ADDED.
1104 GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS: ADDED.
1105 GNUTLS_VERSION_MAX: ADDED.
1106 gnutls_certificate_set_verify_function: ADDED.
1107 gnutls_cipher_decrypt: ADDED.
1108 gnutls_cipher_deinit: ADDED.
1109 gnutls_cipher_encrypt: ADDED.
1110 gnutls_cipher_get_block_size: ADDED.
1111 gnutls_cipher_init: ADDED.
1113 gnutls_hash_deinit: ADDED.
1114 gnutls_hash_fast: ADDED.
1115 gnutls_hash_get_len: ADDED.
1116 gnutls_hash_init: ADDED.
1117 gnutls_hash_output: ADDED.
1119 gnutls_hmac_deinit: ADDED.
1120 gnutls_hmac_fast: ADDED.
1121 gnutls_hmac_get_len: ADDED.
1122 gnutls_hmac_init: ADDED.
1123 gnutls_hmac_output: ADDED.
1124 gnutls_safe_negotiation_set_initial: ADDED.
1125 gnutls_safe_renegotiation_set: ADDED.
1126 gnutls_safe_renegotiation_status: ADDED.
1128 * Version 2.9.9 (released 2009-11-09)
1130 ** libgnutls: Cleanups and several bug fixes.
1131 Found by Steve Grubb and Tomas Mraz.
1133 ** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
1135 ** Fix --disable-valgrind-tests.
1136 Reported by Ingmar Vanhassel in
1137 <https://savannah.gnu.org/support/?107029>.
1139 ** API and ABI modifications:
1140 No changes since last version.
1142 * Version 2.9.8 (released 2009-11-05)
1144 ** libgnutls: Fix for memory leaks on interrupted handshake.
1145 Reported by Tang Tong.
1147 ** libgnutls: Addition of support for TLS 1.2 signature algorithms
1148 ** extension and certificate verify field.
1149 This requires changes for TLS 1.2 servers and clients that use
1150 callbacks for certificate retrieval. They are now required to check
1151 with gnutls_sign_algorithm_get_requested() whether the certificate
1152 they send complies with the peer's preferences in signature
1155 ** libgnutls: In server side when resuming a session do not overwrite the
1156 ** initial session data with the resumed session data.
1158 ** libgnutls: Added support for AES-128, AES-192 and AES-256 in PKCS #8
1160 This affects also PKCS #12 encoded files. This adds the following new
1161 enums: GNUTLS_CIPHER_AES_192_CBC, GNUTLS_PKCS_USE_PBES2_AES_128,
1162 GNUTLS_PKCS_USE_PBES2_AES_192, GNUTLS_PKCS_USE_PBES2_AES_256.
1164 ** libgnutls: Fix PKCS#12 encoding.
1165 The error you would get was "The OID is not supported.". Problem
1166 introduced for the v2.8.x branch in 2.7.6.
1168 ** certtool: Added the --pkcs-cipher option.
1169 To explicitely specify the encryption algorithm to use.
1171 ** tests: Added "pkcs12_encode" self-test to check PKCS#12 functions.
1173 ** tests: Fix time bomb in chainverify self-test.
1174 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1175 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925>.
1177 ** tests: Fix expired cert in chainverify self-test.
1179 ** i18n: Vietnamese translation updated.
1180 Thanks to Clytie Siddall.
1182 ** API and ABI modifications:
1183 GNUTLS_CIPHER_AES_192_CBC: ADDED to gnutls/gnutls.h.
1184 GNUTLS_PKCS_USE_PBES2_AES_128: ADDED to gnutls/x509.h.
1185 GNUTLS_PKCS_USE_PBES2_AES_192: ADDED to gnutls/x509.h.
1186 GNUTLS_PKCS_USE_PBES2_AES_256: ADDED to gnutls/x509.h.
1187 GNUTLS_BAG_SECRET: ADDED to gnutls/pkcs12.h.
1188 GNUTLS_DIG_UNKNOWN: ADDED to gnutls/gnutls.h.
1189 gnutls_sign_algorithm_get_requested: ADDED.
1191 * Version 2.9.7 (released 2009-10-06)
1193 ** libgnutls: TLS 1.2 server mode fixes.
1194 Now interoperates against Opera. Contributed by Daiki Ueno.
1196 ** libgnutlsxx: Fix link problems.
1197 Tiny patch from Boyan Kasarov <bkasarov@gmail.com>.
1199 ** guile: Compatibility with guile 2.x.
1200 By Ludovic Courtes <ludovic.courtes@laas.fr>.
1202 ** API and ABI modifications:
1203 No changes since last version.
1205 * Version 2.9.6 (released 2009-09-22)
1207 ** libgnutls: Enable Camellia ciphers by default.
1209 ** API and ABI modifications:
1210 No changes since last version.
1212 * Version 2.9.5 (released 2009-09-10)
1214 ** libgnutls: Add new functions to extract X.509 Issuer Alternative Names.
1215 The new functions are gnutls_x509_crt_get_issuer_alt_name2,
1216 gnutls_x509_crt_get_issuer_alt_name, and
1217 gnutls_x509_crt_get_issuer_alt_othername_oid. Contributed by Brad
1218 Hards <bradh@frogmouth.net>.
1220 ** API and ABI modifications:
1221 gnutls_x509_crt_get_issuer_alt_name2: ADDED.
1222 gnutls_x509_crt_get_issuer_alt_name: ADDED.
1223 gnutls_x509_crt_get_issuer_alt_othername_oid: ADDED.
1225 * Version 2.9.4 (released 2009-09-03)
1227 ** libgnutls: Client-side TLS 1.2 and SHA-256 ciphersuites now works.
1228 The new supported ciphersuites are AES-128/256 in CBC mode with
1229 ANON-DH/RSA/DHE-DSS/DHE-RSA. Contributed by Daiki Ueno. Further,
1230 SHA-256 is now the preferred default MAC (however it is only used with
1233 ** libgnutls: Make OpenPGP hostname checking work again.
1234 The patch to resolve the X.509 CN/SAN issue accidentally broken
1235 OpenPGP hostname comparison.
1237 ** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
1238 Reported by Howard Chu <hyc@symas.com> in
1239 <https://savannah.gnu.org/support/?106975>.
1241 ** Fix use of deprecated types internally.
1242 Use of deprecated types in GnuTLS from now on will lead to a compile
1243 error, to prevent this from happening again.
1245 ** API and ABI modifications:
1246 No changes since last version.
1248 * Version 2.9.3 (released 2009-08-19)
1250 ** libgnutls: Support for TLS tickets was contributed by Daiki Ueno.
1251 The new APIs are gnutls_session_ticket_enable_client,
1252 gnutls_session_ticket_enable_server, and
1253 gnutls_session_ticket_key_generate.
1255 ** gnutls-cli, gnutls-serv: New parameter --noticket to disable TLS tickets.
1257 ** API and ABI modifications:
1258 gnutls_session_ticket_key_generate: ADDED.
1259 gnutls_session_ticket_enable_client: ADDED.
1260 gnutls_session_ticket_enable_server: ADDED.
1262 * Version 2.9.2 (released 2009-08-14)
1264 ** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
1265 By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
1266 into 1) not printing the entire CN/SAN field value when printing a
1267 certificate and 2) cause incorrect positive matches when matching a
1268 hostname against a certificate. Some CAs apparently have poor
1269 checking of CN/SAN values and issue these (arguable invalid)
1270 certificates. Combined, this can be used by attackers to become a
1271 MITM on server-authenticated TLS sessions. The problem is mitigated
1272 since attackers needs to get one certificate per site they want to
1273 attack, and the attacker reveals his tracks by applying for a
1274 certificate at the CA. It does not apply to client authenticated TLS
1275 sessions. Research presented independently by Dan Kaminsky and Moxie
1276 Marlinspike at BlackHat09. Thanks to Tomas Hoger <thoger@redhat.com>
1277 for providing one part of the patch. [GNUTLS-SA-2009-4] [CVE-2009-2730].
1279 ** libgnutls: Fix rare failure in gnutls_x509_crt_import.
1280 The function may fail incorrectly when an earlier certificate was
1281 imported to the same gnutls_x509_crt_t structure.
1283 ** minitasn1: Internal copy updated to libtasn1 v2.3.
1285 ** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
1286 Before it always returned false. Reported by Peter Hendrickson
1287 <pdh@wiredyne.com> in
1288 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668>.
1290 ** libgnutls: Fix off-by-one size computation error in unknown DN printing.
1291 The error resulted in truncated strings when printing unknown OIDs in
1292 X.509 certificate DNs. Reported by Tim Kosse
1293 <tim.kosse@filezilla-project.org> in
1294 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651>.
1296 ** libgnutls: Fix PKCS#12 decryption from password.
1297 The encryption key derived from the password was incorrect for (on
1298 average) 1 in every 128 input for random inputs. Reported by "Kukosa,
1299 Tomas" <tomas.kukosa@siemens-enterprise.com> in
1300 <http://permalink.gmane.org/gmane.network.gnutls.general/1663>.
1302 ** libgnutls: Return correct bit lengths of some MPIs.
1303 gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
1304 gnutls_dh_get_peers_public_bits. Before the reported value was
1305 overestimated. Reported by Peter Hendrickson <pdh@wiredyne.com> in
1306 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607>.
1308 ** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
1309 Report and patch by Tim Kosse <tim.kosse@filezilla-project.org> in
1310 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671>
1312 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670>.
1314 ** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
1315 Before we required that the runtime library used the same (or more
1316 recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
1317 that the runtime usage is above the minimum required. Reported by
1318 Marco d'Itri <md@linux.it> via Andreas Metzler
1319 <ametzler@downhill.at.eu.org> in <http://bugs.debian.org/540449>.
1321 ** tests: Added new self-test pkcs12_s2k_pem to detect MPI bit length error.
1323 ** tests: Improved test vectors in self-test pkcs12_s2k.
1325 ** tests: Added new self-test dn2 to detect off-by-one size error.
1327 ** tests: Fix failure in "chainverify" because a certificate have expired.
1329 ** API and ABI modifications:
1330 No changes since last version.
1332 * Version 2.9.1 (released 2009-06-08)
1334 ** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
1335 Forwarded by Martin von Gagern <Martin.vGagern@gmx.net> from
1336 <http://bugs.gentoo.org/272388>.
1338 ** tests: Added new self-tests init_roundtrip.c to detect previous problem.
1340 ** Reduce stack usage for some CRQ functions.
1342 ** Doc fixes for CRQ functions.
1344 ** API and ABI modifications:
1345 No changes since last version.
1347 * Version 2.9.0 (released 2009-05-28)
1351 ** API and ABI modifications:
1352 No changes since last version.
1354 * Version 2.8.6 (released 2010-03-15)
1356 ** libgnutls: For CSRs, don't null pad integers for RSA/DSA value.
1357 VeriSign rejected CSRs with this padding. Reported by Wilankar Trupti
1358 <trupti.wilankar@hp.com> and Boyan Kasarov <bkasarov@gmail.com>.
1360 Note: As a side effect of this change, the "public key identifier"
1361 value computed for a certificate using this version of GnuTLS will be
1362 different from values computed using earlier versions of GnuTLS.
1364 ** libgnutls: For CSRs on DSA keys, don't add DSA parameters to the
1365 ** optional SignatureAlgorithm parameter field.
1366 VeriSign rejected these CSRs. They are stricly speaking not needed
1367 since you need the signer's certificate to verify the certificate
1368 signature anyway. Reported by Wilankar Trupti
1369 <trupti.wilankar@hp.com> and Boyan Kasarov <bkasarov@gmail.com>.
1371 ** libgnutls: When checking openpgp self signature also check the signatures
1373 Ilari Liusvaara noticed and reported the issue and provided test
1376 ** libgnutls: Cleanups and several bug fixes.
1377 Found by Steve Grubb and Tomas Mraz.
1379 ** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
1381 ** Fix --disable-valgrind-tests.
1382 Reported by Ingmar Vanhassel in
1383 <https://savannah.gnu.org/support/?107029>.
1385 ** examples: Use the new APIs for printing X.509 certificate information.
1387 ** Fix build failures on Solaris.
1388 Thanks to Dagobert Michelsen <dam@opencsw.org>.
1390 ** i18n: Updated Czech, Dutch, French, Polish, Swedish and Vietnamese
1391 ** translations. Added Simplified Chinese translation.
1393 ** API and ABI modifications:
1394 No changes since last version.
1396 * Version 2.8.5 (released 2009-11-02)
1398 ** libgnutls: In server side when resuming a session do not overwrite the
1399 ** initial session data with the resumed session data.
1401 ** libgnutls: Fix PKCS#12 encoding.
1402 The error you would get was "The OID is not supported.". Problem
1403 introduced for the v2.8.x branch in 2.7.6.
1405 ** guile: Compatibility with guile 2.x.
1406 By Ludovic Courtes <ludovic.courtes@laas.fr>.
1408 ** tests: Fix expired cert in chainverify self-test.
1410 ** tests: Fix time bomb in chainverify self-test.
1411 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1412 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925>.
1414 ** API and ABI modifications:
1415 No changes since last version.
1417 * Version 2.8.4 (released 2009-09-18)
1419 ** libgnutls: Enable Camellia ciphers by default.
1421 ** libgnutls: Make OpenPGP hostname checking work again.
1422 The patch to resolve the X.509 CN/SAN issue accidentally broken
1423 OpenPGP hostname comparison.
1425 ** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
1426 Reported by Howard Chu <hyc@symas.com> in
1427 <https://savannah.gnu.org/support/?106975>.
1429 ** API and ABI modifications:
1430 No changes since last version.
1432 * Version 2.8.3 (released 2009-08-13)
1434 ** libgnutls: Fix patch for NUL in CN/SAN in last release.
1435 Code intended to be removed would lead to an read-out-bound error in
1436 some situations. Reported by Tomas Hoger <thoger@redhat.com>. A CVE
1437 code have been allocated for the vulnerability: [CVE-2009-2730].
1439 ** libgnutls: Fix rare failure in gnutls_x509_crt_import.
1440 The function may fail incorrectly when an earlier certificate was
1441 imported to the same gnutls_x509_crt_t structure.
1443 ** libgnutls-extra, libgnutls-openssl: Fix MinGW cross-compiling build error.
1445 ** tests: Made self-test mini-eagain take less time.
1449 ** API and ABI modifications:
1450 No changes since last version.
1452 * Version 2.8.2 (released 2009-08-10)
1454 ** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
1455 By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
1456 into 1) not printing the entire CN/SAN field value when printing a
1457 certificate and 2) cause incorrect positive matches when matching a
1458 hostname against a certificate. Some CAs apparently have poor
1459 checking of CN/SAN values and issue these (arguable invalid)
1460 certificates. Combined, this can be used by attackers to become a
1461 MITM on server-authenticated TLS sessions. The problem is mitigated
1462 since attackers needs to get one certificate per site they want to
1463 attack, and the attacker reveals his tracks by applying for a
1464 certificate at the CA. It does not apply to client authenticated TLS
1465 sessions. Research presented independently by Dan Kaminsky and Moxie
1466 Marlinspike at BlackHat09. Thanks to Tomas Hoger <thoger@redhat.com>
1467 for providing one part of the patch. [GNUTLS-SA-2009-4].
1469 ** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
1470 Before it always returned false. Reported by Peter Hendrickson
1471 <pdh@wiredyne.com> in
1472 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668>.
1474 ** libgnutls: Fix off-by-one size computation error in unknown DN printing.
1475 The error resulted in truncated strings when printing unknown OIDs in
1476 X.509 certificate DNs. Reported by Tim Kosse
1477 <tim.kosse@filezilla-project.org> in
1478 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651>.
1480 ** libgnutls: Return correct bit lengths of some MPIs.
1481 gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
1482 gnutls_dh_get_peers_public_bits. Before the reported value was
1483 overestimated. Reported by Peter Hendrickson <pdh@wiredyne.com> in
1484 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607>.
1486 ** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
1487 Report and patch by Tim Kosse <tim.kosse@filezilla-project.org> in
1488 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671>
1490 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670>.
1492 ** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
1493 Before we required that the runtime library used the same (or more
1494 recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
1495 that the runtime usage is above the minimum required. Reported by
1496 Marco d'Itri <md@linux.it> via Andreas Metzler
1497 <ametzler@downhill.at.eu.org> in <http://bugs.debian.org/540449>.
1499 ** minitasn1: Internal copy updated to libtasn1 v2.3.
1501 ** tests: Fix failure in "chainverify" because a certificate have expired.
1503 ** API and ABI modifications:
1504 No changes since last version.
1506 * Version 2.8.1 (released 2009-06-10)
1508 ** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
1509 Forwarded by Martin von Gagern <Martin.vGagern@gmx.net> from
1510 <http://bugs.gentoo.org/272388>.
1512 ** libgnutls: Fix PKCS#12 decryption from password.
1513 The encryption key derived from the password was incorrect for (on
1514 average) 1 in every 128 input for random inputs. Reported by "Kukosa,
1515 Tomas" <tomas.kukosa@siemens-enterprise.com> in
1516 <http://permalink.gmane.org/gmane.network.gnutls.general/1663>.
1518 ** API and ABI modifications:
1519 No changes since last version.
1521 * Version 2.8.0 (released 2009-05-27)
1523 ** doc: Fix gnutls_dh_get_prime_bits. Fix error codes and algorithm lists.
1525 ** Major changes compared to the v2.4 branch:
1527 *** lib: Linker version scripts reduces number of exported symbols.
1529 *** lib: Limit exported symbols on systems without LD linker scripts.
1531 *** libgnutls: Fix namespace issue with version symbols.
1533 *** libgnutls: Add functions to verify a hash against a certificate.
1534 gnutls_x509_crt_verify_hash: ADDED
1535 gnutls_x509_crt_get_verify_algorithm: ADDED
1537 *** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
1539 *** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
1541 *** certtool: Query for multiple dnsName subjectAltName in interactive mode.
1543 *** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
1545 *** gnutls-serv: No longer disable MAC padding by default.
1547 *** gnutls-cli: Certificate information output format changed.
1549 *** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
1550 *** and %VERIFY_ALLOW_X509_V1_CA_CRT.
1552 *** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
1554 *** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
1556 *** libgnutls: gnutls_handshake when sending client hello during a
1557 rehandshake, will not offer a version number larger than the current.
1559 *** libgnutls: New interface to get key id for certificate requests.
1560 gnutls_x509_crq_get_key_id: ADDED.
1562 *** libgnutls: gnutls_x509_crq_print will now also print public key id.
1564 *** certtool: --verify-chain now prints results of using library verification.
1566 *** libgnutls: Libgcrypt initialization changed.
1568 *** libgnutls: Small byte reads via gnutls_record_recv() optimized.
1570 *** gnutls-cli: Return non-zero exit code on error conditions.
1572 *** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
1574 *** certtool: allow setting arbitrary key purpose object identifiers.
1576 *** libgnutls: Change detection of when to use a linker version script.
1577 Use --enable-ld-version-script or --disable-ld-version-script to
1578 override auto-detection logic.
1580 *** Fix warnings and build GnuTLS with more warnings enabled.
1582 *** New API to set X.509 credentials from PKCS#12 memory structure.
1583 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
1585 *** Old libgnutls.m4 and libgnutls-config scripts removed.
1586 Please use pkg-config instead.
1588 *** libgnutls: Added functions to handle CRL extensions.
1589 gnutls_x509_crl_get_authority_key_id: ADDED
1590 gnutls_x509_crl_get_number: ADDED
1591 gnutls_x509_crl_get_extension_oid: ADDED
1592 gnutls_x509_crl_get_extension_info: ADDED
1593 gnutls_x509_crl_get_extension_data: ADDED
1594 gnutls_x509_crl_set_authority_key_id: ADDED
1595 gnutls_x509_crl_set_number: ADDED
1597 *** libgnutls: Added functions to handle X.509 extensions in Certificate
1599 gnutls_x509_crq_get_key_rsa_raw: ADDED
1600 gnutls_x509_crq_get_attribute_info: ADDED
1601 gnutls_x509_crq_get_attribute_data: ADDED
1602 gnutls_x509_crq_get_extension_info: ADDED
1603 gnutls_x509_crq_get_extension_data: ADDED
1604 gnutls_x509_crq_get_key_usage: ADDED
1605 gnutls_x509_crq_get_basic_constraints: ADDED
1606 gnutls_x509_crq_get_subject_alt_name: ADDED
1607 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
1608 gnutls_x509_crq_get_extension_by_oid: ADDED
1609 gnutls_x509_crq_set_subject_alt_name: ADDED
1610 gnutls_x509_crq_set_basic_constraints: ADDED
1611 gnutls_x509_crq_set_key_usage: ADDED
1612 gnutls_x509_crq_get_key_purpose_oid: ADDED
1613 gnutls_x509_crq_set_key_purpose_oid: ADDED
1614 gnutls_x509_crq_print: ADDED
1615 gnutls_x509_crt_set_crq_extensions: ADDED
1617 *** certtool: Print and set CRL and CRQ extensions.
1619 *** minitasn1: Internal copy updated to libtasn1 v2.1.
1621 *** examples: Now released into the public domain.
1623 *** The Texinfo and GTK-DOC manuals were improved.
1625 *** Several self-tests were added and others improved.
1627 *** API/ABI changes in GnuTLS 2.8 compared to GnuTLS 2.6.x
1628 No offically supported interfaces have been modified or removed. The
1629 library should be completely backwards compatible on both the source
1632 The shared library no longer exports some symbols that have never been
1633 officially supported, i.e., not mentioned in any of the header files.
1639 Normally when symbols are removed, the shared library version has to
1640 be incremented. This leads to a significant cost for everyone using
1641 the library. Because none of the above symbols have ever been
1642 intended for use by well-behaved applications, we decided that the it
1643 would be better for those applications to pay the price rather than
1644 incurring problems on the majority of applications.
1646 If it turns out that applications have been using unofficial
1647 interfaces, we will need to release a follow-on release on the v2.8
1648 branch to exports additional interfaces. However, initial testing
1649 suggests that few if any applications have been using any of the
1652 Although not a new change compared to 2.6.x, we'd like to remind you
1653 interfaces have been modified so that X.509 chain verification now
1654 also checks activation/expiration times on certificates. The affected
1657 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
1658 gnutls_certificate_verify_peers: Likewise.
1659 gnutls_certificate_verify_peers2: Likewise.
1660 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
1661 GNUTLS_CERT_EXPIRED: ADDED.
1662 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
1664 This change in behaviour was made during the GnuTLS 2.6.x cycle, and
1665 we gave our rationale for it in earlier release notes.
1667 The following symbols have been added to the library:
1669 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
1670 gnutls_x509_crl_get_authority_key_id: ADDED
1671 gnutls_x509_crl_get_extension_data: ADDED
1672 gnutls_x509_crl_get_extension_info: ADDED
1673 gnutls_x509_crl_get_extension_oid: ADDED
1674 gnutls_x509_crl_get_number: ADDED
1675 gnutls_x509_crl_set_authority_key_id: ADDED
1676 gnutls_x509_crl_set_number: ADDED
1677 gnutls_x509_crq_get_attribute_data: ADDED
1678 gnutls_x509_crq_get_attribute_info: ADDED
1679 gnutls_x509_crq_get_basic_constraints: ADDED
1680 gnutls_x509_crq_get_extension_by_oid: ADDED
1681 gnutls_x509_crq_get_extension_data: ADDED
1682 gnutls_x509_crq_get_extension_info: ADDED
1683 gnutls_x509_crq_get_key_id: ADDED.
1684 gnutls_x509_crq_get_key_purpose_oid: ADDED
1685 gnutls_x509_crq_get_key_rsa_raw: ADDED
1686 gnutls_x509_crq_get_key_usage: ADDED
1687 gnutls_x509_crq_get_subject_alt_name: ADDED
1688 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
1689 gnutls_x509_crq_print: ADDED
1690 gnutls_x509_crq_set_basic_constraints: ADDED
1691 gnutls_x509_crq_set_key_purpose_oid: ADDED
1692 gnutls_x509_crq_set_key_usage: ADDED
1693 gnutls_x509_crq_set_subject_alt_name: ADDED
1694 gnutls_x509_crt_get_verify_algorithm: ADDED
1695 gnutls_x509_crt_set_crq_extensions: ADDED
1696 gnutls_x509_crt_verify_hash: ADDED
1698 The following interfaces have been added to the header files:
1700 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
1701 GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
1702 GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
1703 GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
1704 GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
1705 GNUTLS_EXTRA_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
1707 The following interfaces have been deprecated:
1709 LIBGNUTLS_VERSION: DEPRECATED.
1710 LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
1711 LIBGNUTLS_VERSION_MINOR: DEPRECATED.
1712 LIBGNUTLS_VERSION_PATCH: DEPRECATED.
1713 LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
1714 LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
1716 * Version 2.7.14 (released 2009-05-26)
1718 ** libgnutls: Fix namespace issue with version symbol for libgnutls-extra.
1719 The symbol LIBGNUTLS_EXTRA_VERSION were renamed to
1720 GNUTLS_EXTRA_VERSION. The old symbol will continue to work but is
1723 ** Doc: Several typo fixes in documentation.
1724 Reported by Peter Hendrickson <pdh@wiredyne.com>.
1726 ** API and ABI modifications:
1727 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
1728 LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
1730 * Version 2.7.13 (released 2009-05-25)
1732 ** libgnutls: Fix version of some exported symbols in the shared library.
1733 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1734 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3576>.
1736 ** tests: Handle recently expired certificates in chainverify self-test.
1737 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1738 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3580>.
1740 ** API and ABI modifications:
1741 No changes since last version.
1743 * Version 2.7.12 (released 2009-05-20)
1745 ** gnutls-serv, gnutls-cli-debug: Make them work on Windows.
1747 ** tests/crq_key_id: Don't read entropy from /dev/random in self-test.
1748 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1749 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3570>.
1751 ** Fix build failures.
1752 Missing sa_family_t and vsnprintf on IRIX. Reported by "Tom
1753 G. Christensen" <tgc@jupiterrise.com> in
1754 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3571>.
1756 ** minitasn1: Internal copy updated to libtasn1 v2.2.
1757 GnuTLS should work fine with libtasn1 v1.x and that is still
1760 ** API and ABI modifications:
1761 No changes since last version.
1763 * Version 2.7.11 (released 2009-05-18)
1765 ** minitasn1: Fix build failure when using internal libtasn1.
1766 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
1767 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3548>.
1769 ** libgnutls: Fix build failure with --disable-cxx.
1770 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1771 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3557>.
1773 ** gnutls-serv: Fix build failure for unportable NI_MAXHOST/NI_MAXSERV.
1774 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
1775 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3560>
1777 ** Building with many warning flags now requires --enable-gcc-warnings.
1778 This avoids crying wolf for normal compiles.
1780 ** API and ABI modifications:
1781 No changes since last version.
1783 * Version 2.7.10 (released 2009-05-13)
1785 ** examples: Now released into the public domain.
1786 This makes the license of the example code compatible with more
1787 licenses, including the (L)GPL.
1789 ** minitasn1: Internal copy updated to libtasn1 v2.1.
1790 GnuTLS should work fine with libtasn1 v1.x and that is still
1793 ** libgnutls: Fix crash in signature verification
1794 The fix for the CVE-2009-1415 problem wasn't merged completely.
1796 ** doc: Fixes for GTK-DOC output.
1798 ** API and ABI modifications:
1799 No changes since last version.
1801 * Version 2.7.9 (released 2009-05-11)
1803 ** doc: Fix strings in man page of gnutls_priority_init.
1805 ** doc: Fix tables of error codes and supported algorithms.
1807 ** Fix build failure when cross-compiled using MinGW.
1809 ** Fix build failure when LZO is enabled.
1810 Reported by Arfrever Frehtes Taifersar Arahesis
1811 <arfrever.fta@gmail.com> in
1812 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3522>.
1814 ** Fix build failure on systems without AF_INET6, e.g., Solaris 2.6.
1815 Reported by "Tom G. Christensen" <tgc@jupiterrise.com> in
1816 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3524>.
1818 ** Fix warnings in self-tests.
1820 ** API and ABI modifications:
1821 No changes since last version.
1823 * Version 2.7.8 (released 2009-05-03)
1825 ** libgnutls: Fix DSA key generation.
1826 Merged from stable branch. [GNUTLS-SA-2009-2] [CVE-2009-1416]
1828 ** libgnutls: Check expiration/activation time on untrusted certificates.
1829 Merged from stable branch. Reported by Romain Francoise
1830 <romain@orebokech.com>. This changes the semantics of
1831 gnutls_x509_crt_list_verify, which in turn is used by
1832 gnutls_certificate_verify_peers and gnutls_certificate_verify_peers2.
1833 We add two new gnutls_certificate_status_t codes for reporting the new
1834 error condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED.
1835 We also add a new gnutls_certificate_verify_flags flag,
1836 GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
1837 behaviour. [GNUTLS-SA-2009-3] [CVE-2009-1417]
1839 ** lib: Linker version scripts reduces number of exported symbols.
1840 The linker version script now lists all exported ABIs explicitly, to
1841 avoid accidentally exporting unintended functions. Compared to
1842 before, most symbols beginning with _gnutls* are no longer exported.
1843 These functions have never been intended for use by applications, and
1844 there were no prototypes for these function in the public header
1845 files. Thus we believe it is possible to do this without incrementing
1846 the library ABI version which normally has to be done when removing an
1849 ** lib: Limit exported symbols on systems without LD linker scripts.
1850 Before all symbols were exported. Now we limit the exported symbols
1851 to (for libgnutls and libgnutls-extra) gnutls* and (for libgnutls)
1852 _gnutls*. This is a superset of the actual supported ABI, but still
1853 an improvement compared to before. This is implemented using Libtool
1854 -export-symbols-regex. It is more portable than linker version
1857 ** libgnutls: Incremented CURRENT/AGE libtool version to reflect new symbols.
1858 This should have been done in the last release.
1860 ** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
1861 Reported by Peter Hendrickson <pdh@wiredyne.com> in
1862 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3476>.
1864 ** doc: Improved sections for the info manual.
1865 We now follow the advice given by the texinfo manual on which
1866 directory categories to use. In particular, libgnutls moved from the
1867 'GNU Libraries' section to the 'Software libraries' and the command
1868 line tools moved from 'Network Applications' to 'System
1871 ** API and ABI modifications:
1872 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
1873 gnutls_certificate_verify_peers: Likewise.
1874 gnutls_certificate_verify_peers2: Likewise.
1875 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
1876 GNUTLS_CERT_EXPIRED: ADDED.
1877 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
1879 * Version 2.7.7 (released 2009-04-20)
1881 ** libgnutls: Applied patch by Cedric Bail to add functions
1882 gnutls_x509_crt_verify_hash() and gnutls_x509_crt_get_verify_algorithm().
1884 ** gnutls.pc: Add -ltasn1 to 'pkg-config --libs --static gnutls' output.
1885 Reported by Andreas Metzler <ametzler@downhill.at.eu.org> in
1886 <http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3467>.
1888 ** minitasn1: Internal copy updated to libtasn1 v1.8.
1889 GnuTLS is also internally ready to be used with libtasn1 v2.0.
1891 ** doc: Fix build failure of errcodes/printlist.
1892 Reported by Roman Bogorodskiy <novel@FreeBSD.org> in
1893 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3435>.
1895 ** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
1896 It is currently only used by the core library. This will enable a new
1897 domain 'gnutls' for translations of the command line tools.
1899 ** Corrected possible memory corruption on signature verification failure.
1900 Reported by Miroslav Kratochvil <exa.exa@gmail.com>
1902 ** API and ABI modifications:
1903 gnutls_x509_crt_verify_hash: ADDED
1904 gnutls_x509_crt_get_verify_algorithm: ADDED
1906 * Version 2.7.6 (released 2009-02-27)
1908 ** certtool: Query for multiple dnsName subjectAltName in interactive mode.
1909 This applies both to generating certificates and certificate requests.
1911 ** pkix.asn: Removed unneeded definitions to reduce memory usage.
1913 ** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
1914 Use --priority NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT to permit V1 CAs to
1915 be used for chain verification.
1917 ** gnutls-serv: No longer disable MAC padding by default.
1918 Use --priority NORMAL:%COMPAT to disable MAC padding again.
1920 ** gnutls-cli: Certificate information output format changed.
1921 The tool now uses libgnutls' functions to print certificate
1922 information. This avoids code duplication.
1924 ** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
1925 ** and %VERIFY_ALLOW_X509_V1_CA_CRT.
1926 They can be used to override the default certificate chain validation
1929 ** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
1930 specify the client hello message record version. Used to overcome buggy
1931 TLS servers. Report by Martin von Gagern.
1933 ** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
1935 ** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
1937 ** doc: Update gnutls-cli and gnutls-serv --help output descriptions.
1939 ** API and ABI modifications:
1940 No changes since last version.
1942 * Version 2.7.5 (released 2009-02-06)
1944 ** libgnutls: Accept chains where intermediary certs are trusted.
1945 Before GnuTLS needed to validate the entire chain back to a
1946 self-signed certificate. GnuTLS will now stop looking when it has
1947 found an intermediary trusted certificate. The new behaviour is
1948 useful when chains, for example, contains a top-level CA, an
1949 intermediary CA signed using RSA-MD5, and an end-entity certificate.
1950 To avoid chain validation errors due to the RSA-MD5 cert, you can
1951 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
1952 The signature on trusted certificates are not checked, so the chain
1953 has a chance to validate correctly. Reported by "Douglas E. Engert"
1954 <deengert@anl.gov> in
1955 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
1957 ** libgnutls: result_size in gnutls_hex_encode now holds
1958 the size of the result. Report by John Brooks <special@dereferenced.net>.
1960 ** libgnutls: gnutls_handshake when sending client hello during a
1961 rehandshake, will not offer a version number larger than the current.
1962 Reported by Tristan Hill <stan@saticed.me.uk>.
1964 ** libgnutls: Permit V1 Certificate Authorities properly.
1965 Before they were mistakenly rejected even though
1966 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
1967 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
1968 "Douglas E. Engert" <deengert@anl.gov> in
1969 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
1971 ** API and ABI modifications:
1972 No changes since last version.
1974 * Version 2.7.4 (released 2009-01-07)
1976 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
1977 This is a bugfix -- the previous attempt to do this from internal x509
1978 certificate verification procedures did not return the correct value
1979 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
1980 <dkg@fifthhorseman.net> in
1981 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
1982 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
1983 Gillmor <dkg@fifthhorseman.net>.
1985 ** libgnutls: New interface to get key id for certificate requests.
1986 Patch from David MarÃn Carreño <davefx@gmail.com> in
1987 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3321>.
1989 ** libgnutls: gnutls_x509_crq_print will now also print public key id.
1991 ** certtool: --verify-chain now prints results of using library verification.
1992 Earlier, certtool --verify-chain used its own validation algorithm
1993 which wasn't guaranteed to give the same result as the libgnutls
1994 internal validation algorithm. Now this command print a new final
1995 line with header 'Chain verification output:' that contains the result
1996 from using the internal verification algorithm on the same chain.
1998 ** tests: Add crq_key_id self-test of gnutls_x509_crq_get_key_id.
2000 ** API and ABI modifications:
2001 gnutls_x509_crq_get_key_id: ADDED.
2003 * Version 2.7.3 (released 2008-12-10)
2005 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
2006 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
2007 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
2008 Andreas Metzler <ametzler@downhill.at.eu.org> in
2009 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
2011 ** libgnutls: Libgcrypt initialization changed.
2012 If libgcrypt has not already been initialized, GnuTLS will now
2013 initialize libgcrypt with disabled secure memory. Initialize
2014 libgcrypt explicitly in your application if you want to enable secure
2015 memory. Before GnuTLS initialized libgcrypt to use GnuTLS's memory
2016 allocation functions, which doesn't use secure memory, so there is no
2017 real change in behaviour.
2019 ** libgnutls: Fix memory leak in PSK authentication.
2020 Reported by Michael Weiser <michael@weiser.dinsnail.net> in
2021 <http://permalink.gmane.org/gmane.network.gnutls.general/1465>.
2023 ** libgnutls: Small byte reads via gnutls_record_recv() optimized.
2025 ** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
2026 It needs to be invoked before libgcrypt is initialized.
2028 ** gnutls-cli: Return non-zero exit code on error conditions.
2030 ** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
2032 ** tests: Added chainverify self-test that tests X.509 chain verifications.
2034 ** API and ABI modifications:
2035 No changes since last version.
2037 * Version 2.7.2 (released 2008-11-18)
2039 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
2040 The flaw makes it possible for man in the middle attackers (i.e.,
2041 active attackers) to assume any name and trick GnuTLS clients into
2042 trusting that name. Thanks for report and analysis from Martin von
2043 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
2045 Any updates with more details about this vulnerability will be added
2046 to <http://www.gnu.org/software/gnutls/security.html>
2048 ** libgnutls: Fix namespace issue with version symbols.
2049 The symbols LIBGNUTLS_VERSION, LIBGNUTLS_VERSION_MAJOR,
2050 LIBGNUTLS_VERSION_MINOR, LIBGNUTLS_VERSION_PATCH, and
2051 LIBGNUTLS_VERSION_NUMBER were renamed to GNUTLS_VERSION_NUMBER,
2052 GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MINOR, GNUTLS_VERSION_PATCH, and
2053 GNUTLS_VERSION_NUMBER respectively. The old symbols will continue to
2054 work but are deprecated.
2056 ** certtool: allow setting arbitrary key purpose object identifiers.
2058 ** libgnutls: Fix detection of C99 macros, to make debug logging work again.
2060 ** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
2061 Reported by Kevin Quick <quick@sparq.org> in
2062 <https://savannah.gnu.org/support/index.php?106454>.
2064 ** libgnutls-extra: Make building with LZO compression work again.
2065 Build failure reported by Arfrever Frehtes Taifersar Arahesis
2066 <arfrever.fta@gmail.com> in
2067 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3194>.
2069 ** libgnutls: Change detection of when to use a linker version script.
2070 Use --enable-ld-version-script or --disable-ld-version-script to
2071 override auto-detection logic.
2073 ** doc: Change license on the manual to GFDLv1.3+.
2075 ** doc: GTK-DOC fixes for new splitted configuration system.
2077 ** doc: Texinfo stylesheet uses white background.
2079 ** tests: Add cve-2008-4989.c self-test.
2080 Tests regressions of the GNUTLS-SA-2008-3 security problem, and the
2081 follow-on problem with crashes on length 1 certificate chains.
2083 ** gnulib: Deprecated modules removed.
2084 Modules include memchr and memcmp.
2086 ** Fix warnings and build GnuTLS with more warnings enabled.
2088 ** minitasn1: Internal copy updated to libtasn1 v1.7.
2090 ** API and ABI modifications:
2091 gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
2092 GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
2093 GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
2094 GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
2095 GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
2096 GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
2097 LIBGNUTLS_VERSION: DEPRECATED.
2098 LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
2099 LIBGNUTLS_VERSION_MINOR: DEPRECATED.
2100 LIBGNUTLS_VERSION_PATCH: DEPRECATED.
2101 LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
2103 * Version 2.7.1 (released 2008-10-31)
2105 ** certtool: print a PKCS #8 key even if it is not encrypted.
2107 ** Old libgnutls.m4 and libgnutls-config scripts removed.
2108 Please use pkg-config instead.
2110 ** Configuration system modified.
2111 There is now a configure script in lib/ and libextra/ as well, because
2112 gnulib works better with a config.h per gnulib directory.
2114 ** API and ABI modifications:
2115 No changes since last version.
2117 * Version 2.7.0 (released 2008-10-16)
2119 ** libgnutls: Added functions to handle CRL extensions.
2121 ** libgnutls: Added functions to handle X.509 extensions in Certificate
2124 ** libgnutls: Improved error string for GNUTLS_E_AGAIN.
2125 Suggested by "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" <lavr@ncbi.nlm.nih.gov>.
2127 ** certtool: Print and set CRL and CRQ extensions.
2129 ** libgnutls-extra: Protect internal symbols with static.
2130 Fixes problem when linking certtool statically. Tiny patch from Aaron
2131 Ucko <ucko@ncbi.nlm.nih.gov>.
2133 ** libgnutls-openssl: fix out of bounds access.
2134 Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
2135 from Thomas Viehmann <tv@beamnet.de>.
2137 ** libgnutlsxx: Define server_session::get_srp_username even if no SRP.
2139 ** tests: Make tests compile when using internal libtasn1.
2140 Patch by ludo@gnu.org (Ludovic Courtès).
2142 ** Changed detection of libtasn1 and libgcrypt to avoid depending on *-config.
2143 We now require a libgcrypt that has Camellia constants declared in
2144 gcrypt.h, which means v1.3.0 or later.
2146 ** API and ABI modifications:
2147 gnutls_x509_crl_get_authority_key_id: ADDED
2148 gnutls_x509_crl_get_number: ADDED
2149 gnutls_x509_crl_get_extension_oid: ADDED
2150 gnutls_x509_crl_get_extension_info: ADDED
2151 gnutls_x509_crl_get_extension_data: ADDED
2152 gnutls_x509_crl_set_authority_key_id: ADDED
2153 gnutls_x509_crl_set_number: ADDED
2154 gnutls_x509_crq_get_key_rsa_raw: ADDED
2155 gnutls_x509_crq_get_attribute_info: ADDED
2156 gnutls_x509_crq_get_attribute_data: ADDED
2157 gnutls_x509_crq_get_extension_info: ADDED
2158 gnutls_x509_crq_get_extension_data: ADDED
2159 gnutls_x509_crq_get_key_usage: ADDED
2160 gnutls_x509_crq_get_basic_constraints: ADDED
2161 gnutls_x509_crq_get_subject_alt_name: ADDED
2162 gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
2163 gnutls_x509_crq_get_extension_by_oid: ADDED
2164 gnutls_x509_crq_set_subject_alt_name: ADDED
2165 gnutls_x509_crq_set_basic_constraints: ADDED
2166 gnutls_x509_crq_set_key_usage: ADDED
2167 gnutls_x509_crq_get_key_purpose_oid: ADDED
2168 gnutls_x509_crq_set_key_purpose_oid: ADDED
2169 gnutls_x509_crq_print: ADDED
2170 gnutls_x509_crt_set_crq_extensions: ADDED
2172 * Version 2.6.6 (released 2009-04-30)
2174 ** libgnutls: Corrected double free on signature verification failure.
2175 Reported by Miroslav Kratochvil <exa.exa@gmail.com>. See the advisory
2176 for more details. [GNUTLS-SA-2009-1] [CVE-2009-1415]
2178 ** libgnutls: Fix DSA key generation.
2179 Noticed when investigating the previous GNUTLS-SA-2009-1 problem. All
2180 DSA keys generated using GnuTLS 2.6.x are corrupt. See the advisory
2181 for more details. [GNUTLS-SA-2009-2] [CVE-2009-1416]
2183 ** libgnutls: Check expiration/activation time on untrusted certificates.
2184 Reported by Romain Francoise <romain@orebokech.com>. Before the
2185 library did not check activation/expiration times on certificates, and
2186 was documented as not doing so. We have realized that many
2187 applications that use libgnutls, including gnutls-cli, fail to perform
2188 proper checks. Implementing similar logic in all applications leads
2189 to code duplication. Hence, we decided to check whether the current
2190 time (as reported by the time function) is within the
2191 activation/expiration period of certificates when verifying untrusted
2194 This changes the semantics of gnutls_x509_crt_list_verify, which in
2195 turn is used by gnutls_certificate_verify_peers and
2196 gnutls_certificate_verify_peers2. We add two new
2197 gnutls_certificate_status_t codes for reporting the new error
2198 condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. We also
2199 add a new gnutls_certificate_verify_flags flag,
2200 GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
2203 More details about the vulnerabilities will be posted at
2204 <http://www.gnu.org/software/gnutls/security.html>.
2206 ** gnutls-cli, gnutls-cli-debug: Fix AIX build problem.
2207 Reported by LAUPRETRE François (P) <francois.laupretre@ratp.fr> in
2208 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3468>.
2210 ** tests: Fix linking of tests/openpgp/keyring self-test.
2211 Reported by Daniel Black in <https://savannah.gnu.org/support/?106543>.
2213 ** API and ABI modifications:
2214 gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
2215 gnutls_certificate_verify_peers: Likewise.
2216 gnutls_certificate_verify_peers2: Likewise.
2217 GNUTLS_CERT_NOT_ACTIVATED: ADDED.
2218 GNUTLS_CERT_EXPIRED: ADDED.
2219 GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
2221 * Version 2.6.5 (released 2009-04-11)
2223 ** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
2224 specify the client hello message record version. Used to overcome buggy
2225 TLS servers. Report by Martin von Gagern.
2227 ** GnuTLS no longer uses the libtasn1-config script to find libtasn1.
2228 Libtasn1 0.3.4 or later is required. This is to align with the
2229 upcoming libtasn1 v2.0 release that doesn't have a libtasn1-script.
2231 ** API and ABI modifications:
2232 No changes since last version.
2234 * Version 2.6.4 (released 2009-02-06)
2236 ** libgnutls: Accept chains where intermediary certs are trusted.
2237 Before GnuTLS needed to validate the entire chain back to a
2238 self-signed certificate. GnuTLS will now stop looking when it has
2239 found an intermediary trusted certificate. The new behaviour is
2240 useful when chains, for example, contains a top-level CA, an
2241 intermediary CA signed using RSA-MD5, and an end-entity certificate.
2242 To avoid chain validation errors due to the RSA-MD5 cert, you can
2243 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
2244 The signature on trusted certificates are not checked, so the chain
2245 has a chance to validate correctly. Reported by "Douglas E. Engert"
2246 <deengert@anl.gov> in
2247 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2249 ** libgnutls: result_size in gnutls_hex_encode now holds
2250 the size of the result. Report by John Brooks <special@dereferenced.net>.
2252 ** libgnutls: gnutls_handshake when sending client hello during a
2253 rehandshake, will not offer a version number larger than the current.
2254 Reported by Tristan Hill <stan@saticed.me.uk>.
2256 ** libgnutls: Permit V1 Certificate Authorities properly.
2257 Before they were mistakenly rejected even though
2258 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
2259 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
2260 "Douglas E. Engert" <deengert@anl.gov> in
2261 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2263 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
2264 This is a bugfix -- the previous attempt to do this from internal x509
2265 certificate verification procedures did not return the correct value
2266 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
2267 <dkg@fifthhorseman.net> in
2268 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
2269 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
2270 Gillmor <dkg@fifthhorseman.net>.
2272 ** libgnutls: Fix compile error with Sun CC.
2273 Reported by Jeff Cai <jeff.cai@sun.com> in
2274 <https://savannah.gnu.org/support/?106549>.
2276 ** API and ABI modifications:
2277 No changes since last version.
2279 * Version 2.6.3 (released 2008-12-12)
2281 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
2282 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
2283 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
2284 Andreas Metzler <ametzler@downhill.at.eu.org> in
2285 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
2287 ** libgnutls: Fix memory leak in PSK authentication.
2288 Reported by Michael Weiser <michael@weiser.dinsnail.net> in
2289 <http://permalink.gmane.org/gmane.network.gnutls.general/1465>.
2291 ** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
2292 It needs to be invoked before libgcrypt is initialized.
2294 ** gnutls-cli: Return non-zero exit code on error conditions.
2296 ** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
2298 ** API and ABI modifications:
2299 No changes since last version.
2301 * Version 2.6.2 (released 2008-11-12)
2303 ** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
2304 The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
2305 problem for certificate chains that contained just one self-signed
2306 certificate. Reported by Michael Meskes <meskes@debian.org> in
2307 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279>.
2309 ** API and ABI modifications:
2310 No changes since last version.
2312 * Version 2.6.1 (released 2008-11-10)
2314 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
2315 The flaw makes it possible for man in the middle attackers (i.e.,
2316 active attackers) to assume any name and trick GnuTLS clients into
2317 trusting that name. Thanks for report and analysis from Martin von
2318 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
2320 Any updates with more details about this vulnerability will be added
2321 to <http://www.gnu.org/software/gnutls/security.html>
2323 ** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
2324 Reported by Kevin Quick <quick@sparq.org> in
2325 <https://savannah.gnu.org/support/index.php?106454>.
2327 ** libgnutls-extra: Protect internal symbols with static.
2328 Fixes problem when linking certtool statically. Tiny patch from Aaron
2329 Ucko <ucko@ncbi.nlm.nih.gov>.
2331 ** libgnutls-openssl: Fix patch against X509_get_issuer_name.
2332 It incorrectly returned the subject DN instead of issuer DN in v2.6.0.
2333 Thanks to Thomas Viehmann <tv@beamnet.de> for report.
2335 ** certtool: Print a PKCS #8 key even if it is not encrypted.
2337 ** tests: Make tests compile when using internal libtasn1.
2338 Patch by ludo@gnu.org (Ludovic Courtès).
2340 ** API and ABI modifications:
2341 No changes since last version.
2343 * Version 2.6.0 (released 2008-10-06)
2345 ** libgnutls: Correct printing and parsing of IPv6 addresses.
2347 ** libgnutls-openssl: fix out of bounds access.
2348 Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
2349 from Thomas Viehmann <tv@beamnet.de>.
2351 ** certtool: Use inet_pton for parsing IPv6 addresses.
2353 ** Major changes compared to the v2.4 branch:
2355 *** Added API to replace and update the crypto backend.
2357 *** certtool: can add several subject alternative names via template file.
2359 *** opencdk: Parse (but not decrypt) encrypted secret keys.
2361 *** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
2362 either set or append alternative names. It can also handle binary structures
2363 such as IP addresses.
2365 *** libgnutls: New function to set minimum acceptable SRP bits.
2366 The function is gnutls_srp_set_prime_bits.
2368 *** libgnutls: Add interface to deal with public key and signature algorithms.
2369 The functions are called gnutls_pk_list, gnutls_pk_get_id,
2370 gnutls_sign_list, and gnutls_sign_get_id.
2372 *** libgnutls: New interfaces to get name of public key and signing algorithms.
2373 The functions are gnutls_sign_get_name and gnutls_pk_get_name.
2375 *** libgnutls: New API to get a string corresponding to a error symbol.
2376 The function is gnutls_strerror_name.
2378 *** libgnutls: New API to set the public parameters in a certificate request
2379 *** from a private key.
2380 The function is gnutls_x509_crq_set_key_rsa_raw.
2382 *** libgnutls: New API to set a callback to extract TLS Finished data.
2383 The function to register is gnutls_session_set_finished_function and
2384 it takes a callback of the gnutls_finished_callback_func type.
2386 *** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
2388 *** libgnutls: New interface to register a new TLS extension handler.
2389 The new function gnutls_ext_register can be used to register handlers
2390 for specific TLS extension types. The callback functions have the new
2391 types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
2392 classify TLS extensions, gnutls_ext_parse_type_t, has been added as
2395 *** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
2396 The function is gnutls_register_md5_handler. When libgcrypt is in
2397 FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
2400 *** API/ABI changes in GnuTLS 2.6
2401 No functions have been removed or modified. The library should be
2402 fully backwards compatible on both the source and binary level.
2404 A new header file <gnutls/crypto.h> have been added. It contains
2405 definitions related to replacing the internal crypto functionality.
2406 All definitions and the header itself is experimental but supported.
2408 We have realized that the symbols TLS_MASTER_SIZE and TLS_RANDOM_SIZE
2409 does not use the normal namespace. We have added GNUTLS_MASTER_SIZE
2410 and GNUTLS_RANDOM_SIZE, but the old symbols are still defined.
2412 The following functions have been added to libgnutls:
2416 gnutls_crypto_bigint_register2
2417 gnutls_crypto_cipher_register2
2418 gnutls_crypto_digest_register2
2419 gnutls_crypto_mac_register2
2420 gnutls_crypto_pk_register2
2421 gnutls_crypto_rnd_register2
2422 gnutls_crypto_single_cipher_register2
2423 gnutls_crypto_single_digest_register2
2424 gnutls_crypto_single_mac_register2
2429 gnutls_session_set_finished_function
2431 gnutls_sign_get_name
2433 gnutls_srp_set_prime_bits:
2434 gnutls_strerror_name
2435 gnutls_x509_crq_set_key_rsa_raw
2436 gnutls_x509_crt_set_crl_dist_points2
2437 gnutls_x509_crt_set_subject_alt_name
2439 The following functions have been added to libgnutls-extra:
2441 gnutls_register_md5_handler
2443 ** API and ABI modifications:
2444 No changes since last version.
2446 * Version 2.5.9 (released 2008-09-29)
2448 ** libgnutls: Fix several memory leaks.
2449 Reported by Sam Varshavchik <mrsam@courier-mta.com>.
2451 ** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
2452 Report and patch by Jonathan Manktelow.
2454 ** libgnutls: crypto.h gnutls_pk_params_st changes allocation strategy.
2455 The parameters are now allocated in the structure itself.
2457 ** doc: Texinfo HTML manual uses a stylesheet to improve readability.
2459 ** tests: Scripts now use EXEEXT properly.
2460 Modern libtool doesn't create wrapper script, so the self tests need
2461 to invoke certtool.exe under MinGW32+Wine.
2463 ** Uses autoconf 2.63, automake 1.10.1, libtool 2.2.6a.
2464 Automake warnings are now also enabled.
2466 ** API and ABI modifications:
2467 gnutls_pk_params_st: MODIFIED
2469 * Version 2.5.8 (released 2008-09-21)
2471 ** certtool: updated so it can add several subject alternative names using
2474 ** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
2475 either set or append alternative names. It can also handle binary structures
2476 such as IP addresses.
2478 ** libgnutls: Fix crash in hashing code when using non-libgcrypt handlers.
2480 ** libgnutls: New function to set minimum acceptable SRP bits.
2481 The function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick
2482 <quick@sparq.org> in <https://savannah.gnu.org/support/index.php?106454>.
2484 ** libgnutls: Check for overflows in gnutls_calloc and gnutls_secure_calloc.
2485 Also fix overflows in calls to those functions. Reported by Werner
2486 Koch <wk@gnupg.org>.
2488 ** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
2489 The function is gnutls_register_md5_handler. When libgcrypt is in
2490 FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
2493 ** Opencdk: Add calls to gnutls_assert to ease debugging.
2497 ** API and ABI modifications:
2498 gnutls_srp_set_prime_bits: ADDED
2499 gnutls_register_md5_handler: ADDED
2500 gnutls_x509_crt_set_crl_dist_points2: ADDED
2501 gnutls_x509_crt_set_subject_alt_name: ADDED
2503 * Version 2.5.7 (released 2008-09-16)
2505 ** libgnutls: New interfaces to get name of public key and signing algorithms.
2506 The functions are gnutls_sign_get_name and gnutls_pk_get_name.
2508 ** libgnutls: Don't crash when gnutls_credentials_set is called twice.
2510 ** libgnutls: Fix libgnutls shared library version.
2511 It wasn't properly incremented after adding symbols in the last
2514 ** manual: Now mention supported public key and public key signing algorithms.
2516 ** tests/openssl: initialize gnutls before use.
2518 ** tests/setcredcrash: New test to catch regressions of gnutls_credentials_set.
2520 ** GTK-DOC manual: mention new symbols in 2.6.x. Mention crypto.h functions.
2522 ** API and ABI modifications:
2523 gnutls_sign_get_name: ADDED
2524 gnutls_pk_get_name: ADDED
2526 * Version 2.5.6 (released 2008-09-08)
2528 ** libgnutls: Add interface to deal with public key and signature algorithms.
2529 The functions are called gnutls_pk_list, gnutls_pk_get_id,
2530 gnutls_sign_list, and gnutls_sign_get_id. Suggested by Sam
2531 Varshavchik <mrsam@courier-mta.com>.
2533 ** libgnutls: Refactor and clean up some code.
2535 ** libgnutls: Fix compile error with Sun CC.
2537 ** gnutls-cli: Improve --list output to include public key and signature algs.
2539 ** gnutls-cli, gnutls-serv: Remove --copyright parameter.
2540 Use standard --version to get license info.
2542 ** gnutls-cli.1: Document all new parameters.
2543 Thanks to James Westby <jw+debian@jameswestby.net>.
2545 ** tests: New self-test pgps2kgnu to test parsing of encrypted secrets.
2546 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2548 ** API and ABI modifications:
2549 gnutls_pk_list: ADDED
2550 gnutls_pk_get_id: ADDED
2551 gnutls_sign_list: ADDED
2552 gnutls_sign_get_id: ADDED
2554 * Version 2.5.5 (released 2008-08-29)
2556 ** libgnutls: New API to get a string corresponding to a error symbol.
2557 The function is gnutls_strerror_name.
2559 ** libgnutls: Fix include paths so that building with internal libtasn1 works.
2560 Reported by "jth.net ApS" <info@jth.net>.
2562 ** libgnutls: Fix segmentation fault when generating private keys.
2563 Reported by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2565 ** libgnutls: Remove code to import certificate chains in PKCS#7 format.
2566 The code has not worked since v0.9.0 and apparently nobody has missed
2567 it, so we decided to remove the code rather than fix it. If you have
2568 old certificate chains stored in PKCS#7 format, you can convert them
2569 to a list of PEM certificates by using 'certtool --p7-info'. Reported
2570 by Christian Grothoff <christian@grothoff.org>.
2572 ** opencdk: Parse (but not decrypt) encrypted secret keys.
2573 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2575 ** libgnutls: Fix many warnings.
2577 ** Included copy of libtasn1 is upgraded to version 1.5.
2579 ** Add French translation, thanks to Nicolas Provost.
2581 ** API and ABI modifications:
2582 gnutls_strerror_name: ADDED
2584 * Version 2.5.4 (released 2008-08-19)
2586 ** Fix secure memory initialization of libgcrypt.
2587 Reported by Joe Orton <joe@manyfish.co.uk> in
2588 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2992>.
2591 Reference to NIST SP 800-57 in the manual on key size recommendations.
2592 Added 'Since:' tags to new APIs for gtk-doc.
2594 ** API and ABI modifications:
2595 No changes since last version.
2597 * Version 2.5.3 (released 2008-08-14)
2599 ** libgnutls: New API to set the public parameters in a certificate request
2600 ** from a private key.
2601 The function is gnutls_x509_crq_set_key_rsa_raw. Inspired by
2602 discussion with "Zach C." <fxchip@gmail.com>.
2604 ** libgnutls: New API to set a callback to extract TLS Finished data.
2605 The function to register is gnutls_session_set_finished_function and
2606 it takes a callback of the gnutls_finished_callback_func type.
2608 ** libgnutls: Drop final comma after GNUTLS_CRT_PRINT_UNSIGNED_FULL in enum.
2609 Reported in <https://savannah.gnu.org/support/?106453>.
2611 ** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
2612 The new names are GNUTLS_MASTER_SIZE and GNUTLS_RANDOM_SIZE. The old
2613 names are mapped to the new names in compat.h. These mappings will
2614 likely be removed more quickly than other mappings in that file due to
2615 the namespace violation.
2617 ** libgnutlsxx: Make it build when SRP is disabled.
2619 ** doc: Add doxygen files in doc/doxygen/.
2621 ** API and ABI modifications:
2622 gnutls_x509_crq_set_key_rsa_raw: ADDED
2623 gnutls_session_set_finished_function: ADDED
2624 gnutls_finished_callback_func: ADDED
2625 GNUTLS_MASTER_SIZE: ADDED
2626 GNUTLS_RANDOM_SIZE: ADDED
2627 TLS_MASTER_SIZE: DEPRECATED
2628 TLS_RANDOM_SIZE: DEPRECATED
2630 * Version 2.5.2 (released 2008-07-08)
2632 ** libgnutls: Fix bug in gnutls_dh_params_generate2.
2633 The prime and generator was swapped.
2635 ** libgnutls: New interface to register a new TLS extension handler.
2636 The new function gnutls_ext_register can be used to register handlers
2637 for specific TLS extension types. The callback functions have the new
2638 types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
2639 classify TLS extensions, gnutls_ext_parse_type_t, has been added as
2642 ** Move more code for TLS/IA extension from libgnutls to libgnutls-extra.
2643 This was made possible by using the new gnutls_ext_register interface.
2644 The TLS/IA functionality has only been supported through the
2645 libgnutls-extra library, so it makes sense for the code to belong
2648 ** API and ABI modifications:
2649 gnutls_ext_recv_func: ADDED
2650 gnutls_ext_send_func: ADDED
2651 gnutls_ext_parse_type_t: ADDED
2652 gnutls_ext_register: ADDED
2654 * Version 2.5.1 (released 2008-07-02)
2658 ** API and ABI modifications:
2659 No changes since last version.
2661 * Version 2.5.0 (released 2008-07-02)
2663 ** Port fixes from v2.4.1 release, see below.
2665 ** Added API to replace and update the crypto backend.
2666 The header gnutls/crypto.h is now officially supported, and declares
2669 ** Rewritten opencdk crypto backend, to use the gnutls internal one.
2671 ** Update gnulib and translations.
2672 The gnulib gc crypto code has been removed since it was never finished
2673 and is no longer even used. An internal non-libgcrypt crypto
2674 implementation may be added in the future, but we'll decide that later
2677 ** API and ABI modifications:
2678 gnutls_crypto_bigint_register2: ADDED.
2679 gnutls_crypto_cipher_register2: ADDED.
2680 gnutls_crypto_digest_register2: ADDED.
2681 gnutls_crypto_mac_register2: ADDED.
2682 gnutls_crypto_pk_register2: ADDED.
2683 gnutls_crypto_rnd_register2: ADDED.
2684 gnutls_crypto_single_cipher_register2: ADDED.
2685 gnutls_crypto_single_digest_register2: ADDED.
2686 gnutls_crypto_single_mac_register2: ADDED.
2688 * Version 2.4.3 (released 2009-02-06)
2690 ** libgnutls: Accept chains where intermediary certs are trusted.
2691 Before GnuTLS needed to validate the entire chain back to a
2692 self-signed certificate. GnuTLS will now stop looking when it has
2693 found an intermediary trusted certificate. The new behaviour is
2694 useful when chains, for example, contains a top-level CA, an
2695 intermediary CA signed using RSA-MD5, and an end-entity certificate.
2696 To avoid chain validation errors due to the RSA-MD5 cert, you can
2697 explicitly add the intermediary RSA-MD5 cert to your trusted certs.
2698 The signature on trusted certificates are not checked, so the chain
2699 has a chance to validate correctly. Reported by "Douglas E. Engert"
2700 <deengert@anl.gov> in
2701 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2703 ** libgnutls: Permit V1 Certificate Authorities properly.
2704 Before they were mistakenly rejected even though
2705 GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
2706 GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
2707 "Douglas E. Engert" <deengert@anl.gov> in
2708 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351>.
2710 ** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
2711 This is a bugfix -- the previous attempt to do this from internal x509
2712 certificate verification procedures did not return the correct value
2713 for certificates using a weak hash. Reported by Daniel Kahn Gillmor
2714 <dkg@fifthhorseman.net> in
2715 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332>,
2716 debugged and patch by Tomas Mraz <tmraz@redhat.com> and Daniel Kahn
2717 Gillmor <dkg@fifthhorseman.net>.
2719 ** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
2720 Reported by Michael Kiefer <Michael-Kiefer@web.de> in
2721 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633> forwarded by
2722 Andreas Metzler <ametzler@downhill.at.eu.org> in
2723 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309>.
2725 ** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
2726 The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
2727 problem for certificate chains that contained just one self-signed
2728 certificate. Reported by Michael Meskes <meskes@debian.org> in
2729 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279>.
2731 ** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
2732 The flaw makes it possible for man in the middle attackers (i.e.,
2733 active attackers) to assume any name and trick GnuTLS clients into
2734 trusting that name. Thanks for report and analysis from Martin von
2735 Gagern <Martin.vGagern@gmx.net>. [CVE-2008-4989]
2737 Any updates with more details about this vulnerability will be added
2738 to <http://www.gnu.org/software/gnutls/security.html>
2740 ** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
2741 Report and patch by Jonathan Manktelow.
2743 ** libgnutls: Avoid use of non-thread safe strerror.
2745 ** API and ABI modifications:
2746 No changes since last version.
2748 * Version 2.4.2 (released 2008-09-15)
2750 ** libgnutls: Don't crash when gnutls_credentials_set is called twice.
2752 ** libgnutls: Corrected memory leak in X.509 functions.
2753 Thanks to Colin Leroy <colin@colino.net>.
2755 ** libgnutls: Fix compile error with Sun CC.
2757 ** gnutls-cli.1: Document all new parameters.
2758 Thanks to James Westby <jw+debian@jameswestby.net>.
2760 ** tests/openssl: initialize gnutls before use.
2761 Fixes crash with libgcrypt 1.4.2. Reported by Ludovic Courtes
2762 <ludovic.courtes@laas.fr>.
2764 ** doc/: Fix texinfo markup for old texinfo versions.
2766 ** Included copy of libtasn1 is upgraded to version 1.5.
2768 ** API and ABI modifications:
2769 No changes since last version.
2771 * Version 2.4.1 (released 2008-06-30)
2773 ** libgnutls: Fix local crash in gnutls_handshake. [GNUTLS-SA-2008-2]
2774 If the gnutls_handshake function is called for a normal session, which
2775 can happen for re-handshakes, the library would crash because it tried
2776 to hash some data using a libgcrypt handle that had been deallocated.
2777 Report and tiny patch from Tomas Mraz <tmraz@redhat.com>. Any updates
2778 with more details about this vulnerability will be added to
2779 <http://www.gnu.org/software/gnutls/security.html>
2781 ** libgnutls: Fix memory leaks when doing a re-handshake.
2782 Reported by Sam Varshavchik <mrsam@courier-mta.com> in
2783 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2928>.
2785 ** Fix compiler warnings.
2786 Reported by Massimo Gaspari <massimo.gaspari@alice.it> in
2787 <http://thread.gmane.org/gmane.network.gnutls.general/1281>.
2789 ** Fix ordering of -I's to avoid opencdk.h conflict with system headers.
2790 Reported by Roman Bogorodskiy <novel@FreeBSD.org> in
2791 <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2930>.
2793 ** srptool: Fix a problem where --verify check does not succeed.
2794 Report and tiny patch by Matthias Koenig <mkoenig@suse.de> in
2795 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2944>.
2797 ** API and ABI modifications:
2798 No changes since last version.
2800 * Version 2.4.0 (released 2008-06-19)
2802 ** Major changes compared to the v2.2 branch:
2804 *** The OpenPGP sub-system has been improved and now supports subkeys.
2806 *** The PSK sub-system has been improved and now supports password
2807 *** derivation and PSK identity hints.
2808 The password derivation algorithms support is documented in
2809 draft-ietf-netconf-tls-02.txt.
2811 *** The certtool --inder and --outder has been replaced by --inraw and --outraw.
2812 This aligns terminology with OpenPGP, which doesn't use DER encoding.
2813 The old parameters will continue to work for some time.
2815 *** Certtool now confirm passwords and changes permissions of private key files.
2817 *** The default handshake size limit has been increased to 48kb.
2818 It appears as if some valid handshakes are large due to sending many
2819 CA certificates. (The earlier limit was 16kb.)
2821 *** LZO compression is now disabled by default.
2822 The main reason is that LZO compression in TLS is not standardized,
2823 but license compatiblity issues with minilzo triggered us to make this
2826 *** Improvements for cross-compilation to Windows and OpenWRT.
2828 *** The look of the GTK-DOC manual has been improved.
2829 Major developer visible changes compared to the v2.2 branch:
2831 *** Full OpenPGP support is part of libgnutls, licensed under the LGPL.
2833 *** New APIs to access the raw X.509 Subject and Issuer DN's and
2834 *** elements from the certificate credentials structure.
2835 Thanks to Joe Orton.
2837 *** New APIs to improve working with username/passwords and PSK.
2839 *** Names of constants to affect certificate printing changed.
2840 The constants are used for OpenPGP too, which the names didn't
2841 reflect, so the following name change has been made:
2844 GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
2845 GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
2846 GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
2848 The old names will be mapped to the new names for some time.
2850 *** The function gnutls_openpgp_privkey_get_id has been renamed to
2851 *** gnutls_openpgp_privkey_get_key_id.
2852 A compatibility mapping exists to avoid breaking API backwards
2855 *** Replaced all uses of alloca with malloc and free.
2857 *** We no longer build with -D_REENTRANT -D_THREAD_SAFE.
2858 We have been unable to find a documented rationale for this practice.
2860 *** Of course, many smaller fixes have been made, see the ChangeLog file.
2862 *** API/ABI changes in GnuTLS 2.4
2863 All OpenPGP related functions have been moved from libgnutls-extra to
2864 libgnutls, and several new functions have been added (see below).
2865 Before making the release, we discussed whether moving functions from
2866 libgnutls-extra to libgnutls would require us to increment the ABI
2867 version, but the general opinion was that this would not be required.
2868 All older functions continue to work the same. We are open to the
2869 possibility that this decision will lead to problem on some platform,
2870 and if it turns out that the Right Thing should have been to increment
2871 the shared library version, we would need to release an update within
2872 the 2.4.x branch that increments the shared library version.
2874 This release adds the following functions:
2876 gnutls_psk_client_get_hint
2877 gnutls_psk_set_server_credentials_hint
2878 gnutls_psk_netconf_derive_key
2880 Used to get/set the PSK identity hint, and derive PSK keys from
2881 passwords a'la netconf.
2883 gnutls_x509_dn_deinit
2884 gnutls_x509_dn_export
2885 gnutls_x509_dn_import
2888 Used to handle X.509 Certificate DN's directly.
2892 Converts a data buffer to hex. Useful for handling PSK/SRP shared
2895 gnutls_certificate_get_x509_cas
2896 gnutls_certificate_get_x509_crls
2897 gnutls_certificate_get_openpgp_keyring
2899 Functions for direct access to credential elements.
2901 gnutls_openpgp_crt_get_auth_subkey
2902 gnutls_openpgp_crt_get_key_id
2903 gnutls_openpgp_crt_get_pk_dsa_raw
2904 gnutls_openpgp_crt_get_pk_rsa_raw
2905 gnutls_openpgp_crt_get_preferred_key_id
2906 gnutls_openpgp_crt_get_revoked_status
2907 gnutls_openpgp_crt_get_subkey_count
2908 gnutls_openpgp_crt_get_subkey_creation_time
2909 gnutls_openpgp_crt_get_subkey_expiration_time
2910 gnutls_openpgp_crt_get_subkey_fingerprint
2911 gnutls_openpgp_crt_get_subkey_id
2912 gnutls_openpgp_crt_get_subkey_idx
2913 gnutls_openpgp_crt_get_subkey_pk_algorithm
2914 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
2915 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
2916 gnutls_openpgp_crt_get_subkey_revoked_status
2917 gnutls_openpgp_crt_get_subkey_usage
2918 gnutls_openpgp_crt_print
2919 gnutls_openpgp_crt_set_preferred_key_id
2920 gnutls_openpgp_keyring_get_crt
2921 gnutls_openpgp_keyring_get_crt_count
2922 gnutls_openpgp_privkey_export
2923 gnutls_openpgp_privkey_export_dsa_raw
2924 gnutls_openpgp_privkey_export_rsa_raw
2925 gnutls_openpgp_privkey_export_subkey_dsa_raw
2926 gnutls_openpgp_privkey_export_subkey_rsa_raw
2927 gnutls_openpgp_privkey_get_fingerprint
2928 gnutls_openpgp_privkey_get_key_id
2929 gnutls_openpgp_privkey_get_pk_algorithm
2930 gnutls_openpgp_privkey_get_preferred_key_id
2931 gnutls_openpgp_privkey_get_revoked_status
2932 gnutls_openpgp_privkey_get_subkey_count
2933 gnutls_openpgp_privkey_get_subkey_creation_time
2934 gnutls_openpgp_privkey_get_subkey_expiration_time
2935 gnutls_openpgp_privkey_get_subkey_fingerprint
2936 gnutls_openpgp_privkey_get_subkey_id
2937 gnutls_openpgp_privkey_get_subkey_idx
2938 gnutls_openpgp_privkey_get_subkey_pk_algorithm
2939 gnutls_openpgp_privkey_get_subkey_revoked_status
2940 gnutls_openpgp_privkey_set_preferred_key_id
2942 New OpenPGP related functions.
2944 The function gnutls_openpgp_crt_get_key_id is the same as the old
2945 from gnutls_openpgp_crt_get_id, see above.
2947 The release also adds a new header file 'gnutls/crypto.h', however it
2948 is currently not used.
2950 ** libgnutls [OpenPGP]: New APIs to retrieve fingerprint from OpenPGP subkeys.
2951 Contributed by Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>.
2953 ** API and ABI modifications:
2954 gnutls_openpgp_crt_get_subkey_fingerprint: ADDED.
2955 gnutls_openpgp_privkey_get_subkey_fingerprint: ADDED.
2957 * Version 2.3.15 (released 2008-06-15)
2959 ** Disable the openpgp-certs self-tests.
2960 It results in failure under Wine and doesn't work on Debian buildds.
2962 ** API and ABI modifications:
2963 No changes since last version.
2965 * Version 2.3.14 (released 2008-06-11)
2967 ** libgnutls [OpenPGP]: Changed OpenPGP verification behaviour.
2968 An OpenPGP certificate is now only considered verified if all the user
2971 ** Examples: Make C++ example compile.
2972 Earlier it may have failed with an unresolved reference to strlen.
2974 ** Documentation: Doc fix for gnutls_x509_crt_get_extension_oid.
2975 Reported by Sam Varshavchik <mrsam@courier-mta.com>.
2977 ** API and ABI modifications:
2978 No changes since last version.
2980 * Version 2.3.13 (released 2008-06-07)
2982 ** libgnutls [OpenPGP]: Make OpenPGP handshakes work again.
2984 ** doc/: Add psktool to info index. Some minor cleanups.
2986 ** tests/: Added non-forking TLS handshake test, see tests/mini.c.
2988 ** tests/: Added libgcrypt.supp which can be used with valgrind.
2989 The file suppresses the known libgcrypt memory leaks, so they aren't
2990 printed when you run valgrind on the gnutls self-tests. Use it as
2991 follows: valgrind --suppressions=libgcrypt.supp ./x509self or add
2992 '--suppressions=/home/you/src/gnutls/tests/libgcrypt.supp' to your
2995 ** tests/: Reduce amount of debugging output by default.
2996 Use --verbose for each test to get the full output.
2998 ** tests/: Fix memory leaks in several self-tests.
2999 None of the self tests should be leaking memory when running valgrind
3000 or similar tools. (Known exceptions are dhepskself, pskself, and
3001 set_pkcs12_cred, which appear likely to be due to memory leaks in the
3004 ** API and ABI modifications:
3005 No changes since last version.
3007 * Version 2.3.12 (released 2008-06-04)
3009 ** Merge gnutls_with_netconf branch.
3011 *** libgnutls [PSK]: New API to retrieve PSK identity hint in client.
3012 The function is gnutls_psk_client_get_hint.
3014 *** libgnutls [PSK]: New API to set PSK identity hint in server.
3015 The function is gnutls_psk_set_server_credentials_hint.
3017 *** libgnutls [PSK]: Support server key exchange with PSK identity hint.
3018 In the client, the message is parsed and the application can use
3019 gnutls_psk_client_get_hint to retrieve the hint. In the server, the
3020 message is sent if the application has specified a PSK identity hint
3021 using gnutls_psk_set_server_credentials_hint.
3023 *** libgnutls [PSK]: Support Netconf PSK key derivation.
3024 The function gnutls_psk_netconf_derive_key supports the PSK key
3025 derivation as specified in draft-ietf-netconf-tls-02.txt. New self
3028 *** psktool: Support new --netconf-hint to generate PSK key from password.
3029 Uses the Netconf algorithm to derive PSK key from password.
3031 *** gnutls-serv: Support new --pskhint parameter to set PSK identity hint.
3033 *** gnutls-cli: Always support PSK modes, through a callback.
3034 The callback will derive a PSK key using Netconf algorithm. It will
3035 print the PSK identity hint to help the user.
3037 *** New PSK example client and server.
3038 See doc/examples/ex-client-psk.c and doc/examples/ex-serv-psk.c.
3040 ** libgnutls: Fix gnutls_x509_crl_set_version on arm platforms.
3041 The code didn't work properly on platforms where 'char' is unsigned,
3042 when you set version 0. Reported by Laurence Withers
3043 <l@lwithers.me.uk> in
3044 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2825>.
3046 ** libgnutls-openssl: added RAND_pseudo_bytes API.
3047 Patch from Robert Millan <rmh@aybabtu.com>.
3049 ** API and ABI modifications:
3050 RAND_pseudo_bytes: ADDED to libgnutls-openssl.
3051 gnutls_psk_client_get_hint: ADDED.
3052 gnutls_psk_set_server_credentials_hint: ADDED.
3053 gnutls_psk_netconf_derive_key: ADDED
3055 * Version 2.3.11 (released 2008-05-20)
3057 ** Fix flaw in fix for GNUTLS-SA-2008-1-3.
3058 The flaw would result in incorrectly terminated sessions with the
3059 error "Decryption has failed" when the server sends a small packet
3060 (typically when the session is closed). Reported by Andreas Metzler
3061 <ametzler@downhill.at.eu.org> in
3062 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2807>.
3064 ** Don't use gnulib headers when building C++ library.
3065 Fixes builds under Windows.
3067 ** Make umask a requirement.
3068 We don't know of any system that lacks it, even GNU CoreUtils use it
3071 ** Update gnulib files.
3072 Fixes a problem where it pulled in a replacement for memcmp under
3073 MinGW, which caused the C++ example to fail to build.
3075 ** API and ABI modifications:
3076 No changes since last version.
3078 * Version 2.3.10 (released 2008-05-19)
3080 ** Added wide wildcard hostname matching.
3081 Tiny patch by Jean-Philippe Garcia Ballester.
3083 ** Fix three security vulnerabilities. [GNUTLS-SA-2008-1]
3084 Thanks to CERT-FI for finding the bugs and providing detailed reports,
3085 which allowed the bugs to be reproduced and fixed easily. Patches
3086 developed by Simon Josefsson and Nikos Mavrogiannopoulos. Any updates
3087 with more details about these vulnerabilities will be added to
3088 <http://www.gnu.org/software/gnutls/security.html>
3090 *** [GNUTLS-SA-2008-1-1]
3091 *** libgnutls: Fix crash when sending invalid server name.
3092 The crash can be triggered remotely before authentication, which can
3093 lead to a Daniel of Service attack to disable the server. The bug
3094 cause gnutls to store more session resumption data than what was
3095 allocated for, thus overwriting unallocated memory.
3097 *** [GNUTLS-SA-2008-1-2]
3098 *** libgnutls: Fix crash when sending repeated client hellos.
3099 The crash can be triggered remotely before authentication, which can
3100 lead to a Daniel of Service attack to disable the server. The bug
3101 triggers a null-pointer dereference.
3103 *** [GNUTLS-SA-2008-1-3]
3104 *** libgnutls: Fix crash in cipher padding decoding for invalid record lengths.
3105 The crash can be triggered remotely before authentication, which can
3106 lead to a Daniel of Service attack to disable the server. The bug
3107 cause gnutls to read memory beyond the end of the received record.
3109 ** libgnutlsxx: Updated API according to patches from Eduardo
3110 Villanueva Che (discussion at
3111 <http://lists.gnu.org/archive/html/gnutls-devel/2007-02/msg00017.html>)
3113 ** Use umask to restrict permissions to owner before creating a file.
3115 ** API and ABI modifications:
3116 No changes since last version.
3118 * Version 2.3.9 (released 2008-05-16)
3120 ** libgnutls: Fix build failures if SRP/OpenPGP is disabled.
3121 Based on report and tiny patches from
3122 <jared.jennings.ctr@eglin.af.mil>, see
3123 <https://savannah.gnu.org/support/index.php?106342>.
3125 ** libgnutls: Translation fixes.
3127 ** gnutls-cli: Fix so that PSK authentication works.
3128 Also improve manual to give example for gnutls-cli PSK authentication.
3130 ** certtool: Encrypting a private key now require a confirmed password.
3131 Before './certtool -k -8' would merely ask for a password once.
3132 Reported by Daniel 'NebuchadnezzaR' Dehennin
3133 <nebuchadnezzar@asgardr.info> see
3134 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=364287>.
3136 ** certtool: When writing private keys to files, change permissions of file.
3137 Now the file which the private key is saved to is chmod'ed 0600.
3138 Reported by martin f krafft <madduck@debian.org> see
3139 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=373169>.
3141 ** guile: Fix -fgnu89-inline test.
3143 ** Removed --enable-profile-mode.
3144 The code linked gnutls with the libfc project (Function Check) which
3145 appears to have been stalled since around 2002.
3147 ** Clean up header file checks by ./configure.
3149 ** Update of gnulib files.
3151 ** API and ABI modifications:
3152 No changes since last version.
3154 * Version 2.3.8 (released 2008-04-29)
3156 ** libgnutls: Increase default handshake packet size limit to 48kb.
3157 The old limit was 16kb and some servers send huge list of trusted CAs,
3158 thus running into the limit. FYI, applications can further increase
3159 this limit using gnutls_handshake_set_max_packet_length. Thanks to
3160 Marc Haber <mh+debian-bugs@zugschlus.de> and "Marc F. Clemente"
3161 <marc@mclemente.net> for reporting and providing test servers.
3163 ** libgnutls: Add new error code: GNUTLS_E_HANDSHAKE_TOO_LARGE
3164 Returned when the handshake data size is too large. Before
3165 GNUTLS_E_MEMORY_ERROR was used, which could be confused with other
3168 ** libgnutls: Hide definitions in crypto.h.
3169 We have decided that the APIs defined in crypto.h are not stable
3170 enough for v2.4, so don't use any of those functions.
3172 ** gnutls-cli: exit when hostname doesn't match certificate.
3173 Use --insecure to avoid hostname comparison.
3175 ** certtool: --inder and --outder replaced by --inraw and --outraw.
3176 The reason is to align terminology with OpenPGP, which doesn't use
3177 DER. The old parameters will continue to work for some time.
3179 ** doc: Add section 'Index of new symbols in 2.4.0' to the GTK-DOC manual.
3181 ** doc: Many cosmetic fixes, to silence (most) gtk-doc warnings.
3183 ** Mingw32: Revert libgcrypt vasprintf work-around added in last release.
3184 Use libgcrypt 1.4.1 or later when building on MinGW32, it removes the
3185 vasprintf symbol from the libgcrypt library which caused problems.
3187 ** Update of gnulib files.
3189 ** tests: New self-test of crypto.h RNG code tests/crypto_rng.
3191 ** API and ABI modifications:
3192 GNUTLS_E_HANDSHAKE_TOO_LARGE: ADDED.
3194 * Version 2.3.7 (released 2008-04-21)
3196 ** opencdk now properly sets the key usage bits into openpgp keys.
3198 ** gnutls-cli: Fix crash on TLS handshake failures.
3199 Reported by "Marc F. Clemente" <marc@mclemente.net> in Debian BTS #466477.
3200 This is similar to <http://bugs.debian.org/429183>.
3202 ** certtool: with --generate-request and newly generated keys, print the key.
3204 ** Build fixes for MinGW.
3205 Missing rpl_fseeko symbol in lib/opencdk/. Better checks for linking
3206 with -lws2_32 when needed. Use ASCII only isprint() when printing
3207 X.509 certificate information, to avoid non-ASCII but printable
3208 characters. Thanks to Massimo Gaspari <massimo.gaspari@alice.it> for
3211 ** Update internal copy of libtasn1 to version 1.4.
3213 ** API and ABI modifications:
3214 No changes since last version.
3216 * Version 2.3.6 (released 2008-04-17)
3218 ** Make gnutls_x509_crq_sign2 set certificate request version if not set.
3219 ** Improve documentation for gnutls_x509_crq_sign2.
3220 Based on report from "John Brooks" <aspecialj@gmail.com> in
3221 <http://permalink.gmane.org/gmane.network.gnutls.general/1154>.
3223 ** tests/pathlen: run diff without parameters to improve portability.
3224 Based on HPUX build hints in
3225 <http://hpux.cs.utah.edu/hppd/cgi-bin/wwwtar?/hpux/Gnu/gnutls-2.3.4/gnutls-2.3.4-src-11.11.tar.gz+gnutls-2.3.4/HPUX.Install+text>.
3227 ** Don't use %e specifier with strftime, it doesn't work under Windows.
3228 Reported by Massimo Gaspari <massimo.gaspari@alice.it> in
3229 <http://permalink.gmane.org/gmane.network.gnutls.general/1170>.
3231 ** Remove all uses of gnutls_alloca/gnutls_afree.
3232 Use normal gnutls_malloc instead. One reason is increased portability
3233 to Windows, the other is that several of the uses may be unsafe
3234 because the size of data allocated could be large. Reported by
3235 Massimo Gaspari <massimo.gaspari@alice.it> in
3236 <http://permalink.gmane.org/gmane.network.gnutls.general/1170>.
3238 ** Build Guile code with -fgnu89-inline only when supported.
3239 Reported by Kris Karas <ktk@enterprise.bidmc.harvard.edu> in
3240 <http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2708>.
3242 ** Several GTK-DOC related fixes.
3244 ** Clean up OpenCDK related code.
3245 GnuTLS now requires its internal OpenCDK code rather than the external
3246 GPL library OpenCDK. Unfortunately, we don't have resources to
3247 maintain an external library (help welcome).
3249 ** API and ABI modifications:
3250 No changes since last version.
3252 * Version 2.3.5 (released 2008-04-14)
3254 ** Build fix for MinGW and --disable-shared.
3255 Reported by Massimo Gaspari <massimo.gaspari@alice.it> in
3256 <http://permalink.gmane.org/gmane.network.gnutls.general/1145>.
3258 ** Document how to generate CRLs.
3259 Suggested by "Rainer Gerhards" <rgerhards@gmail.com>.
3261 ** Documented the --priority option to gnutls-cli and gnutls-serv.
3263 ** Several minor fixes in the OpenPGP interface.
3264 Thanks to Daniel Kahn Gillmor.
3266 ** Fix fopen file descriptor leak in PSK server code.
3267 Thanks to Laurence Withers <l@lwithers.me.uk>, see
3268 <http://lists.gnu.org/archive/html/gnutls-devel/2008-04/msg00002.html>.
3270 ** Translations files not stored directly in git to avoid merge conflicts.
3272 ** New APIs to let applications replace the RNG used.
3273 Update all RNG callers in the code to use the new interface.
3275 ** Guile code now built with -fgnu89-inline to fix inline semantic problem.
3277 ** Update gnulib files.
3279 ** API and ABI modifications:
3280 gnutls_crypto_rnd_register: ADDED
3281 gnutls_rnd_level_t: ADDED
3282 GNUTLS_RND_KEY: ADDED, gnutls_rnd_level_t member
3283 GNUTLS_RND_RANDOM: ADDED, gnutls_rnd_level_t member
3284 GNUTLS_RND_NONCE: ADDED, gnutls_rnd_level_t member
3285 gnutls_crypto_rnd_st: ADDED
3286 GNUTLS_DIG_SHA224: ADDED
3287 GNUTLS_SIGN_RSA_SHA224: ADDED
3288 gnutls_openpgp_crt_get_auth_subkey: MODIFIED
3290 * Version 2.3.4 (released 2008-03-19)
3292 ** Finish renaming of gnutls_certificate_export_x509_cas etc.
3293 They weren't renamed in the public header file.
3295 ** Added functions to register a cipher/mac/digest. This allows to
3296 override the included ones.
3298 ** Fix a bunch of compiler warnings.
3300 ** API and ABI modifications:
3301 gnutls_crypto_cipher_st: ADDED
3302 gnutls_crypto_mac_st: ADDED
3303 gnutls_crypto_digest_st: ADDED
3304 gnutls_crypto_cipher_register: ADDED
3305 gnutls_crypto_mac_register: ADDED
3306 gnutls_crypto_digest_register: ADDED
3307 GNUTLS_E_CRYPTO_ALREADY_REGISTERED: ADDED
3309 * Version 2.3.3 (released 2008-03-10)
3311 ** Fix build failure in libextra/gnutls_extra.c that needed opencdk.h.
3312 Reported by Roman Bogorodskiy <novel@FreeBSD.org>.