From 8ef9e51d8514a441dc9b7d035954691d880a543e Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 8 Feb 2019 09:00:36 +0100 Subject: 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. --- tools/idevicepair.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tools') 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 @@ * idevicepair.c * Manage pairings with devices and this host * - * Copyright (c) 2014 Martin Szulecki All Rights Reserved. - * Copyright (c) 2010 Nikias Bassen All Rights Reserved. + * Copyright (c) 2010-2019 Nikias Bassen, All Rights Reserved. + * Copyright (c) 2014 Martin Szulecki, All Rights Reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -266,7 +266,9 @@ int main(int argc, char **argv) break; case OP_VALIDATE: - lerr = lockdownd_validate_pair(client, NULL); + lockdownd_client_free(client); + client = NULL; + lerr = lockdownd_client_new_with_handshake(device, &client, "idevicepair"); if (lerr == LOCKDOWN_E_SUCCESS) { printf("SUCCESS: Validated pairing with device %s\n", udid); } else { -- cgit v1.1-32-gdbae