./security/gnutls, GNU Transport Layer Security library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2016Q4, Version: 3.5.8, Package name: gnutls-3.5.8, Maintainer: pkgsrc-users

GnuTLS is a portable ANSI C based library which implements the TLS 1.0 and SSL
3.0 protocols. The library does not include any patented algorithms and is
available under the GNU Lesser GPL license.

Important features of the GnuTLS library include:
- Thread safety
- Support for both TLS 1.0 and SSL 3.0 protocols
- Support for both X.509 and OpenPGP certificates
- Support for basic parsing and verification of certificates
- Support for SRP for TLS authentication
- Support for TLS Extension mechanism
- Support for TLS Compression Methods

Additionally GnuTLS provides an emulation API for the widely used OpenSSL
library, to ease integration with existing applications.


Required to run:
[security/nettle] [security/libtasn1] [textproc/libunistring] [devel/gmp] [devel/libcfg+] [devel/autogen] [archivers/lzo]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 238d5e62f9bb078101131dd2f4c7f2c1ac13e813
RMD160: 77cd2f4a6da7cf1eece05422bc86b29833b08772
Filesize: 7094.188 KB

Version history: (Expand)


CVS history: (Expand)


   2017-01-19 20:56:49 by Benny Siegert | Files touched by this commit (1)
Log message:
Pullup ticket #5185 (second part) - requested by wiz
security/gnutls: build fix

Revisions pulled up:
- security/gnutls/buildlink3.mk                                 1.32

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Wed Jan 11 17:06:52 UTC 2017

   Modified Files:
   	pkgsrc/security/gnutls: buildlink3.mk

   Log message:
   Add libunistring to bl3.mk, it's linked into libgnutls{,xx}.so.

   PR 51830
   2017-01-19 20:55:17 by Benny Siegert | Files touched by this commit (4)
Log message:
Pullup ticket #5185 - requested by wiz
security/gnutls: security fix

Revisions pulled up:
- security/gnutls/Makefile                                      1.168-1.169
- security/gnutls/PLIST                                         1.54
- security/gnutls/distinfo                                      1.122
- security/gnutls/patches/patch-tests_mini-server-name.c        deleted

