summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/idevicesyslog.c35
1 files changed, 33 insertions, 2 deletions
diff --git a/tools/idevicesyslog.c b/tools/idevicesyslog.c
index 47d2f8c..0a923b8 100644
--- a/tools/idevicesyslog.c
+++ b/tools/idevicesyslog.c
@@ -63,9 +63,40 @@ static int start_logging(void)
63 return -1; 63 return -1;
64 } 64 }
65 65
66 /* start and connect to syslog_relay service */ 66 lockdownd_client_t lockdown = NULL;
67 lockdownd_error_t lerr = lockdownd_client_new_with_handshake(device, &lockdown, "idevicesyslog");
68 if (lerr != LOCKDOWN_E_SUCCESS) {
69 fprintf(stderr, "ERROR: Could not connect to lockdownd: %d\n", lerr);
70 idevice_free(device);
71 device = NULL;
72 return -1;
73 }
74
75 /* start syslog_relay service */
76 lockdownd_service_descriptor_t svc = NULL;
77 lerr = lockdownd_start_service(lockdown, SYSLOG_RELAY_SERVICE_NAME, &svc);
78 if (lerr == LOCKDOWN_E_PASSWORD_PROTECTED) {
79 fprintf(stderr, "*** Device is passcode protected, enter passcode on the device to continue ***\n");
80 while (1) {
81 lerr = lockdownd_start_service(lockdown, SYSLOG_RELAY_SERVICE_NAME, &svc);
82 if (lerr != LOCKDOWN_E_PASSWORD_PROTECTED) {
83 break;
84 }
85 sleep(1);
86 }
87 }
88 if (lerr != LOCKDOWN_E_SUCCESS) {
89 fprintf(stderr, "ERROR: Could not connect to lockdownd: %d\n", lerr);
90 idevice_free(device);
91 device = NULL;
92 return -1;
93 }
94 lockdownd_client_free(lockdown);
95
96 /* connect to syslog_relay service */
67 syslog_relay_error_t serr = SYSLOG_RELAY_E_UNKNOWN_ERROR; 97 syslog_relay_error_t serr = SYSLOG_RELAY_E_UNKNOWN_ERROR;
68 serr = syslog_relay_client_start_service(device, &syslog, "idevicesyslog"); 98 serr = syslog_relay_client_new(device, svc, &syslog);
99 lockdownd_service_descriptor_free(svc);
69 if (serr != SYSLOG_RELAY_E_SUCCESS) { 100 if (serr != SYSLOG_RELAY_E_SUCCESS) {
70 fprintf(stderr, "ERROR: Could not start service com.apple.syslog_relay.\n"); 101 fprintf(stderr, "ERROR: Could not start service com.apple.syslog_relay.\n");
71 idevice_free(device); 102 idevice_free(device);