diff options
| author | 2019-02-08 09:00:36 +0100 | |
|---|---|---|
| committer | 2019-02-08 09:00:36 +0100 | |
| commit | 8ef9e51d8514a441dc9b7d035954691d880a543e (patch) | |
| tree | b86225d259b7054e78142374bfacb526577f98ef /tools/idevicepair.c | |
| parent | d200973897e281ba35d6c9c433e1355a49056da8 (diff) | |
| download | libimobiledevice-8ef9e51d8514a441dc9b7d035954691d880a543e.tar.gz libimobiledevice-8ef9e51d8514a441dc9b7d035954691d880a543e.tar.bz2 | |
idevicepair: Fix 'validate' command which was broken since iOS 11
Apple removed the lockdownd command 'ValidatePair'. Validating a pairing
can just be done by trying to use the present pairing record to try to
start a lockdownd session: if it succeeds, the pairing is valid, otherwise
obviously not. So this is what we do now.
Diffstat (limited to 'tools/idevicepair.c')
| -rw-r--r-- | tools/idevicepair.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/idevicepair.c b/tools/idevicepair.c index 6ae9103..0b866ea 100644 --- a/tools/idevicepair.c +++ b/tools/idevicepair.c | |||
| @@ -2,8 +2,8 @@ | |||
| 2 | * idevicepair.c | 2 | * idevicepair.c |
| 3 | * Manage pairings with devices and this host | 3 | * Manage pairings with devices and this host |
| 4 | * | 4 | * |
| 5 | * Copyright (c) 2014 Martin Szulecki All Rights Reserved. | 5 | * Copyright (c) 2010-2019 Nikias Bassen, All Rights Reserved. |
| 6 | * Copyright (c) 2010 Nikias Bassen All Rights Reserved. | 6 | * Copyright (c) 2014 Martin Szulecki, All Rights Reserved. |
| 7 | * | 7 | * |
| 8 | * This library is free software; you can redistribute it and/or | 8 | * This library is free software; you can redistribute it and/or |
| 9 | * modify it under the terms of the GNU Lesser General Public | 9 | * modify it under the terms of the GNU Lesser General Public |
| @@ -266,7 +266,9 @@ int main(int argc, char **argv) | |||
| 266 | break; | 266 | break; |
| 267 | 267 | ||
| 268 | case OP_VALIDATE: | 268 | case OP_VALIDATE: |
| 269 | lerr = lockdownd_validate_pair(client, NULL); | 269 | lockdownd_client_free(client); |
| 270 | client = NULL; | ||
| 271 | lerr = lockdownd_client_new_with_handshake(device, &client, "idevicepair"); | ||
| 270 | if (lerr == LOCKDOWN_E_SUCCESS) { | 272 | if (lerr == LOCKDOWN_E_SUCCESS) { |
| 271 | printf("SUCCESS: Validated pairing with device %s\n", udid); | 273 | printf("SUCCESS: Validated pairing with device %s\n", udid); |
| 272 | } else { | 274 | } else { |
