summaryrefslogtreecommitdiffstats
path: root/src/lockdown.c
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2014-03-21 20:03:58 +0100
committerGravatar Martin Szulecki2014-03-21 20:03:58 +0100
commit4bb1fd768ccf6dc6eda4a7af5638abca553bc673 (patch)
tree14a202192770c8df30b4d5d373cfa09db357dec3 /src/lockdown.c
parentdbede29466197702c58b806f356f1fa26223d68a (diff)
downloadlibimobiledevice-4bb1fd768ccf6dc6eda4a7af5638abca553bc673.tar.gz
libimobiledevice-4bb1fd768ccf6dc6eda4a7af5638abca553bc673.tar.bz2
lockdown: Read HostID again after pairing to fix first pair workflow
Diffstat (limited to 'src/lockdown.c')
-rw-r--r--src/lockdown.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lockdown.c b/src/lockdown.c
index 0efe30e..ab99ae2 100644
--- a/src/lockdown.c
+++ b/src/lockdown.c
@@ -762,6 +762,7 @@ lockdownd_error_t lockdownd_client_new_with_handshake(idevice_t device, lockdown
762 } 762 }
763 763
764 plist_free(pair_record); 764 plist_free(pair_record);
765 pair_record = NULL;
765 766
766 /* in any case, we need to validate pairing to receive trusted host status */ 767 /* in any case, we need to validate pairing to receive trusted host status */
767 ret = lockdownd_validate_pair(client_loc, NULL); 768 ret = lockdownd_validate_pair(client_loc, NULL);
@@ -778,6 +779,12 @@ lockdownd_error_t lockdownd_client_new_with_handshake(idevice_t device, lockdown
778 } 779 }
779 780
780 if (LOCKDOWN_E_SUCCESS == ret) { 781 if (LOCKDOWN_E_SUCCESS == ret) {
782 if (!host_id) {
783 userpref_read_pair_record(client_loc->udid, &pair_record);
784 pair_record_get_host_id(pair_record, &host_id);
785 plist_free(pair_record);
786 }
787
781 ret = lockdownd_start_session(client_loc, host_id, NULL, NULL); 788 ret = lockdownd_start_session(client_loc, host_id, NULL, NULL);
782 if (LOCKDOWN_E_SUCCESS != ret) { 789 if (LOCKDOWN_E_SUCCESS != ret) {
783 debug_info("Session opening failed."); 790 debug_info("Session opening failed.");