summaryrefslogtreecommitdiffstats
path: root/src/restore.c
AgeCommit message (Collapse)AuthorFilesLines
2022-06-17Add support for iOS 16Gravatar Doron Zarhi1-8/+122
2022-04-12More code improvements using _plist_dict_copy_* helperGravatar Nikias Bassen1-5/+1
2022-04-12Use proper detection for macOS restore path (instead of version number ↵Gravatar Nikias Bassen1-8/+4
comparison)
2022-04-10Fix build identity selection for beta (developer) firmwareGravatar Nikias Bassen1-2/+2
2022-04-10restore: Fixed a problem that nobody even knew existedGravatar Nikias Bassen1-6/+10
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-07tss/restore: Improve code readability with plist helpers and removal of ↵Gravatar Nikias Bassen1-33/+8
unneeded comments
2022-04-06Add support for Timer,* components and TSS found in iPad Air 5th gen firmwareGravatar Nikias Bassen1-0/+204
2022-03-07restore: Use ECID instead of serial number in restore_is_current_device() to ↵Gravatar Nikias Bassen1-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-27Use macros for the different restore variant stringsGravatar Nikias Bassen1-3/+3
2021-11-26Cache build manifest in client structGravatar Nikias Bassen1-8/+2
2021-11-24restore: Use new reverse proxy implementation from latest libimobiledeviceGravatar Nikias Bassen1-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-19Fix compilation on WindowsGravatar Nikias Bassen1-2/+2
2021-11-17restore: Add missing newlines to info messagesGravatar Hector Martin1-2/+2
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-17restore: Support sending BootabilityBundle (Monterey)Gravatar Hector Martin1-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-17idevicerestore: Identify build identity by Variant (Monterey)Gravatar Hector Martin1-3/+10
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-26Add command line option to continue despite certain errors (e.g. baseband ↵Gravatar Nikias Bassen1-0/+4
update failure)
2021-10-01restore: Fix CheckpointMsg parsing for older firmware versionsGravatar Nikias Bassen1-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-27restore: Add support for updating AppleTCONGravatar Hector Martin1-0/+80
Closes: #442 Co-authored-by: Nikias Bassen <nikias@gmx.li> Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-01Remove common code in favor of libimobiledevice-glueGravatar Nikias Bassen1-2/+2
2021-08-09restore: Set SupportedDataTypes and SupportedMessageTypes for ALL restore ↵Gravatar Nikias Bassen1-2/+3
variants/platforms
2021-06-29Make device mode specific code more consistentGravatar Nikias Bassen1-11/+21
2021-06-05restore: Error out if no matching build identity can be foundGravatar Nikias Bassen1-0/+4
2021-06-05restore: macOS Update LocalPolicy must use the normal build identityGravatar Benjamin BOURGEAIS1-1/+2
2021-05-26restore: Silence compiler warningsGravatar Nikias Bassen1-2/+2
2021-05-11restore: Handle new data types requested by the restore processGravatar Benjamin BOURGEAIS1-0/+514
2021-05-08restore: Update the restore start request to match Apple Configurator 2Gravatar Benjamin BOURGEAIS1-54/+174
2021-05-08restore: Send NOR images as a dict for newer versionsGravatar Benjamin BOURGEAIS1-7/+17
2021-03-17restore: Handle BasebandUpdaterOutputDataGravatar Nikias Bassen1-0/+74
This seems to be sent only when the baseband update failed.
2020-10-27restore: Add SE,ChipID 0xD2 for iPhone 12 SE firmwareGravatar Nikias Bassen1-1/+1
2020-10-27restore: Silence warning about EAN Data progressGravatar Nikias Bassen1-0/+1
2020-10-27restore: Add new baseband firmware file mapping for Mav20 basebands (iPhone 12)Gravatar Nikias Bassen1-0/+2
2020-10-12restore: Fix NORData request by sending new components (fixes wireless ↵Gravatar Nikias Bassen1-4/+19
charging on newer devices) The NorImageData response didn't include the WCHFirmwareUpdater for newer devices, resulting in wireless charging capability to be broken on iPhone XS, iPhone XR, and newer. Upon further inspection it turned out that the selection for the images to send was only based on `IsFirmwarePayload` property. However, there are additional components with other properties, as the WCHFirmwareUpdater one, that don't have the `IsFirmwarePayload` property but instead `IsSecondaryFirmwarePayload` and `IsLoadedByiBoot` which seem to be the rule for including these images.
2020-09-16restore: Add some more restore progress stepsGravatar Nikias Bassen1-0/+15
2020-07-09Fix 'Unable get path ...' error messages to say 'Unable to get path ...'Gravatar Nikias Bassen1-6/+6
2020-06-24restore: Improve NORData error messageGravatar Nikias Bassen1-1/+1
2020-06-23restore: Handle new PersonalizedData and EANData requestsGravatar Dany Lisiansky1-28/+52
2020-06-23restore: Add support for SystemImageRootHash and ↵Gravatar Nikias Bassen1-10/+27
SystemImageCanonicalMetadata data requests
2020-06-08Remove trailing whitespace errors from all filesGravatar Martin Szulecki1-5/+4
2020-04-20Use uint64_t and appropriate standard PRI* format specifiers everywhereGravatar Nikias Bassen1-2/+2
2020-04-18Use PATH_MAX for file sizesGravatar Rosen Penev1-3/+4
Fixes several -Wformat-truncation warnings. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-12fix newly introduced format errors under 64-bitGravatar Rosen Penev1-2/+1
uint64_t should be used. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-13restore: Fix several format string compiler warningsGravatar Nikias Bassen1-4/+5
2020-04-12Fix missing declaration warningsGravatar Rosen Penev1-10/+10
Allows better compilation by the compiler.
2020-04-12restore: Don't fail when Rap,RestoreRTKitOS entry is missing from build identityGravatar Nikias Bassen1-32/+36
2020-02-18Allow restores that start in Restore mode. Allow specification of custom ↵Gravatar David Wang1-22/+67
APTickets.
2019-10-11Use condition variable instead of active waiting for device event handlingGravatar Nikias Bassen1-1/+5
With some devices and USB hardware the reconnect of a device might actually be faster than the check interval of the active waiting loop. With mutexes and a condition variable we will not miss the moment of reconnect anymore, even if it is really quick (like 7ms, right DanyL?)
2019-09-26restore: Only use timeout error if it is actually definedGravatar Nikias Bassen1-0/+11
2019-09-25Use global event handlers for normale/restore and recovery/dfu mode devicesGravatar Nikias Bassen1-55/+38
2019-09-25restore: Update progress messages and handle FUD progressGravatar Nikias Bassen1-4/+43
2019-09-25restore: Add support for Rose and Veridian firmware imagesGravatar Nikias Bassen1-0/+244