diff options
| author | 2013-09-19 21:48:05 +0200 | |
|---|---|---|
| committer | 2013-09-19 21:48:05 +0200 | |
| commit | 4514713b00a8bc3685f22c89d29963f10d46789e (patch) | |
| tree | 5b049b409d00cc363f483c9f072e518e5ec51911 /src/preflight.c | |
| parent | 7de9ac3ed900701fd2fafb2e0c006b56f18672d7 (diff) | |
| download | usbmuxd-4514713b00a8bc3685f22c89d29963f10d46789e.tar.gz usbmuxd-4514713b00a8bc3685f22c89d29963f10d46789e.tar.bz2 | |
preflight: Trigger new trust dialog if user denied pairing before
This changes allows to replug a device to trigger a new trust dialog if the
user did deny the pairing before.
Diffstat (limited to 'src/preflight.c')
| -rw-r--r-- | src/preflight.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/preflight.c b/src/preflight.c index 17748c6..30a2217 100644 --- a/src/preflight.c +++ b/src/preflight.c | |||
| @@ -137,6 +137,7 @@ static void* preflight_worker_handle_device_add(void* userdata) | |||
| 137 | goto leave; | 137 | goto leave; |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | int is_device_paired = 0; | ||
| 140 | char *host_id = NULL; | 141 | char *host_id = NULL; |
| 141 | userpref_device_record_get_host_id(dev->udid, &host_id); | 142 | userpref_device_record_get_host_id(dev->udid, &host_id); |
| 142 | lerr = lockdownd_start_session(lockdown, host_id, NULL, NULL); | 143 | lerr = lockdownd_start_session(lockdown, host_id, NULL, NULL); |
| @@ -150,6 +151,8 @@ static void* preflight_worker_handle_device_add(void* userdata) | |||
| 150 | usbmuxd_log(LL_INFO, "%s: StartSession failed on device %s, lockdown error %d", __func__, _dev->udid, lerr); | 151 | usbmuxd_log(LL_INFO, "%s: StartSession failed on device %s, lockdown error %d", __func__, _dev->udid, lerr); |
| 151 | if (lerr == LOCKDOWN_E_INVALID_HOST_ID) { | 152 | if (lerr == LOCKDOWN_E_INVALID_HOST_ID) { |
| 152 | usbmuxd_log(LL_INFO, "%s: Device %s is not paired with this host.", __func__, _dev->udid); | 153 | usbmuxd_log(LL_INFO, "%s: Device %s is not paired with this host.", __func__, _dev->udid); |
| 154 | } else { | ||
| 155 | is_device_paired = 1; | ||
| 153 | } | 156 | } |
| 154 | 157 | ||
| 155 | plist_t value = NULL; | 158 | plist_t value = NULL; |
| @@ -173,6 +176,11 @@ static void* preflight_worker_handle_device_add(void* userdata) | |||
| 173 | 176 | ||
| 174 | set_untrusted_host_buid(lockdown); | 177 | set_untrusted_host_buid(lockdown); |
| 175 | 178 | ||
| 179 | /* if not paired, trigger the trust dialog to make sure it appears */ | ||
| 180 | if (!is_device_paired) { | ||
| 181 | lockdownd_pair(lockdown, NULL); | ||
| 182 | } | ||
| 183 | |||
| 176 | lockdownd_service_descriptor_t service = NULL; | 184 | lockdownd_service_descriptor_t service = NULL; |
| 177 | lerr = lockdownd_start_service(lockdown, "com.apple.mobile.insecure_notification_proxy", &service); | 185 | lerr = lockdownd_start_service(lockdown, "com.apple.mobile.insecure_notification_proxy", &service); |
| 178 | if (lerr != LOCKDOWN_E_SUCCESS) { | 186 | if (lerr != LOCKDOWN_E_SUCCESS) { |
