diff options
Diffstat (limited to 'src/preflight.c')
-rw-r--r-- | src/preflight.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/preflight.c b/src/preflight.c index 5902f5d..68e7f2c 100644 --- a/src/preflight.c +++ b/src/preflight.c | |||
@@ -148,7 +148,7 @@ static void* preflight_worker_handle_device_add(void* userdata) | |||
148 | 148 | ||
149 | plist_t value = NULL; | 149 | plist_t value = NULL; |
150 | char* version_str = NULL; | 150 | char* version_str = NULL; |
151 | char* platform_str = NULL; | 151 | char* deviceclass_str = NULL; |
152 | 152 | ||
153 | usbmuxd_log(LL_INFO, "%s: Starting preflight on device %s...", __func__, _dev->udid); | 153 | usbmuxd_log(LL_INFO, "%s: Starting preflight on device %s...", __func__, _dev->udid); |
154 | 154 | ||
@@ -228,28 +228,28 @@ retry: | |||
228 | goto leave; | 228 | goto leave; |
229 | } | 229 | } |
230 | 230 | ||
231 | lerr = lockdownd_get_value(lockdown, NULL, "ProductName", &value); | 231 | lerr = lockdownd_get_value(lockdown, NULL, "DeviceClass", &value); |
232 | if (lerr != LOCKDOWN_E_SUCCESS) { | 232 | if (lerr != LOCKDOWN_E_SUCCESS) { |
233 | usbmuxd_log(LL_ERROR, "%s: ERROR: Could not get ProductName from device %s, lockdown error %d", __func__, _dev->udid, lerr); | 233 | usbmuxd_log(LL_ERROR, "%s: ERROR: Could not get DeviceClass from device %s, lockdown error %d", __func__, _dev->udid, lerr); |
234 | goto leave; | 234 | goto leave; |
235 | } | 235 | } |
236 | if (value && plist_get_node_type(value) == PLIST_STRING) { | 236 | if (value && plist_get_node_type(value) == PLIST_STRING) { |
237 | plist_get_string_val(value, &platform_str); | 237 | plist_get_string_val(value, &deviceclass_str); |
238 | } | 238 | } |
239 | plist_free(value); | 239 | plist_free(value); |
240 | 240 | ||
241 | if (!platform_str) { | 241 | if (!deviceclass_str) { |
242 | usbmuxd_log(LL_ERROR, "%s: Could not get ProductName string from device %s handle %d", __func__, _dev->udid, (int)(long)_dev->conn_data); | 242 | usbmuxd_log(LL_ERROR, "%s: Could not get DeviceClass string from device %s handle %d", __func__, _dev->udid, (int)(long)_dev->conn_data); |
243 | goto leave; | 243 | goto leave; |
244 | } | 244 | } |
245 | 245 | ||
246 | int version_major = strtol(version_str, NULL, 10); | 246 | int version_major = strtol(version_str, NULL, 10); |
247 | if ((!strcmp(platform_str, "iPhone OS") && version_major >= 7) | 247 | if (((!strcmp(deviceclass_str, "iPhone") || !strcmp(deviceclass_str, "iPad")) && version_major >= 7) |
248 | || ((!strcmp(platform_str, "watchOS") || !strcmp(platform_str, "Watch OS")) && version_major >= 2) | 248 | || (!strcmp(deviceclass_str, "Watch") && version_major >= 2) |
249 | || (!strcmp(platform_str, "Apple TVOS") && version_major >= 9) | 249 | || (!strcmp(deviceclass_str, "AppleTV") && version_major >= 9) |
250 | ) { | 250 | ) { |
251 | /* iOS 7.0 / watchOS 2.0 / tvOS 9.0 and later */ | 251 | /* iOS 7.0 / watchOS 2.0 / tvOS 9.0 and later */ |
252 | usbmuxd_log(LL_INFO, "%s: Found %s %s device %s", __func__, platform_str, version_str, _dev->udid); | 252 | usbmuxd_log(LL_INFO, "%s: Found %s %s device %s", __func__, deviceclass_str, version_str, _dev->udid); |
253 | 253 | ||
254 | lockdownd_set_untrusted_host_buid(lockdown); | 254 | lockdownd_set_untrusted_host_buid(lockdown); |
255 | 255 | ||
@@ -356,7 +356,7 @@ retry: | |||
356 | } | 356 | } |
357 | 357 | ||
358 | leave: | 358 | leave: |
359 | free(platform_str); | 359 | free(deviceclass_str); |
360 | free(version_str); | 360 | free(version_str); |
361 | if (lockdown) | 361 | if (lockdown) |
362 | lockdownd_client_free(lockdown); | 362 | lockdownd_client_free(lockdown); |