diff options
| -rw-r--r-- | common/userpref.c | 5 | ||||
| -rw-r--r-- | common/userpref.h | 2 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | src/lockdown.c | 3 | ||||
| -rw-r--r-- | src/lockdown.h | 1 |
5 files changed, 8 insertions, 5 deletions
diff --git a/common/userpref.c b/common/userpref.c index be745cb..0fa5b96 100644 --- a/common/userpref.c +++ b/common/userpref.c | |||
| @@ -273,19 +273,20 @@ userpref_error_t userpref_get_paired_udids(char ***list, unsigned int *count) | |||
| 273 | * Save a pair record for a device. | 273 | * Save a pair record for a device. |
| 274 | * | 274 | * |
| 275 | * @param udid The device UDID as given by the device | 275 | * @param udid The device UDID as given by the device |
| 276 | * @param device_id The usbmux device id (handle) of the connected device, or 0 | ||
| 276 | * @param pair_record The pair record to save | 277 | * @param pair_record The pair record to save |
| 277 | * | 278 | * |
| 278 | * @return 1 on success and 0 if no device record is given or if it has already | 279 | * @return 1 on success and 0 if no device record is given or if it has already |
| 279 | * been saved previously. | 280 | * been saved previously. |
| 280 | */ | 281 | */ |
| 281 | userpref_error_t userpref_save_pair_record(const char *udid, plist_t pair_record) | 282 | userpref_error_t userpref_save_pair_record(const char *udid, uint32_t device_id, plist_t pair_record) |
| 282 | { | 283 | { |
| 283 | char* record_data = NULL; | 284 | char* record_data = NULL; |
| 284 | uint32_t record_size = 0; | 285 | uint32_t record_size = 0; |
| 285 | 286 | ||
| 286 | plist_to_bin(pair_record, &record_data, &record_size); | 287 | plist_to_bin(pair_record, &record_data, &record_size); |
| 287 | 288 | ||
| 288 | int res = usbmuxd_save_pair_record(udid, record_data, record_size); | 289 | int res = usbmuxd_save_pair_record_with_device_id(udid, device_id, record_data, record_size); |
| 289 | 290 | ||
| 290 | free(record_data); | 291 | free(record_data); |
| 291 | 292 | ||
diff --git a/common/userpref.h b/common/userpref.h index 84fea53..4ea630f 100644 --- a/common/userpref.h +++ b/common/userpref.h | |||
| @@ -64,7 +64,7 @@ typedef enum { | |||
| 64 | const char *userpref_get_config_dir(void); | 64 | const char *userpref_get_config_dir(void); |
| 65 | int userpref_read_system_buid(char **system_buid); | 65 | int userpref_read_system_buid(char **system_buid); |
| 66 | userpref_error_t userpref_read_pair_record(const char *udid, plist_t *pair_record); | 66 | userpref_error_t userpref_read_pair_record(const char *udid, plist_t *pair_record); |
| 67 | userpref_error_t userpref_save_pair_record(const char *udid, plist_t pair_record); | 67 | userpref_error_t userpref_save_pair_record(const char *udid, uint32_t device_id, plist_t pair_record); |
| 68 | userpref_error_t userpref_delete_pair_record(const char *udid); | 68 | userpref_error_t userpref_delete_pair_record(const char *udid); |
| 69 | 69 | ||
| 70 | userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_data_t public_key); | 70 | userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_data_t public_key); |
diff --git a/configure.ac b/configure.ac index e41baa3..ec210fc 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -18,7 +18,7 @@ dnl libtool versioning | |||
| 18 | LIBIMOBILEDEVICE_SO_VERSION=6:0:0 | 18 | LIBIMOBILEDEVICE_SO_VERSION=6:0:0 |
| 19 | 19 | ||
| 20 | dnl Minimum package versions | 20 | dnl Minimum package versions |
| 21 | LIBUSBMUXD_VERSION=1.0.9 | 21 | LIBUSBMUXD_VERSION=1.1.0 |
| 22 | LIBPLIST_VERSION=1.11 | 22 | LIBPLIST_VERSION=1.11 |
| 23 | LIBPLISTMM_VERSION=1.11 | 23 | LIBPLISTMM_VERSION=1.11 |
| 24 | 24 | ||
diff --git a/src/lockdown.c b/src/lockdown.c index 9d6d17d..2492897 100644 --- a/src/lockdown.c +++ b/src/lockdown.c | |||
| @@ -668,6 +668,7 @@ LIBIMOBILEDEVICE_API lockdownd_error_t lockdownd_client_new(idevice_t device, lo | |||
| 668 | client_loc->parent = plistclient; | 668 | client_loc->parent = plistclient; |
| 669 | client_loc->ssl_enabled = 0; | 669 | client_loc->ssl_enabled = 0; |
| 670 | client_loc->session_id = NULL; | 670 | client_loc->session_id = NULL; |
| 671 | client_loc->mux_id = device->mux_id; | ||
| 671 | 672 | ||
| 672 | if (idevice_get_udid(device, &client_loc->udid) != IDEVICE_E_SUCCESS) { | 673 | if (idevice_get_udid(device, &client_loc->udid) != IDEVICE_E_SUCCESS) { |
| 673 | debug_info("failed to get device udid."); | 674 | debug_info("failed to get device udid."); |
| @@ -1001,7 +1002,7 @@ static lockdownd_error_t lockdownd_do_pair(lockdownd_client_t client, lockdownd_ | |||
| 1001 | wifi_node = NULL; | 1002 | wifi_node = NULL; |
| 1002 | } | 1003 | } |
| 1003 | 1004 | ||
| 1004 | userpref_save_pair_record(client->udid, pair_record_plist); | 1005 | userpref_save_pair_record(client->udid, client->mux_id, pair_record_plist); |
| 1005 | } | 1006 | } |
| 1006 | } | 1007 | } |
| 1007 | } else { | 1008 | } else { |
diff --git a/src/lockdown.h b/src/lockdown.h index ab63e86..bf595df 100644 --- a/src/lockdown.h +++ b/src/lockdown.h | |||
| @@ -34,6 +34,7 @@ struct lockdownd_client_private { | |||
| 34 | char *session_id; | 34 | char *session_id; |
| 35 | char *udid; | 35 | char *udid; |
| 36 | char *label; | 36 | char *label; |
| 37 | uint32_t mux_id; | ||
| 37 | }; | 38 | }; |
| 38 | 39 | ||
| 39 | #endif | 40 | #endif |