---
   Module Name:	pkgsrc
   Committed By:	maya
   Date:		Sat Jan  7 18:49:16 UTC 2017

   Modified Files:
   	pkgsrc/security/gnutls: Makefile

   Log message:
   gnutls: don't redefine max_align_t on FreeBSD. It incorrectly fails the
   configure test because the type in stddef.h is guarded by a c11 macro
   (most likely).

   Force the configure test to pass.

   From David Shao in PR pkg/51793 (originally from FreeBSD ports).

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Tue Jan 10 16:23:50 UTC 2017

   Modified Files:
   	pkgsrc/security/gnutls: Makefile PLIST distinfo
   Removed Files:
   	pkgsrc/security/gnutls/patches: patch-tests_mini-server-name.c

   Log message:
   Updated gnutls to 3.5.8.

   * Version 3.5.8 (released 2016-01-09)

   ** libgnutls: Ensure that multiple calls to the gnutls_set_priority_*
     functions will not leave the verification profiles field to an
     undefined state. The last call will take precedence.

   ** libgnutls: Ensure that GNUTLS_E_DECRYPTION_FAIL will be returned
     by PKCS#8 decryption functions when an invalid key is provided. This
     addresses regression on decrypting certain PKCS#8 keys.

   ** libgnutls: Introduced option to override the default priority string
     used by the library. The intention is to allow support of system-wide
     priority strings (as set with --with-system-priority-file). The
     configure option is --with-default-priority-string.

   ** libgnutls: Require a valid IV size on all ciphers for PKCS#8 decryption.
     This prevents crashes when decrypting malformed PKCS#8 keys.

   ** libgnutls: Fix crash on the loading of malformed private keys with certain
     parameters set to zero.

   ** libgnutls: Fix double free in certificate information printing. If the PKIX
     extension proxy was set with a policy language set but no policy specified,
     that could lead to a double free.

   ** libgnutls: Addressed memory leaks in client and server side error paths
     (issues found using oss-fuzz project)

   ** libgnutls: Addressed memory leaks in X.509 certificate printing error paths
     (issues found using oss-fuzz project)

   ** libgnutls: Addressed memory leaks and an infinite loop in OpenPGP certificate
     parsing. Fixes by Alex Gaynor. (issues found using oss-fuzz project)

   ** libgnutls: Addressed invalid memory accesses in OpenPGP certificate parsing.
     (issues found using oss-fuzz project)

   ** API and ABI modifications:
   No changes since last version.

   * Version 3.5.7 (released 2016-12-8)

   ** libgnutls: Include CHACHA20-POLY1305 ciphersuites in the SECURE128
     and SECURE256 priority strings.

   ** libgnutls: Require libtasn1 4.9; this ensures gnutls will correctly
     operate with OIDs which have elements that exceed 2^32.

   ** libgnutls: The DN decoding functions output the traditional DN format
     rather than the strict RFC4514 compliant textual DN. This reverts the
     3.5.6 introduced change, and allows applications which depended on the
     previous format to continue to function. Introduced new functions which
     output the strict format by default, and can revert to the old one using
     a flag.

   ** libgnutls: Improved TPM key handling. Check authorization requirements
     prior to using a key and fix issue on loop for PIN input. Patches by
     James Bottomley.

   ** libgnutls: In all functions accepting UTF-8 passwords, ensure that
     passwords are normalized according to RFC7613. When invalid UTF-8
     passwords are detected, they are only tolerated for decryption.
     This introduces a libunistring dependency on GnuTLS. A version of
     libunistring is included in the library for the platforms that do
     not ship it; it can be used with the '--with-included-unistring'
     option to configure script.

   ** libgnutls: When setting a subject alternative name in a certificate
     which is in UTF-8 format, it will transparently be converted to IDNA form
     prior to storing.

   ** libgnutls: GNUTLS_CRT_PRINT_ONELINE flag on gnutls_x509_crt_print()
     will print the SHA256 key-ID instead of a certificate fingerprint.

   ** libgnutls: enhance the PKCS#7 verification capabilities. In the case
     signers that are not discoverable using the trust list or input, use
     the stored list as pool to generate a trusted chain to the signer.

   ** libgnutls: Improved MTU calculation precision for the CBC ciphersuites
     under DTLS.

   ** libgnutls: [added missing news entry since 3.5.0]
     No longer tolerate certificate key usage violations for
     TLS signature verification, and decryption. That is GnuTLS will fail
     to connect to servers which incorrectly use a restricted to signing certificate
     for decryption, or vice-versa. This reverts the lax behavior introduced
     in 3.1.0, due to several such broken servers being available. The %COMPAT
     priority keyword can be used to work-around connecting on these servers.

   ** certtool: When exporting a CRQ in DER format ensure no text data are
     intermixed. Patch by Dmitry Eremin-Solenikov.

   ** certtool: Include the SHA-256 variant of key ID in --certificate-info
     options.

   ** p11tool: Introduced the --initialize-pin and --initialize-so-pin
     options.

   ** API and ABI modifications:
   gnutls_utf8_password_normalize: Added
   gnutls_ocsp_resp_get_responder2: Added
   gnutls_x509_crt_get_issuer_dn3: Added
   gnutls_x509_crt_get_dn3: Added
   gnutls_x509_rdn_get2: Added
   gnutls_x509_dn_get_str2: Added
   gnutls_x509_crl_get_issuer_dn3: Added
   gnutls_x509_crq_get_dn3: Added

   * Version 3.5.6 (released 2016-11-04)

   ** libgnutls: Enhanced the PKCS#7 parser to allow decoding old
     (pre-rfc5652) structures with arbitrary encapsulated content.

   ** libgnutls: Introduced a function group to set known DH parameters
     using groups from RFC7919.

   ** libgnutls: Added more strict RFC4514 textual DN encoding and decoding.
     Now the generated textual DN is in reverse order according to RFC4514,
     and functions which generate a DN from strings such gnutls_x509_crt_set_*dn()
     set the expected DN (reverse of the provided string).

   ** libgnutls: Introduced time and constraints checks in the end certificate
     in the gnutls_x509_crt_verify_data2() and gnutls_pkcs7_verify_direct()
     functions.

   ** libgnutls: Set limits on the maximum number of alerts handled. That is,
     applications using gnutls could be tricked into an busy loop if the
     peer sends continuously alert messages. Applications which set a maximum
     handshake time (via gnutls_handshake_set_timeout) will eventually recover
     but others may remain in a busy loops indefinitely. This is related but
     not identical to CVE-2016-8610, due to the difference in alert handling
     of the libraries (gnutls delegates that handling to applications).

   ** libgnutls: Reverted the change which made the gnutls_certificate_set_*key*
     functions return an index (introduced in 3.5.5), to avoid affecting programs
     which explicitly check success of the function as equality to zero. In order
     for these functions to return an index an explicit call to \ 
