summaryrefslogtreecommitdiffstats
path: root/tools/ideviceprovision.c
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2013-02-26 03:20:56 +0100
committerGravatar Martin Szulecki2013-02-26 03:20:56 +0100
commitfcc1bb855efb6860417ed827d3b50feba24a9a8b (patch)
tree47d3c7d6a985dc647f7962329014c8116d657cc9 /tools/ideviceprovision.c
parent3b54aac30447bc02fafd721a63a752968628e7e0 (diff)
downloadlibimobiledevice-fcc1bb855efb6860417ed827d3b50feba24a9a8b.tar.gz
libimobiledevice-fcc1bb855efb6860417ed827d3b50feba24a9a8b.tar.bz2
Refactor port number use into service descriptor to enable SSL for services
This is a major change which breaks API but is required in order to support SSL communication for services as used by network connections.
Diffstat (limited to 'tools/ideviceprovision.c')
-rw-r--r--tools/ideviceprovision.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/ideviceprovision.c b/tools/ideviceprovision.c
index 1c6866d..13fd239 100644
--- a/tools/ideviceprovision.c
+++ b/tools/ideviceprovision.c
@@ -193,6 +193,7 @@ static plist_t profile_get_embedded_plist(plist_t profile)
193int main(int argc, char *argv[]) 193int main(int argc, char *argv[])
194{ 194{
195 lockdownd_client_t client = NULL; 195 lockdownd_client_t client = NULL;
196 lockdownd_service_descriptor_t service = NULL;
196 idevice_t device = NULL; 197 idevice_t device = NULL;
197 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 198 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
198 int i; 199 int i;
@@ -278,8 +279,7 @@ int main(int argc, char *argv[])
278 return -1; 279 return -1;
279 } 280 }
280 281
281 uint16_t port = 0; 282 if (LOCKDOWN_E_SUCCESS != lockdownd_start_service(client, "com.apple.misagent", &service)) {
282 if (LOCKDOWN_E_SUCCESS != lockdownd_start_service(client, "com.apple.misagent", &port)) {
283 fprintf(stderr, "Could not start service \"com.apple.misagent\"\n"); 283 fprintf(stderr, "Could not start service \"com.apple.misagent\"\n");
284 lockdownd_client_free(client); 284 lockdownd_client_free(client);
285 idevice_free(device); 285 idevice_free(device);
@@ -289,13 +289,18 @@ int main(int argc, char *argv[])
289 client = NULL; 289 client = NULL;
290 290
291 misagent_client_t mis = NULL; 291 misagent_client_t mis = NULL;
292 if (misagent_client_new(device, port, &mis) != MISAGENT_E_SUCCESS) { 292 if (misagent_client_new(device, service, &mis) != MISAGENT_E_SUCCESS) {
293 fprintf(stderr, "Could not connect to \"com.apple.misagent\" on device\n"); 293 fprintf(stderr, "Could not connect to \"com.apple.misagent\" on device\n");
294 if (service)
295 lockdownd_service_descriptor_free(service);
294 lockdownd_client_free(client); 296 lockdownd_client_free(client);
295 idevice_free(device); 297 idevice_free(device);
296 return -1; 298 return -1;
297 } 299 }
298 300
301 if (service)
302 lockdownd_service_descriptor_free(service);
303
299 switch (op) { 304 switch (op) {
300 case OP_INSTALL: 305 case OP_INSTALL:
301 { 306 {