Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-08-29 | restore: use an appropriate ticket for Cryptex1 global manifest | Munehisa Kamata | 1 | -7/+24 | |
macOS 13 introduced a new global manifest for Cryptex1 and it requires tickets found in Firmware/Manifests/restore/cryptex1/macOS Customer/ inside an IPSW, but we currently do not use the tickets and end up unexpected behavior on a Mac device after restoring, e.g. bputil fails to downgrade security mode due to "Cryptex1 manifest verification failed". This adds a proper handling to use the appropriate tickets. Signed-off-by: Munehisa Kamata <kamatam@amazon.com> | |||||
2022-08-23 | tss: Skip components with IsFTAB:true when adding AP tags to request | Nikias Bassen | 1 | -0/+6 | |
This should fix devices failing to enter restore mode due to an incorrect signature for the repective components. | |||||
2022-06-28 | restore: Don't print 'Attempting to continue after critical error' warning ↵ | Nikias Bassen | 1 | -1/+1 | |
when no error was detected This only occurred when using --ignore-errors command line option. | |||||
2022-06-28 | Make sure to exactly match the passed variant when using --variant | Nikias Bassen | 3 | -9/+9 | |
2022-06-27 | Add --variant command line switch to specify build identity to use | Nikias Bassen | 2 | -4/+16 | |
2022-06-27 | Ignore 'Research*' variant in build identity selection | Nikias Bassen | 1 | -2/+2 | |
2022-06-27 | ipsw: Add workaround for missing RestoreBehavior entries for ipsw info | Nikias Bassen | 1 | -1/+9 | |
2022-06-27 | Don't print an error message when RestoreBehavior is missing | Nikias Bassen | 1 | -13/+6 | |
2022-06-27 | ipsw: Improve error message when fwrite fails | Nikias Bassen | 1 | -2/+2 | |
2022-06-23 | Support iOS 16.0 Beta 2 (#506) | Emma Lethaltail | 1 | -0/+1 | |
2022-06-20 | Remove more serial number checks, and get ECID early on in all modes | Nikias Bassen | 8 | -135/+31 | |
Some devices seem to not have a serial number, usually in restore mode, which will cause the restore operation to fail since we specifically check for it. An earlier commit already removed the actual comparison in favor of comparing the ECID, but some checks would still result in restore failures as it can't retrieve the serial number on said devices at all. This commit also makes sure to get the ECID in all modes as early as possible and removes all the helper functions for it since they are not needed anymore. | |||||
2022-06-20 | Add support for FirmwareUpdaterPreflight message | Clément Decoodt | 1 | -0/+31 | |
This message seems mandatory on the new versions of MacOS (12+), but it seems an empty response is what's expected. | |||||
2022-06-17 | Use more elegant way to match file name to component name | Nikias Bassen | 1 | -37/+33 | |
2022-06-17 | restore: Fix memory corruption in restore_get_timer_firmware_data | Doron Zarhi | 1 | -1/+1 | |
2022-06-17 | Add support for iOS 16 | Doron Zarhi | 4 | -21/+157 | |
2022-05-23 | ipsw: Update to reflect color macro name change in libimobiledevice-glue | Nikias Bassen | 1 | -7/+7 | |
2022-04-27 | Fix restore for devices that don't have eUICC | Nikias Bassen | 1 | -1/+1 | |
Because of a default value of (uint64_t)-1LL returned when _plist_dict_get_uint doesn't find the dictionary entry for the given key, a later comparison of that unsigned value against something like >= 5 will result in the condition being true even though it was not supposed to. _plist_dict_get_uint will now return a default value of 0 if the key is not found. Code paths that deal with actual values of 0 vs. non-existent values need to test the existence of the key deal with that; I am currently not aware of anything that would be affected. | |||||
2022-04-25 | Increase recovery mode disconnect and re-connect timeout from 10 to 60 seconds | Rodrigo Arias | 1 | -2/+2 | |
2022-04-13 | Print version string upon execution | Nikias Bassen | 1 | -0/+2 | |
2022-04-12 | More code improvements using _plist_dict_copy_* helper | Nikias Bassen | 3 | -52/+13 | |
2022-04-12 | Use proper detection for macOS restore path (instead of version number ↵ | Nikias Bassen | 5 | -17/+21 | |
comparison) | |||||
2022-04-10 | Fix build identity selection for beta (developer) firmware | Nikias Bassen | 3 | -17/+14 | |
2022-04-10 | restore: Fixed a problem that nobody even knew existed | Nikias Bassen | 2 | -7/+11 | |
At least this has been going unnoticed until recently. For quite some time we have been sending NorImageData as array to the device, but it turned out that this was only expected for iOS < 7.0 and from then on it was supposed to be a dictionary with the components. Now we should correctly handle it. | |||||
2022-04-08 | normal: Skip fetching FirmwarePreflightInfo for non-baseband devices | Nikias Bassen | 1 | -6/+17 | |
This will prevent the otherwise confusing (but harmless) error messages ERROR: Unable to get (null)-FirmwarePreflightInfo from lockdownd ERROR: Unable to get FirmwarePreflightInfo during restore. | |||||
2022-04-07 | tss: Fix img4 tag for TSS request | Nikias Bassen | 1 | -1/+1 | |
2022-04-07 | tss/restore: Improve code readability with plist helpers and removal of ↵ | Nikias Bassen | 4 | -810/+243 | |
unneeded comments | |||||
2022-04-06 | Add support for Timer,* components and TSS found in iPad Air 5th gen firmware | Nikias Bassen | 3 | -0/+353 | |
2022-04-05 | ipsw: Use libplist's new plist_from_json API | Nikias Bassen | 6 | -639/+3 | |
2022-03-07 | restore: Use ECID instead of serial number in restore_is_current_device() to ↵ | Nikias Bassen | 1 | -14/+16 | |
match device Some devices seem to not provide serial number information in recovery or restore mode so we use ECID instead to make sure we deal with the same device. | |||||
2021-11-27 | Use macros for the different restore variant strings | Nikias Bassen | 3 | -6/+10 | |
2021-11-26 | Cache build manifest in client struct | Nikias Bassen | 3 | -31/+20 | |
2021-11-24 | Update TSS Client version | Daniel VanBritsom | 1 | -1/+7 | |
Updates the "TSS_CLIENT_VERSION_STRING" to match that of iTunes 12.12.0.6 on Windows and Finder on the latest macOS. | |||||
2021-11-24 | restore: Use new reverse proxy implementation from latest libimobiledevice | Nikias Bassen | 1 | -0/+52 | |
with fallback to the legacy code with a compile time warning. The legacy code will be removed in the future once a newer libimobiledevice has been officially released. | |||||
2021-11-19 | Fix compilation on Windows | Nikias Bassen | 3 | -5/+24 | |
2021-11-17 | restore: Add missing newlines to info messages | Hector Martin | 1 | -2/+2 | |
Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-11-17 | restore: Support sending BootabilityBundle (Monterey) | Hector Martin | 1 | -0/+155 | |
This is used on macOS 12+ (Monterey and later) to allow older OSes to perform the bless2/bootability process for newer OSes, by putting a shared library in the Preboot partition that contains the specific logic required to make a given macOS install bootable. Closes: #441 Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-11-17 | ipsw: Support extracting symlinks as their target name (Monterey) | Hector Martin | 1 | -17/+27 | |
This already works for zip files, but we need to do a readlink dance for unpacked archives. Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-11-17 | ipsw: Add a function to list the archive contents (Monterey) | Hector Martin | 2 | -0/+124 | |
This is required to enumerate the BootabilityBundle contents. Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-11-17 | idevicerestore: Identify build identity by Variant (Monterey) | Hector Martin | 3 | -91/+20 | |
Monterey got rid of VariantSupportsGlobalSigning. Identify builds based on the Variant field (which seems to always have consistent values) instead of using RestoreBehavior and VariantSupportsGlobalSigning. Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-10-26 | Add command line option to continue despite certain errors (e.g. baseband ↵ | Nikias Bassen | 3 | -0/+14 | |
update failure) | |||||
2021-10-25 | ipsw: Migrate to ipsw.me v4 API | Nikias Bassen | 1 | -6/+13 | |
2021-10-11 | tss: Fix incorrect comments for veridian and tcon tickets | Nikias Bassen | 1 | -2/+2 | |
2021-10-01 | restore: Fix CheckpointMsg parsing for older firmware versions | Nikias Bassen | 1 | -5/+3 | |
Older firmware versions don't seem to always include CHECKPOINT_COMPLETE so we assume that state is false instead of aborting with an error. | |||||
2021-09-27 | Remove files obsoleted by libimobiledevice-glue | Nikias Bassen | 4 | -704/+0 | |
2021-09-27 | fdr: Fix socket receive timeout handling logic | Hector Martin | 1 | -6/+8 | |
This fixes flaky restores / activation not proceeding if you're more than 100ms away from Apple's servers. Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-09-27 | restore: Add support for updating AppleTCON | Hector Martin | 3 | -0/+186 | |
Closes: #442 Co-authored-by: Nikias Bassen <nikias@gmx.li> Signed-off-by: Hector Martin <marcan@marcan.st> | |||||
2021-09-24 | img4: Add MtpFirmware component tag | Nikias Bassen | 1 | -0/+1 | |
2021-09-24 | Prevent unnecessary delay on inital device detection | Nikias Bassen | 1 | -5/+7 | |
2021-09-01 | Add new --ipsw-info command line switch to show information about build ↵ | Nikias Bassen | 3 | -2/+244 | |
identities etc. | |||||
2021-09-01 | Remove common code in favor of libimobiledevice-glue | Nikias Bassen | 6 | -9/+7 | |