gnutls_certificate_set_flags
     with the GNUTLS_CERTIFICATE_API_V2 flag is now required.

   ** libgnutls: Reverted the behavior of sending a status request extension even
     without a response (introduced in 3.5.5). That is, we no longer reply to a
     client's hello with a status request, with a status request extension. Although
     that behavior is legal, it creates incompatibility issues with releases in
     the gnutls 3.3.x branch.

   ** libgnutls: Delayed the initialization of the random generator at
     the first call of gnutls_rnd(). This allows applications to load
     on systems which getrandom() would block, without blocking until
     real random data are needed.

   ** certtool: --get-dh-params will output parameters from the RFC7919
     groups.

   ** p11tool: improvements in --initialize option.

   ** API and ABI modifications:
   GNUTLS_CERTIFICATE_API_V2: Added
   GNUTLS_NO_TICKETS: Added
   gnutls_pkcs7_get_embedded_data_oid: Added
   gnutls_anon_set_server_known_dh_params: Added
   gnutls_certificate_set_known_dh_params: Added
   gnutls_psk_set_server_known_dh_params: Added
   gnutls_x509_crt_check_key_purpose: Added

   * Version 3.5.5 (released 2016-10-09)

   ** libgnutls: enhanced gnutls_certificate_set_ocsp_status_request_file()
     to allow importing multiple OCSP request files, one for each chain
     provided.

   ** libgnutls: The gnutls_certificate_set_key* functions return an
     index of the added chain. That index can be used either with
     gnutls_certificate_set_ocsp_status_request_file(), or with
     gnutls_certificate_get_crt_raw() and friends.

   ** libgnutls: Added SHA*, AES-GCM, AES-CCM and AES-CBC optimized implementations
     for the aarch64 architecture. Uses Andy Polyakov's assembly code.

   ** libgnutls: Ensure proper cleanups on gnutls_certificate_set_*key()
     failures due to key mismatch. This prevents leaks or double freeing
     on such failures.

   ** libgnutls: Increased the maximum size of the handshake message hash.
     This will allow the library to cope better with larger packets, as
     the ones offered by current TLS 1.3 drafts.

   ** libgnutls: Allow to use client certificates despite them containing
     disallowed algorithms for a session. That allows for example a client
     to use DSA-SHA1 due to his old DSA certificate, without requiring him
     to enable DSA-SHA1 (and thus make it acceptable for the server's certificate).

   ** libgnutls: Reverted AESNI code on x86 to earlier version as the
     latest version was creating position depending code. Added checks
     in the CI to detect position depending code early.

   ** guile: Update code to the I/O port API of Guile >= 2.1.4
     This makes sure the GnuTLS bindings will work with the forthcoming 2.2
     stable series of Guile, of which 2.1 is a preview.

   ** API and ABI modifications:
   gnutls_certificate_set_ocsp_status_request_function2: Added
   gnutls_session_ext_register: Added
   gnutls_session_supplemental_register: Added
   GNUTLS_E_PK_INVALID_PUBKEY: Added
   GNUTLS_E_PK_INVALID_PRIVKEY: Added