Fix compilation against recent version of gnutls

This commit is contained in:
Bastien Nocera 2011-09-21 16:22:26 +01:00
parent 9f9963a25a
commit 8cc8896445
2 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,54 @@
From 6dccecddf012a0a404d121cc2c42ddce7c485fb7 Mon Sep 17 00:00:00 2001
From: Martin Szulecki <opensuse@sukimashita.com>
Date: Sat, 30 Apr 2011 16:46:54 +0200
Subject: [PATCH] Remove deprecated gnutls_*_set_priority() and use
gnutls_priority_set_direct()
This change requires gnutls >= 2.2.0 for the latter to be available.
With deprecation starts with gnutls 2.12.0.
---
configure.ac | 2 +-
src/idevice.c | 14 +-------------
2 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/configure.ac b/configure.ac
index 9390ccf..cdfaa36 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,7 +29,7 @@ AC_PROG_LIBTOOL
PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)
PKG_CHECK_MODULES(libglib2, glib-2.0 >= 2.14.1)
PKG_CHECK_MODULES(libgthread2, gthread-2.0 >= 2.14.1)
-PKG_CHECK_MODULES(libgnutls, gnutls >= 1.6.3 )
+PKG_CHECK_MODULES(libgnutls, gnutls >= 2.2.0)
PKG_CHECK_MODULES(libtasn1, libtasn1 >= 1.1)
PKG_CHECK_MODULES(libplist, libplist >= 0.15)
PKG_CHECK_MODULES(libplistmm, libplist++ >= 0.15)
diff --git a/src/idevice.c b/src/idevice.c
index 5a9d49b..3676b5c 100644
--- a/src/idevice.c
+++ b/src/idevice.c
@@ -586,19 +586,7 @@ idevice_error_t idevice_connection_enable_ssl(idevice_connection_t connection)
gnutls_certificate_allocate_credentials(&ssl_data_loc->certificate);
gnutls_certificate_client_set_retrieve_function (ssl_data_loc->certificate, internal_cert_callback);
gnutls_init(&ssl_data_loc->session, GNUTLS_CLIENT);
- {
- int protocol_priority[16] = { GNUTLS_SSL3, 0 };
- int kx_priority[16] = { GNUTLS_KX_ANON_DH, GNUTLS_KX_RSA, 0 };
- int cipher_priority[16] = { GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_AES_256_CBC, 0 };
- int mac_priority[16] = { GNUTLS_MAC_SHA1, GNUTLS_MAC_MD5, 0 };
- int comp_priority[16] = { GNUTLS_COMP_NULL, 0 };
-
- gnutls_cipher_set_priority(ssl_data_loc->session, cipher_priority);
- gnutls_compression_set_priority(ssl_data_loc->session, comp_priority);
- gnutls_kx_set_priority(ssl_data_loc->session, kx_priority);
- gnutls_protocol_set_priority(ssl_data_loc->session, protocol_priority);
- gnutls_mac_set_priority(ssl_data_loc->session, mac_priority);
- }
+ 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);
gnutls_session_set_ptr(ssl_data_loc->session, ssl_data_loc);
--
1.7.6.2

View File

@ -2,7 +2,7 @@
Name: libimobiledevice
Version: 1.1.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Library for connecting to mobile devices
Group: System Environment/Libraries
@ -23,6 +23,9 @@ BuildRequires: usbmuxd-devel
Provides: libiphone = %{version}
Obsoletes: libiphone < 0.9.7
# http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=6dccecddf012a0a404d121cc2c42ddce7c485fb7
Patch0: 0001-Remove-deprecated-gnutls_-_set_priority-and-use-gnut.patch
%description
libimobiledevice is a library for connecting to mobile devices including phones
and music players
@ -51,6 +54,7 @@ Python bindings for libimobiledevice.
%prep
%setup -q
%patch0 -p1 -b .gnutls
# Fix dir permissions on html docs
chmod +x docs/html
@ -98,6 +102,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
%{python_sitearch}/imobiledevice/
%changelog
* Wed Sep 21 2011 Bastien Nocera <bnocera@redhat.com> 1.1.1-2
- Fix compilation against recent version of gnutls
* Fri Apr 28 2011 Peter Robinson <pbrobinson@gmail.com> 1.1.1-1
- New 1.1.1 release