Control: tags 782828 + pending

Dear maintainer,

I've prepared an NMU for libimobiledevice (versioned as 1.2.0+dfsg-2.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Allegedly the maintainer is ignoring this bug, but since this is now one
blocker for the gnutls28 transition, and it's preventing other packages
from entering testing, I'm NMUing it.

It's the very same patch Andreas Metzler uploaded earlier, but got
reverted (I'm tempted to say accidentally, not sure if anybody noticed
the NMU).

Regards.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  http://mapreri.org                              : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
diffstat for libimobiledevice-1.2.0+dfsg libimobiledevice-1.2.0+dfsg

 changelog                                             |   11 +++
 patches/10_Updated-cert-callback-to-gnutls3-API.patch |   59 ++++++++++++++++++
 patches/series                                        |    1 
 3 files changed, 71 insertions(+)

diff -Nru libimobiledevice-1.2.0+dfsg/debian/changelog libimobiledevice-1.2.0+dfsg/debian/changelog
--- libimobiledevice-1.2.0+dfsg/debian/changelog	2016-01-04 15:27:11.000000000 +0000
+++ libimobiledevice-1.2.0+dfsg/debian/changelog	2016-01-25 15:01:46.000000000 +0000
@@ -1,3 +1,14 @@
+libimobiledevice (1.2.0+dfsg-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Andreas Metzler ]
+  * Apply 0001-Updated-cert-callback-to-gnutls3-API.patch from
+    https://github.com/kalev/libimobiledevice/  to fix FTBFS against
+    gnutls >= 3.4. Closes: #782828
+
+ -- Mattia Rizzolo <mat...@debian.org>  Mon, 25 Jan 2016 15:01:41 +0000
+
 libimobiledevice (1.2.0+dfsg-2) unstable; urgency=medium
 
   * Team upload.
diff -Nru libimobiledevice-1.2.0+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch libimobiledevice-1.2.0+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch
--- libimobiledevice-1.2.0+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch	1970-01-01 00:00:00.000000000 +0000
+++ libimobiledevice-1.2.0+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch	2016-01-25 15:00:53.000000000 +0000
@@ -0,0 +1,59 @@
+From ecba0d673186d17f87fdd75d5d3b9dd9c42c2f0a Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <n...@redhat.com>
+Date: Wed, 26 Aug 2015 13:43:15 +0200
+Subject: [PATCH] Updated cert callback to gnutls3 API
+
+Fixes #225
+---
+ configure.ac  | 2 +-
+ src/idevice.c | 7 ++++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 43da458..6c598f3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -146,7 +146,7 @@ if test "x$enable_openssl" = "xyes"; then
+   ssl_requires="$pkg_req_openssl"
+   AC_SUBST(ssl_requires)
+ else
+-  pkg_req_gnutls="gnutls >= 2.2.0"
++  pkg_req_gnutls="gnutls >= 3.0"
+   pkg_req_libtasn1="libtasn1 >= 1.1"
+   PKG_CHECK_MODULES(libgnutls, $pkg_req_gnutls)
+   AC_CHECK_LIB(gcrypt, gcry_control, [AC_SUBST(libgcrypt_LIBS,[-lgcrypt])], [AC_MSG_ERROR([libgcrypt is required to build libimobiledevice with GnuTLS])])
+diff --git a/src/idevice.c b/src/idevice.c
+index ce27495..0cf6641 100644
+--- a/src/idevice.c
++++ b/src/idevice.c
+@@ -626,7 +626,7 @@ static const char *ssl_error_to_string(int e)
+ /**
+  * Internally used gnutls callback function that gets called during handshake.
+  */
+-static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr_st * st)
++static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr2_st * st)
+ {
+ 	int res = -1;
+ 	gnutls_certificate_type_t type = gnutls_certificate_type_get(session);
+@@ -634,7 +634,8 @@ static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t
+ 		ssl_data_t ssl_data = (ssl_data_t)gnutls_session_get_ptr(session);
+ 		if (ssl_data && ssl_data->host_privkey && ssl_data->host_cert) {
+ 			debug_info("Passing certificate");
+-			st->type = type;
++			st->cert_type = type;
++			st->key_type = GNUTLS_PRIVKEY_X509;
+ 			st->ncerts = 1;
+ 			st->cert.x509 = &ssl_data->host_cert;
+ 			st->key.x509 = ssl_data->host_privkey;
+@@ -743,7 +744,7 @@ LIBIMOBILEDEVICE_API idevice_error_t idevice_connection_enable_ssl(idevice_conne
+ 	debug_info("enabling SSL mode");
+ 	errno = 0;
+ 	gnutls_certificate_allocate_credentials(&ssl_data_loc->certificate);
+-	gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
++	gnutls_certificate_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
+ 	gnutls_init(&ssl_data_loc->session, GNUTLS_CLIENT);
+ 	gnutls_priority_set_direct(ssl_data_loc->session, "NONE:+VERS-SSL3.0:+ANON-DH:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA1:+MD5:+COMP-NULL", NULL);
+ 	gnutls_credentials_set(ssl_data_loc->session, GNUTLS_CRD_CERTIFICATE, ssl_data_loc->certificate);
+-- 
+2.6.2
+
diff -Nru libimobiledevice-1.2.0+dfsg/debian/patches/series libimobiledevice-1.2.0+dfsg/debian/patches/series
--- libimobiledevice-1.2.0+dfsg/debian/patches/series	2016-01-04 15:27:11.000000000 +0000
+++ libimobiledevice-1.2.0+dfsg/debian/patches/series	2016-01-25 15:00:53.000000000 +0000
@@ -1,2 +1,3 @@
 02-fix-link-errors.patch
 09_use_python_config.patch
+10_Updated-cert-callback-to-gnutls3-API.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to