lockdown: Pass along usbmux device id when saving pair records
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 @@
  * Save a pair record for a device.
  *
  * @param udid The device UDID as given by the device
+ * @param device_id The usbmux device id (handle) of the connected device, or 0
  * @param pair_record The pair record to save
  *
  * @return 1 on success and 0 if no device record is given or if it has already
  *         been saved previously.
  */
-userpref_error_t userpref_save_pair_record(const char *udid, plist_t pair_record)
+userpref_error_t userpref_save_pair_record(const char *udid, uint32_t device_id, plist_t pair_record)
 {
 	char* record_data = NULL;
 	uint32_t record_size = 0;
 
 	plist_to_bin(pair_record, &record_data, &record_size);
 
-	int res = usbmuxd_save_pair_record(udid, record_data, record_size);
+	int res = usbmuxd_save_pair_record_with_device_id(udid, device_id, record_data, record_size);
 
 	free(record_data);
 
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 @@
 const char *userpref_get_config_dir(void);
 int userpref_read_system_buid(char **system_buid);
 userpref_error_t userpref_read_pair_record(const char *udid, plist_t *pair_record);
-userpref_error_t userpref_save_pair_record(const char *udid, plist_t pair_record);
+userpref_error_t userpref_save_pair_record(const char *udid, uint32_t device_id, plist_t pair_record);
 userpref_error_t userpref_delete_pair_record(const char *udid);
 
 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 @@
 LIBIMOBILEDEVICE_SO_VERSION=6:0:0
 
 dnl Minimum package versions
-LIBUSBMUXD_VERSION=1.0.9
+LIBUSBMUXD_VERSION=1.1.0
 LIBPLIST_VERSION=1.11
 LIBPLISTMM_VERSION=1.11
 
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 @@
 	client_loc->parent = plistclient;
 	client_loc->ssl_enabled = 0;
 	client_loc->session_id = NULL;
+	client_loc->mux_id = device->mux_id;
 
 	if (idevice_get_udid(device, &client_loc->udid) != IDEVICE_E_SUCCESS) {
 		debug_info("failed to get device udid.");
@@ -1001,7 +1002,7 @@
 						wifi_node = NULL;
 					}
 
-					userpref_save_pair_record(client->udid, pair_record_plist);
+					userpref_save_pair_record(client->udid, client->mux_id, pair_record_plist);
 				}
 			}
 		} 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 @@
 	char *session_id;
 	char *udid;
 	char *label;
+	uint32_t mux_id;
 };
 
 #endif