draft release notes for 2.6.0, final call for bugfixes
Simon Josefsson
simon at josefsson.org
Wed Oct 1 12:25:54 CEST 2008
Below are updated draft release notes that takes into account what
happened in recent 2.5.x releases.
Please read and comment, we'll publish it when I get back on Monday!
Btw, if you have time, please test the 2.5.9 release more as it right
now the 2.6.0 will be exactly identical to it (modulo version number):
http://alpha.gnu.org/gnu/gnutls/gnutls-2.5.9.tar.bz2
If 2.5.9 is not working as you would like the final 2.6.0 to work, now
is the time to say so!
/Simon
We are proud to announce a new stable GnuTLS release: Version 2.6.0.
GnuTLS is a modern C library that implement the standard network
security protocol Transport Layer Security (TLS), for use by network
applications. GnuTLS is developed for GNU/Linux, but works on many
Unix-like systems and comes with a binary installer for Windows.
The GnuTLS library is distributed under the terms of the GNU Lesser
General Public License version 2.1 (or later). The "extra" GnuTLS
library (which contains TLS/IA support, LZO compression and Libgcrypt
FIPS-mode handler), the OpenSSL compatibility library, the self tests
and the command line tools are all distributed under the GNU General
Public License version 3.0 (or later). The manual is distributed
under the GNU Free Documentation License version 1.2 (or later).
The project page of the library is available at:
http://www.gnutls.org/
http://www.gnu.org/software/gnutls/
What's New
==========
Major end-user visible changes compared to the v2.4 branch:
** certtool: updated so it can add several subject alternative names using
the template file.
** opencdk: Parse (but not decrypt) encrypted secret keys.
Contributed by Daniel Kahn Gillmor <dkg at fifthhorseman.net>.
** libgnutls: Remove code to import certificate chains in PKCS#7 format.
The code has not worked since v0.9.0 and apparently nobody has missed
it, so we decided to remove the code rather than fix it. If you have
old certificate chains stored in PKCS#7 format, you can convert them
to a list of PEM certificates by using 'certtool --p7-info'. Reported
by Christian Grothoff <christian at grothoff.org>.
** gnutls-cli: Improve --list output to include public key and signature algs.
** gnutls-cli, gnutls-serv: Remove --copyright parameter.
Use standard --version to get license info.
** The main manual and the GTK-DOC API documentation have been improved.
** Uses autoconf 2.63, automake 1.10.1, libtool 2.2.6a.
Major developer visible changes compared to the v2.4 branch:
** Added API to replace and update the crypto backend.
The header gnutls/crypto.h is now officially supported, and declares
the symbols below.
gnutls_crypto_bigint_register2: ADDED.
gnutls_crypto_cipher_register2: ADDED.
gnutls_crypto_digest_register2: ADDED.
gnutls_crypto_mac_register2: ADDED.
gnutls_crypto_pk_register2: ADDED.
gnutls_crypto_rnd_register2: ADDED.
gnutls_crypto_single_cipher_register2: ADDED.
gnutls_crypto_single_digest_register2: ADDED.
gnutls_crypto_single_mac_register2: ADDED.
** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
either set or append alternative names. It can also handle binary structures
such as IP addresses.
** libgnutls: New function to set minimum acceptable SRP bits.
The function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick
<quick at sparq.org> in <https://savannah.gnu.org/support/index.php?106454>.
** libgnutls: Add interface to deal with public key and signature algorithms.
The functions are called gnutls_pk_list, gnutls_pk_get_id,
gnutls_sign_list, and gnutls_sign_get_id. Suggested by Sam
Varshavchik <mrsam at courier-mta.com>.
** libgnutls: New interfaces to get name of public key and signing algorithms.
The functions are gnutls_sign_get_name and gnutls_pk_get_name.
** libgnutls: New API to get a string corresponding to a error symbol.
The function is gnutls_strerror_name.
** libgnutls: New API to set the public parameters in a certificate request
** from a private key.
The function is gnutls_x509_crq_set_key_rsa_raw. Inspired by
discussion with "Zach C." <fxchip at gmail.com>.
** libgnutls: New API to set a callback to extract TLS Finished data.
The function to register is gnutls_session_set_finished_function and
it takes a callback of the gnutls_finished_callback_func type.
** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
The new names are GNUTLS_MASTER_SIZE and GNUTLS_RANDOM_SIZE. The old
names are mapped to the new names in compat.h. These mappings will
likely be removed more quickly than other mappings in that file due to
the namespace violation.
** libgnutls: New interface to register a new TLS extension handler.
The new function gnutls_ext_register can be used to register handlers
for specific TLS extension types. The callback functions have the new
types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
classify TLS extensions, gnutls_ext_parse_type_t, has been added as
well.
** Opencdk: Add calls to gnutls_assert to ease debugging.
** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
The function is gnutls_register_md5_handler. When libgcrypt is in
FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
the PRF.
Of course, many smaller fixes have been made, see the ChangeLog file.
API/ABI changes in GnuTLS 2.6
=============================
No functions have been removed or modified. The library should be
fully backwards compatible on both the source and binary level.
A new header file 'gnutls/crypto.h' have been added. It contains
definitions related to replacing the internal crypto functionality.
All definitions and the header itself is experimental but supported.
We have realized that the symbols TLS_MASTER_SIZE and TLS_RANDOM_SIZE
does not use the normal namespace. We have added GNUTLS_MASTER_SIZE
and GNUTLS_RANDOM_SIZE, but the old symbols are still defined.
The following functions have been added to libgnutls:
GNUTLS_MASTER_SIZE
GNUTLS_RANDOM_SIZE
gnutls_crypto_bigint_register2
gnutls_crypto_cipher_register2
gnutls_crypto_digest_register2
gnutls_crypto_mac_register2
gnutls_crypto_pk_register2
gnutls_crypto_rnd_register2
gnutls_crypto_single_cipher_register2
gnutls_crypto_single_digest_register2
gnutls_crypto_single_mac_register2
gnutls_ext_register
gnutls_pk_get_id
gnutls_pk_get_name
gnutls_pk_list
gnutls_session_set_finished_function
gnutls_sign_get_id
gnutls_sign_get_name
gnutls_sign_list
gnutls_srp_set_prime_bits:
gnutls_strerror_name
gnutls_x509_crq_set_key_rsa_raw
gnutls_x509_crt_set_crl_dist_points2
gnutls_x509_crt_set_subject_alt_name
The following functions have been added to libgnutls-extra:
gnutls_register_md5_handler:
Getting the Software
====================
GnuTLS may be downloaded from one of the mirror sites or direct from
<ftp://ftp.gnutls.org/pub/gnutls/>. The list of mirrors can be found at
<http://www.gnu.org/software/gnutls/download.html>.
Here are the BZIP2 compressed sources (4.9MB):
ftp://ftp.gnu.org/gnu/gnutls/gnutls-2.6.0.tar.bz2
http://ftp.gnu.org/gnu/gnutls/gnutls-2.6.0.tar.bz2
Here are OpenPGP detached signatures signed using key 0xB565716F:
ftp://ftp.gnu.org/gnu/gnutls/gnutls-2.6.0.tar.bz2.sig
http://ftp.gnu.org/gnu/gnutls/gnutls-2.6.0.tar.bz2.sig
Note, that we don't distribute gzip compressed tarballs.
In order to check that the version of GnuTLS which you are going to
install is an original and unmodified one, you should verify the OpenPGP
signature. You can use the command
gpg --verify gnutls-2.6.0.tar.bz2.sig
This checks whether the signature file matches the source file. You
should see a message indicating that the signature is good and made by
that signing key. Make sure that you have the right key, either by
checking the fingerprint of that key with other sources or by checking
that the key has been signed by a trustworthy other key. The signing
key can be identified with the following information:
pub 1280R/B565716F 2002-05-05 [expires: 2009-04-21]
Key fingerprint = 0424 D4EE 81A0 E3D1 19C6 F835 EDA2 1E94 B565 716F
uid Simon Josefsson <simon at josefsson.org>
uid Simon Josefsson <jas at extundo.com>
sub 1280R/4D5D40AE 2002-05-05 [expires: 2009-04-21]
The key is available from:
http://josefsson.org/key.txt
dns:b565716f.josefsson.org?TYPE=CERT
Alternatively, after successfully verifying the OpenPGP signature of
this announcement, you could verify that the files match the following
checksum values. The values are for SHA-1 and SHA-224 respectively:
9bb3be9f2ad67037d3a571bec4fac65e0ffbadbb gnutls-2.6.0.tar.bz2
9dc4435b637a4841a88ec294b8a82841eb257cee4948bc957c1a96d7 gnutls-2.6.0.tar.bz2
Documentation
=============
The manual is available online at:
http://www.gnu.org/software/gnutls/documentation.html
In particular the following formats are available:
HTML: http://www.gnu.org/software/gnutls/manual/html_node/index.html
PDF: http://www.gnu.org/software/gnutls/manual/gnutls.pdf
For developers there is a GnuTLS API reference manual formatted using
the GTK-DOC tools:
http://www.gnu.org/software/gnutls/reference/gnutls-gnutls.html
Community
=========
If you need help to use GnuTLS, or want to help others, you are invited
to join our help-gnutls mailing list, see:
http://lists.gnu.org/mailman/listinfo/help-gnutls
If you wish to participate in the development of GnuTLS, you are invited
to join our gnutls-dev mailing list, see:
http://lists.gnupg.org/mailman/listinfo/gnutls-dev
Windows installer
=================
GnuTLS has been ported to the Windows operating system, and a binary
installer is available. The installer contains DLLs for application
development, manuals, examples, and source code. The installer uses
libgpg-error v1.6, libgcrypt v1.4.3, libtasn1 v1.5, and GnuTLS v2.6.0.
For more information about GnuTLS for Windows:
http://josefsson.org/gnutls4win/
The Windows binary installer and PGP signature:
http://josefsson.org/gnutls4win/gnutls-2.6.0.exe (14MB)
http://josefsson.org/gnutls4win/gnutls-2.6.0.exe.sig
The checksum values for SHA-1 and SHA-224 are:
e704df715ed6cad14c7a6e4350d7557d81de655b gnutls-2.6.0.exe
b548c3178f89669d1245b266c7caa834feeea63b142a8871f1185097 gnutls-2.6.0.exe
Thanks to Enrico Tassi, we also have mingw32 *.deb's available:
http://josefsson.org/gnutls4win/mingw32-gnutls_2.3.15-1_all.deb
The checksum values for SHA-1 and SHA-224 are:
3fc1e58fe58ac77c6dc433052685d59400a88559 mingw32-gnutls_2.6.0-1_all.deb
601549a449ce25dc4520c591bad42d833b23f05a8f67cf4fe732f7de mingw32-gnutls_2.6.0-1_all.deb
Internationalization
====================
GnuTLS messages have been translated into Dutch, French, German,
Malay, Polish, Swedish, and Vietnamese. We welcome the addition of
more translations.
Support
=======
Improving GnuTLS is costly, but you can help! We are looking for
organizations that find GnuTLS useful and wish to contribute back.
You can contribute by reporting bugs, improve the software, or donate
money or equipment.
Commercial support contracts for GnuTLS are available, and they help
finance continued maintenance. Simon Josefsson Datakonsult, a
Stockholm based privately held company, is currently funding GnuTLS
maintenance. We are always looking for interesting development
projects. See http://josefsson.org/ for more details.
The GnuTLS service directory is available at:
http://www.gnu.org/software/gnutls/commercial.html
Happy Hacking,
Simon
More information about the Gnutls-devel
mailing list