This commit is contained in:
Peter Robinson 2012-04-10 23:08:38 +01:00
parent 1b06007cd3
commit c8d2bf4582
6 changed files with 7 additions and 146 deletions

4
.gitignore vendored
View File

@ -1,3 +1 @@
libimobiledevice-1.0.4.tar.bz2
/libimobiledevice-1.1.0.tar.bz2
/libimobiledevice-1.1.1.tar.bz2
/libimobiledevice-*.tar.bz2

View File

@ -1,54 +0,0 @@
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

@ -1,27 +0,0 @@
From f0487376671ffd6ac3fc121657f1fbd0acea3cb0 Mon Sep 17 00:00:00 2001
From: Nikias Bassen <nikias@gmx.li>
Date: Tue, 7 Jun 2011 17:59:22 +0200
Subject: [PATCH] lockdown: fix support for iOS 5
---
src/lockdown.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/lockdown.c b/src/lockdown.c
index 935f24e..15b3d69 100644
--- a/src/lockdown.c
+++ b/src/lockdown.c
@@ -86,7 +86,9 @@ static int lockdown_check_result(plist_t dict, const char *query_match)
plist_t result_node = plist_dict_get_item(dict, "Result");
if (!result_node) {
- return ret;
+ /* iOS 5: the 'Result' key is not present anymore.
+ Just assume success here */
+ return RESULT_SUCCESS;
}
plist_type result_type = plist_get_node_type(result_node);
--
1.7.7.3

View File

@ -1,39 +0,0 @@
From e855f246b3d869a60375207fde1294bbe761fe23 Mon Sep 17 00:00:00 2001
From: Nikias Bassen <nikias@gmx.li>
Date: Mon, 21 Nov 2011 16:50:24 +0100
Subject: [PATCH] lockdown: iOS 5: handle 'Error' key in lockdown_check_result
---
src/lockdown.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/src/lockdown.c b/src/lockdown.c
index 327d9e5..1783df6 100644
--- a/src/lockdown.c
+++ b/src/lockdown.c
@@ -87,7 +87,21 @@ static int lockdown_check_result(plist_t dict, const char *query_match)
plist_t result_node = plist_dict_get_item(dict, "Result");
if (!result_node) {
/* iOS 5: the 'Result' key is not present anymore.
- Just assume success here */
+ But we need to check for the 'Error' key. */
+ plist_t err_node = plist_dict_get_item(dict, "Error");
+ if (err_node) {
+ if (plist_get_node_type(err_node) == PLIST_STRING) {
+ char *err_value = NULL;
+ plist_get_string_val(err_node, &err_value);
+ if (err_value) {
+ debug_info("ERROR: %s", err_value);
+ free(err_value);
+ } else {
+ debug_info("ERROR: unknown error occured");
+ }
+ }
+ return RESULT_FAILURE;
+ }
return RESULT_SUCCESS;
}
--
1.7.7.3

View File

@ -1,8 +1,8 @@
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
Name: libimobiledevice
Version: 1.1.1
Release: 5%{?dist}
Version: 1.1.4
Release: 1%{?dist}
Summary: Library for connecting to mobile devices
Group: System Environment/Libraries
@ -20,16 +20,6 @@ BuildRequires: python-devel
BuildRequires: swig
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
# http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=f0487376671ffd6ac3fc121657f1fbd0acea3cb0
Patch1: 0001-lockdown-fix-support-for-iOS-5.patch
# http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=e855f246b3d869a60375207fde1294bbe761fe23
Patch2: 0001-lockdown-iOS-5-handle-Error-key-in-lockdown_check_re.patch
%description
libimobiledevice is a library for connecting to mobile devices including phones
and music players
@ -39,8 +29,6 @@ Summary: Development package for libimobiledevice
Group: Development/Libraries
Requires: libimobiledevice = %{version}-%{release}
Requires: pkgconfig
Provides: libiphone-devel = %{version}
Obsoletes: libiphone-devel < 0.9.7
%description devel
Files for development with libimobiledevice.
@ -50,24 +38,16 @@ Summary: Python bindings for libimobiledevice
Group: Development/Libraries
Requires: libimobiledevice = %{version}-%{release}
Requires: pkgconfig
Provides: libiphone-python = %{version}
Obsoletes: libiphone-python < 0.9.7
%description python
Python bindings for libimobiledevice.
%prep
%setup -q
%patch0 -p1 -b .gnutls
%patch1 -p1 -b .result
%patch2 -p1 -b .error
# Fix dir permissions on html docs
chmod +x docs/html
# Allow build against swig 2.0.0. A proper fix would be nicer.
sed -i 's|1.3.21|2.0.0|g' configure
%build
%configure --disable-static
# Remove rpath as per https://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath
@ -106,6 +86,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
%{python_sitearch}/imobiledevice/
%changelog
* Tue Apr 10 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.1.4-1
- New 1.1.4 release
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

View File

@ -1 +1 @@
cdc13037e822d9ac2e109536701d153a libimobiledevice-1.1.1.tar.bz2
3f28cbc6a2e30d34685049c0abde5183 libimobiledevice-1.1.4.tar.bz2