[mingw32-gnutls/f16] Update to match native version, use system libtasn1
mooninite
mooninite at fedoraproject.org
Thu Mar 29 22:03:11 UTC 2012
commit d037c0c5da84d0dddc69cde75bb4f61e54aa838d
Author: Michael Cronenworth <mike at cchtml.com>
Date: Thu Mar 29 16:55:41 2012 -0500
Update to match native version, use system libtasn1
.gitignore | 1 +
gnutls-2.10.1-handshake-errors.patch | 57 -----------
gnutls-2.12.11-rpath.patch | 103 ++++++++++++++++++++
gnutls-2.12.14-cve-2012-1573.patch | 23 +++++
gnutls-2.12.14-leak.patch | 56 +++++++++++
...2.10.1-nosrp.patch => gnutls-2.12.2-nosrp.patch | 31 +++---
gnutls-2.12.7-dsa-skiptests.patch | 51 ++++++++++
mingw32-gnutls.spec | 27 ++++--
sources | 2 +-
9 files changed, 270 insertions(+), 81 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8cabef5..6adc4f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
gnutls-2.6.4-nosrp.tar.bz2
/gnutls-2.10.5-nosrp.tar.bz2
+/gnutls-2.12.14-nosrp.tar.bz2
diff --git a/gnutls-2.12.11-rpath.patch b/gnutls-2.12.11-rpath.patch
new file mode 100644
index 0000000..4190a38
--- /dev/null
+++ b/gnutls-2.12.11-rpath.patch
@@ -0,0 +1,103 @@
+diff -up gnutls-2.12.11/build-aux/config.rpath gnutls-2.12.11/build-aux/config
+diff -up gnutls-2.12.11/configure.rpath gnutls-2.12.11/configure
+--- gnutls-2.12.11/configure.rpath 2011-09-18 20:32:37.000000000 +0200
++++ gnutls-2.12.11/configure 2011-09-27 18:32:17.000000000 +0200
+@@ -16377,7 +16377,7 @@ shlibpath_var=
+ shlibpath_overrides_runpath=unknown
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -16835,7 +16835,7 @@ fi
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -20228,7 +20228,7 @@ shlibpath_var=
+ shlibpath_overrides_runpath=unknown
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -20684,7 +20684,7 @@ fi
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+diff -up gnutls-2.12.11/lib/build-aux/config.rpath gnutls-2.12.11/lib/build-aux/config
+diff -up gnutls-2.12.11/lib/configure.rpath gnutls-2.12.11/lib/configure
+--- gnutls-2.12.11/lib/configure.rpath 2011-09-18 20:31:32.000000000 +0200
++++ gnutls-2.12.11/lib/configure 2011-09-27 18:33:22.000000000 +0200
+@@ -11989,7 +11989,7 @@ shlibpath_var=
+ shlibpath_overrides_runpath=unknown
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -12447,7 +12447,7 @@ fi
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -30102,7 +30102,8 @@ shlibpath_var=
+ shlibpath_overrides_runpath=unknown
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
++
++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -30558,7 +30559,7 @@ fi
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+diff -up gnutls-2.12.11/libextra/build-aux/config.rpath gnutls-2.12.11/libextra/build-aux/config
+diff -up gnutls-2.12.11/libextra/configure.rpath gnutls-2.12.11/libextra/configure
+--- gnutls-2.12.11/libextra/configure.rpath 2011-09-18 20:32:07.000000000 +0200
++++ gnutls-2.12.11/libextra/configure 2011-09-27 18:33:55.000000000 +0200
+@@ -10658,7 +10658,7 @@ shlibpath_var=
+ shlibpath_overrides_runpath=unknown
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -11116,7 +11116,7 @@ fi
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
diff --git a/gnutls-2.12.14-cve-2012-1573.patch b/gnutls-2.12.14-cve-2012-1573.patch
new file mode 100644
index 0000000..a1710f6
--- /dev/null
+++ b/gnutls-2.12.14-cve-2012-1573.patch
@@ -0,0 +1,23 @@
+diff -up gnutls-2.12.14/lib/gnutls_cipher.c.packet gnutls-2.12.14/lib/gnutls_cipher.c
+--- gnutls-2.12.14/lib/gnutls_cipher.c.packet 2011-09-18 00:16:53.000000000 +0200
++++ gnutls-2.12.14/lib/gnutls_cipher.c 2012-03-23 13:29:24.077877489 +0100
+@@ -511,14 +511,13 @@ _gnutls_ciphertext2compressed (gnutls_se
+ {
+ ciphertext.size -= blocksize;
+ ciphertext.data += blocksize;
+-
+- if (ciphertext.size == 0)
+- {
+- gnutls_assert ();
+- return GNUTLS_E_DECRYPTION_FAILED;
+- }
+ }
+
++ if (ciphertext.size < hash_size)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_DECRYPTION_FAILED;
++ }
+ pad = ciphertext.data[ciphertext.size - 1] + 1; /* pad */
+
+ if ((int) pad > (int) ciphertext.size - hash_size)
diff --git a/gnutls-2.12.14-leak.patch b/gnutls-2.12.14-leak.patch
new file mode 100644
index 0000000..0a649df
--- /dev/null
+++ b/gnutls-2.12.14-leak.patch
@@ -0,0 +1,56 @@
+diff -up gnutls-2.12.14/lib/gcrypt/pk.c.leak gnutls-2.12.14/lib/gcrypt/pk.c
+--- gnutls-2.12.14/lib/gcrypt/pk.c.leak 2011-09-18 00:16:53.000000000 +0200
++++ gnutls-2.12.14/lib/gcrypt/pk.c 2012-03-08 17:54:16.821192070 +0100
+@@ -627,7 +627,6 @@ _rsa_generate_params (bigint_t * resarr,
+
+ int ret, i;
+ gcry_sexp_t parms, key, list;
+- bigint_t tmp;
+
+ if (*resarr_len < RSA_PRIVATE_PARAMS)
+ {
+@@ -733,14 +732,6 @@ _rsa_generate_params (bigint_t * resarr,
+
+ *resarr_len = 6;
+
+- tmp = _gnutls_mpi_alloc_like (resarr[0]);
+- if (tmp == NULL)
+- {
+- gnutls_assert ();
+- ret = GNUTLS_E_MEMORY_ERROR;
+- goto cleanup;
+- }
+-
+ ret = _gnutls_calc_rsa_exp (resarr, 2 + *resarr_len);
+ if (ret < 0)
+ {
+diff -up gnutls-2.12.14/lib/gnutls_pk.c.leak gnutls-2.12.14/lib/gnutls_pk.c
+--- gnutls-2.12.14/lib/gnutls_pk.c.leak 2011-09-18 00:16:53.000000000 +0200
++++ gnutls-2.12.14/lib/gnutls_pk.c 2012-03-08 17:40:58.725314720 +0100
+@@ -544,6 +544,7 @@ _generate_params (int algo, bigint_t * r
+ }
+ else
+ {
++ gnutls_pk_params_release(¶ms);
+ gnutls_assert ();
+ return GNUTLS_E_INVALID_REQUEST;
+ }
+diff -up gnutls-2.12.14/lib/x509/privkey.c.leak gnutls-2.12.14/lib/x509/privkey.c
+--- gnutls-2.12.14/lib/x509/privkey.c.leak 2011-09-18 00:16:54.000000000 +0200
++++ gnutls-2.12.14/lib/x509/privkey.c 2012-03-08 17:45:55.467830355 +0100
+@@ -1466,6 +1466,7 @@ gnutls_x509_privkey_generate (gnutls_x50
+ {
+ gnutls_assert ();
+ ret = GNUTLS_E_INTERNAL_ERROR;
++ goto cleanup;
+ }
+
+ if (ret < 0)
+@@ -1490,6 +1491,7 @@ gnutls_x509_privkey_generate (gnutls_x50
+ {
+ gnutls_assert ();
+ ret = GNUTLS_E_INTERNAL_ERROR;
++ goto cleanup;
+ }
+ if (ret < 0)
+ {
diff --git a/gnutls-2.10.1-nosrp.patch b/gnutls-2.12.2-nosrp.patch
similarity index 73%
rename from gnutls-2.10.1-nosrp.patch
rename to gnutls-2.12.2-nosrp.patch
index 46ae493..eb31172 100644
--- a/gnutls-2.10.1-nosrp.patch
+++ b/gnutls-2.12.2-nosrp.patch
@@ -1,16 +1,7 @@
-diff -up gnutls-2.10.1/doc/gnutls.texi.nosrp gnutls-2.10.1/doc/gnutls.texi
---- gnutls-2.10.1/doc/gnutls.texi.nosrp 2010-06-21 09:50:55.000000000 +0200
-+++ gnutls-2.10.1/doc/gnutls.texi 2010-08-04 11:58:22.000000000 +0200
-@@ -524,7 +524,7 @@ data to the transport layer.
- @end itemize
-
- Other callback functions such as the one set by
-- at ref{gnutls_srp_set_server_credentials_function}, may require more
-+gnutls_srp_set_server_credentials_function, may require more
- complicated input, including data to be allocated. These callbacks
- should allocate and free memory using the functions shown below.
-
-@@ -1576,9 +1576,9 @@ authenticated using a certificate with R
+diff -up gnutls-2.12.2/doc/cha-auth.texi.nosrp gnutls-2.12.2/doc/cha-auth.texi
+--- gnutls-2.12.2/doc/cha-auth.texi.nosrp 2011-04-08 02:30:44.000000000 +0200
++++ gnutls-2.12.2/doc/cha-auth.texi 2011-04-19 09:46:25.000000000 +0200
+@@ -255,9 +255,9 @@ authenticated using a certificate with R
If clients supporting @acronym{SRP} know the username and password
before the connection, should initialize the client credentials and
@@ -22,7 +13,7 @@ diff -up gnutls-2.10.1/doc/gnutls.texi.nosrp gnutls-2.10.1/doc/gnutls.texi
the advantage that allows probing the server for @acronym{SRP}
support. In that case the callback function will be called twice per
handshake. The first time is before the ciphersuite is negotiated,
-@@ -1593,20 +1593,20 @@ In server side the default behaviour of
+@@ -272,20 +272,20 @@ In server side the default behaviour of
the usernames and @acronym{SRP} verifiers from password files. These
password files are the ones used by the @emph{Stanford srp libraries}
and can be specified using the
@@ -48,3 +39,15 @@ diff -up gnutls-2.10.1/doc/gnutls.texi.nosrp gnutls-2.10.1/doc/gnutls.texi
@end itemize
+diff -up gnutls-2.12.2/doc/cha-library.texi.nosrp gnutls-2.12.2/doc/cha-library.texi
+--- gnutls-2.12.2/doc/cha-library.texi.nosrp 2011-04-08 02:30:44.000000000 +0200
++++ gnutls-2.12.2/doc/cha-library.texi 2011-04-19 09:44:58.000000000 +0200
+@@ -174,7 +174,7 @@ data to the transport layer.
+ @end itemize
+
+ Other callback functions such as the one set by
+- at ref{gnutls_srp_set_server_credentials_function}, may require more
++gnutls_srp_set_server_credentials_function, may require more
+ complicated input, including data to be allocated. These callbacks
+ should allocate and free memory using the functions shown below.
+
diff --git a/gnutls-2.12.7-dsa-skiptests.patch b/gnutls-2.12.7-dsa-skiptests.patch
new file mode 100644
index 0000000..64fa224
--- /dev/null
+++ b/gnutls-2.12.7-dsa-skiptests.patch
@@ -0,0 +1,51 @@
+diff -up gnutls-2.12.7/tests/dsa/testdsa.skiptests gnutls-2.12.7/tests/dsa/testdsa
+--- gnutls-2.12.7/tests/dsa/testdsa.skiptests 2011-06-05 21:12:47.000000000 +0200
++++ gnutls-2.12.7/tests/dsa/testdsa 2011-06-21 23:36:20.000000000 +0200
+@@ -60,14 +60,14 @@ $CLI $DEBUG -p $PORT 127.0.0.1 --insecur
+ echo "Checking server DSA-1024 with client DSA-2048 and TLS 1.0"
+
+ #try with client key of 2048 bits (should fail)
+-$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null 2>&1 && \
+- fail "Succeeded connection to a server with a client DSA 2048 key and TLS 1.0!"
+-
+-echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.0"
++#$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null 2>&1 && \
++# fail "Succeeded connection to a server with a client DSA 2048 key and TLS 1.0!"
++#
++#echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.0"
+
+ #try with client key of 3072 bits (should fail)
+-$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null 2>&1 && \
+- fail "Succeeded connection to a server with a client DSA 3072 key and TLS 1.0!"
++#$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null 2>&1 && \
++# fail "Succeeded connection to a server with a client DSA 3072 key and TLS 1.0!"
+
+ kill $PID
+ wait
+@@ -94,19 +94,21 @@ $CLI $DEBUG -p $PORT 127.0.0.1 --insecur
+ echo "Checking server DSA-1024 with client DSA-2048 and TLS 1.2"
+
+ #try with client key of 2048 bits (should succeed)
+-$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null || \
+- fail "Failed connection to a server with a client DSA 2048 key and TLS 1.2!"
++#$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null || \
++# fail "Failed connection to a server with a client DSA 2048 key and TLS 1.2!"
+
+-echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.2"
++#echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.2"
+
+ #try with client key of 3072 bits (should succeed)
+-$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null || \
+- fail "Failed connection to a server with a client DSA 3072 key and TLS 1.2!"
++#$CLI $DEBUG -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null || \
++# fail "Failed connection to a server with a client DSA 3072 key and TLS 1.2!"
+
+
+ kill $PID
+ wait
+
++exit 0
++
+ # DSA 2048 + TLS 1.0
+
+ echo "Checking DSA-2048 with TLS 1.0"
diff --git a/mingw32-gnutls.spec b/mingw32-gnutls.spec
index 6f63073..70c268c 100644
--- a/mingw32-gnutls.spec
+++ b/mingw32-gnutls.spec
@@ -6,8 +6,8 @@
%define __debug_install_post %{_mingw32_debug_install_post}
Name: mingw32-gnutls
-Version: 2.10.5
-Release: 2%{?dist}
+Version: 2.12.14
+Release: 1%{?dist}
Summary: MinGW GnuTLS TLS/SSL encryption library
License: GPLv3+ and LGPLv2+
@@ -21,11 +21,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
-Patch2: gnutls-2.8.6-link-libgcrypt.patch
+Patch1: gnutls-2.12.11-rpath.patch
+Patch2: gnutls-2.8.6-link-libgcrypt.patch
# Remove nonexisting references from texinfo file
-Patch3: gnutls-2.10.1-nosrp.patch
-# Backport from upstream git
-Patch4: gnutls-2.10.1-handshake-errors.patch
+Patch3: gnutls-2.12.2-nosrp.patch
+# Skip tests that are expected to fail on libgcrypt build
+Patch4: gnutls-2.12.7-dsa-skiptests.patch
+Patch5: gnutls-2.12.14-leak.patch
+Patch6: gnutls-2.12.14-cve-2012-1573.patch
BuildRequires: mingw32-filesystem >= 40
BuildRequires: mingw32-gcc
@@ -34,6 +37,7 @@ BuildRequires: mingw32-binutils
BuildRequires: mingw32-dlfcn
BuildRequires: mingw32-libgpg-error
BuildRequires: mingw32-libgcrypt >= 1.2.2
+BuildRequires: mingw32-libtasn1
BuildRequires: mingw32-gettext
BuildRequires: mingw32-win-iconv
BuildRequires: mingw32-readline
@@ -62,10 +66,12 @@ for MinGW.
%prep
%setup -q -n gnutls-%{version}
-
+%patch1 -p1 -b .rpath
%patch2 -p1 -b .link
%patch3 -p1 -b .nosrp
-%patch4 -p1 -b .errors
+%patch4 -p1 -b .skiptests
+%patch5 -p1 -b .leak
+%patch6 -p1 -b .packet
for i in auth_srp_rsa.c auth_srp_sb64.c auth_srp_passwd.c auth_srp.c gnutls_srp.c ext_srp.c; do
touch lib/$i
@@ -81,7 +87,6 @@ autoreconf
%build
PATH="%{_mingw32_bindir}:$PATH" \
%{_mingw32_configure} \
- --with-included-libtasn1 \
--disable-srp-authentication \
--disable-static
# %{?_smp_mflags} doesn't build correctly.
@@ -135,6 +140,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Mar 29 2012 Michael Cronenworth <mike at cchtml.com> - 2.12.14-1
+- Update to match native package version
+- Use system libtasn1
+
* Wed Jul 06 2011 Kalev Lember <kalevlember at gmail.com> - 2.10.5-2
- Rebuilt against win-iconv
diff --git a/sources b/sources
index 3378d7f..76c11be 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9dad7462ffdc3a6866a4aaaa62d8f0ad gnutls-2.10.5-nosrp.tar.bz2
+afdef648e4e77895ce6c15ee622ef061 gnutls-2.12.14-nosrp.tar.bz2
More information about the scm-commits
mailing list