summaryrefslogtreecommitdiffstats
path: root/src/tss.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2019-08-29 10:01:13 +0200
committerGravatar Nikias Bassen2019-08-29 10:01:13 +0200
commit182b08380564a4c9c7d5dd35d49cd0f3f5dd3f34 (patch)
treec3ee9e1a475fc83575216b9171f978bd9eb63392 /src/tss.c
parentc09c07b33038cc333daf1e15f3abbbe522b1de62 (diff)
downloadidevicerestore-182b08380564a4c9c7d5dd35d49cd0f3f5dd3f34.tar.gz
idevicerestore-182b08380564a4c9c7d5dd35d49cd0f3f5dd3f34.tar.bz2
Add support to "preboard" a device on update restore to prevent 'Attempting data recovery'
Diffstat (limited to 'src/tss.c')
-rw-r--r--src/tss.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tss.c b/src/tss.c
index 2fae246..391d730 100644
--- a/src/tss.c
+++ b/src/tss.c
@@ -574,6 +574,14 @@ int tss_request_add_ap_tags(plist_t request, plist_t parameters, plist_t overrid
continue;
}
+ if (_plist_dict_get_bool(parameters, "_OnlyFWComponents")) {
+ plist_t info_dict = plist_dict_get_item(manifest_entry, "Info");
+ if (!_plist_dict_get_bool(manifest_entry, "Trusted") && !_plist_dict_get_bool(info_dict, "IsFirmwarePayload") && !_plist_dict_get_bool(info_dict, "IsSecondaryFirmwarePayload") && !_plist_dict_get_bool(info_dict, "IsFUDFirmware")) {
+ debug("DEBUG: %s: Skipping '%s' as it is neither firmware nor secondary firmware payload\n", __func__, key);
+ continue;
+ }
+ }
+
/* copy this entry */
plist_t tss_entry = plist_copy(manifest_entry);