summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2015-10-09 05:24:33 +0200
committerGravatar Nikias Bassen2015-10-09 05:24:33 +0200
commite2e83dc901a3ddc6287cea69eef085e780d6fe9a (patch)
tree4c908cede7e7203e6042dd5c07007f19aeef9e7e
parent7336b600a160d731231d3ab05506e7be0c05f4e0 (diff)
downloadidevicerestore-e2e83dc901a3ddc6287cea69eef085e780d6fe9a.tar.gz
idevicerestore-e2e83dc901a3ddc6287cea69eef085e780d6fe9a.tar.bz2
restore: Always enable reverse proxy, some newer devices (iPad Air) require it for iOS 9+
-rw-r--r--src/restore.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/restore.c b/src/restore.c
index 7b4d315..15f5705 100644
--- a/src/restore.c
+++ b/src/restore.c
@@ -1737,23 +1737,16 @@ int restore_device(struct idevicerestore_client_t* client, plist_t build_identit
client->restore->bbtss = plist_copy(client->tss);
}
- node = plist_access_path(build_identity, 2, "Info", "FDRSupport");
- if (node && plist_get_node_type(node) == PLIST_BOOLEAN) {
- uint8_t b = 0;
- plist_get_bool_val(node, &b);
- if (b) {
- fdr_client_t fdr_control_channel = NULL;
- info("FDRSupport indicated, starting FDR listener thread\n");
- if (!fdr_connect(device, FDR_CTRL, &fdr_control_channel)) {
- if(thread_new(&fdr_thread, fdr_listener_thread, fdr_control_channel)) {
- error("ERROR: Failed to start FDR listener thread\n");
- fdr_thread = (thread_t)NULL; /* undefined after failure */
- }
- } else {
- error("ERROR: Failed to start FDR Ctrl channel\n");
- // FIXME: We might want to return failure here as it will likely fail
- }
+ fdr_client_t fdr_control_channel = NULL;
+ info("Starting FDR listener thread\n");
+ if (!fdr_connect(device, FDR_CTRL, &fdr_control_channel)) {
+ if(thread_new(&fdr_thread, fdr_listener_thread, fdr_control_channel)) {
+ error("ERROR: Failed to start FDR listener thread\n");
+ fdr_thread = (thread_t)NULL; /* undefined after failure */
}
+ } else {
+ error("ERROR: Failed to start FDR Ctrl channel\n");
+ // FIXME: We might want to return failure here as it will likely fail
}
plist_t opts = plist_new_dict();