summaryrefslogtreecommitdiff
path: root/community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch')
-rw-r--r--community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch b/community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch
new file mode 100644
index 000000000..fdb9bbb39
--- /dev/null
+++ b/community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch
@@ -0,0 +1,83 @@
+From 9ac32aa3cb2ed5242c0fe3c58ef5f571bf2b95d7 Mon Sep 17 00:00:00 2001
+From: Nikias Bassen <nikias@gmx.li>
+Date: Sun, 24 Mar 2013 02:45:23 +0100
+Subject: [PATCH 1/1] Updated for libimobiledevice >= 1.1.5
+
+---
+ configure.ac | 4 ++++
+ src/ifuse.c | 20 +++++++++++++++++++-
+ 2 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 85d131a..ca518ff 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,6 +17,10 @@ PKG_CHECK_MODULES(libimobiledevice11, libimobiledevice-1.0 >= 1.1.0, libimobiled
+ if test x"$libimobiledevice_1_1" = xyes; then
+ AC_DEFINE([HAVE_LIBIMOBILEDEVICE_1_1], 1, [Define if libimobiledevice is using 1.1.0 API])
+ fi
++PKG_CHECK_MODULES(libimobiledevice11, libimobiledevice-1.0 >= 1.1.5, libimobiledevice_1_1_5=yes, libimobiledevice_1_1_5=no)
++if test x"$libimobiledevice_1_1_5" = xyes; then
++ AC_DEFINE([HAVE_LIBIMOBILEDEVICE_1_1_5], 1, [Define if libimobiledevice is using 1.1.5 API])
++fi
+ libimobiledevice_VERSION=`$PKG_CONFIG --modversion "libimobiledevice-1.0" 2>&1`
+ PKG_CHECK_MODULES(libfuse, fuse >= 2.7.0)
+ PKG_CHECK_MODULES(libplist, libplist)
+diff --git a/src/ifuse.c b/src/ifuse.c
+index b5735ee..9fafb47 100644
+--- a/src/ifuse.c
++++ b/src/ifuse.c
+@@ -71,7 +71,11 @@ static struct {
+ char *appid;
+ #endif
+ char *service_name;
++#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5
++ lockdownd_service_descriptor_t service;
++#else
+ uint16_t port;
++#endif
+ } opts;
+
+ enum {
+@@ -402,7 +406,11 @@ void *ifuse_init(struct fuse_conn_info *conn)
+ afc_client_new_from_house_arrest_client(house_arrest, &afc);
+ } else {
+ #endif
++#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5
++ afc_client_new(phone, opts.service, &afc);
++#else
+ afc_client_new(phone, opts.port, &afc);
++#endif
+ #ifdef HAVE_LIBIMOBILEDEVICE_1_1
+ }
+ #endif
+@@ -744,7 +752,13 @@ int main(int argc, char *argv[])
+ return EXIT_FAILURE;
+ }
+
+- if ((lockdownd_start_service(control, opts.service_name, &opts.port) != LOCKDOWN_E_SUCCESS) || !opts.port) {
++ if (
++#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5
++ (lockdownd_start_service(control, opts.service_name, &opts.service) != LOCKDOWN_E_SUCCESS) || !opts.service
++#else
++ (lockdownd_start_service(control, opts.service_name, &opts.port) != LOCKDOWN_E_SUCCESS) || !opts.port
++#endif
++ ) {
+ lockdownd_client_free(control);
+ idevice_free(phone);
+ fprintf(stderr, "Failed to start AFC service '%s' on the device.\n", opts.service_name);
+@@ -757,7 +771,11 @@ int main(int argc, char *argv[])
+
+ #ifdef HAVE_LIBIMOBILEDEVICE_1_1
+ if (!strcmp(opts.service_name, HOUSE_ARREST_SERVICE_NAME)) {
++#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5
++ house_arrest_client_new(phone, opts.service, &house_arrest);
++#else
+ house_arrest_client_new(phone, opts.port, &house_arrest);
++#endif
+ if (!house_arrest) {
+ fprintf(stderr, "Could not start document sharing service!\n");
+ return EXIT_FAILURE;
+--
+1.8.4.2
+