summaryrefslogtreecommitdiff
path: root/community/ifuse/0001-Updated-for-libimobiledevice-1.1.5.patch
blob: fdb9bbb397f6473c0829caaea6e1836510e057e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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