Control: tags 782828 + patch
Control: tags 782828 + pending

Dear maintainer,

I've prepared an NMU for libimobiledevice (versioned as 1.1.6+dfsg-3.2) and
uploaded it to DELAYED/7 for *experimental. Please feel free to tell me if I
should delay it longer.

Regards.
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
diff -Nru libimobiledevice-1.1.6+dfsg/debian/changelog libimobiledevice-1.1.6+dfsg/debian/changelog
--- libimobiledevice-1.1.6+dfsg/debian/changelog	2014-08-17 12:23:30.000000000 +0200
+++ libimobiledevice-1.1.6+dfsg/debian/changelog	2015-12-12 16:38:57.000000000 +0100
@@ -1,3 +1,12 @@
+libimobiledevice (1.1.6+dfsg-3.2) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Apply 0001-Updated-cert-callback-to-gnutls3-API.patch from
+    https://github.com/kalev/libimobiledevice/ to fix FTBFS against
+    gnutls >= 3.4. Closes: #782828
+
+ -- Andreas Metzler <ametz...@debian.org>  Sat, 12 Dec 2015 16:38:43 +0100
+
 libimobiledevice (1.1.6+dfsg-3.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru libimobiledevice-1.1.6+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch libimobiledevice-1.1.6+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch
--- libimobiledevice-1.1.6+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch	1970-01-01 01:00:00.000000000 +0100
+++ libimobiledevice-1.1.6+dfsg/debian/patches/10_Updated-cert-callback-to-gnutls3-API.patch	2015-12-12 16:37:45.000000000 +0100
@@ -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.1.6+dfsg/debian/patches/series libimobiledevice-1.1.6+dfsg/debian/patches/series
--- libimobiledevice-1.1.6+dfsg/debian/patches/series	2014-07-23 10:23:59.000000000 +0200
+++ libimobiledevice-1.1.6+dfsg/debian/patches/series	2015-12-12 16:38:37.000000000 +0100
@@ -2,3 +2,4 @@
 02-fix-link-errors.patch
 09_use_python_config.patch
 Use-symbol-script-to-exclude-private-symbols.patch
+10_Updated-cert-callback-to-gnutls3-API.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to