summaryrefslogtreecommitdiffstats
path: root/src/restore.c
AgeCommit message (Collapse)AuthorFilesLines
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
2019-09-25restore: Add ICE19 baseband firmware files to support newer devicesGravatar Nikias Bassen1-1/+4
2019-09-25restore: Suppress SE,ChipID warning for new iPhone 11 Pro when handling SE ↵Gravatar Nikias Bassen1-1/+1
firmware
2019-09-25restore: Use new way to handle FUD firmware images (if supported)Gravatar Nikias Bassen1-37/+89
2019-02-14restore: Silence two ERROR messages that are not really errorsGravatar Nikias Bassen1-2/+2
2019-02-14Use uint64_t instead of off_t for win32/MinGW compatibilityGravatar Nikias Bassen1-1/+1
2019-02-14Allow .ipsw files or extracted IPSW as sourceGravatar Nikias Bassen1-2/+4
2019-01-25restore: Move Yonkers component selection code to tss_request_add_yonkers_tags()Gravatar Nikias Bassen1-78/+25
2019-01-24restore: Fix Savage firmware handling for iPhone XR/XS/XS maxGravatar Nikias Bassen1-30/+30
2019-01-23thread: Silence two compiler warningsGravatar Nikias Bassen1-1/+1
2019-01-23Replace tempnam() with mkstemp() and provide reference implementation for ↵Gravatar Nikias Bassen1-5/+8
systems lacking it
2019-01-16restore: Add TZ0RequiredCapacity to restore options to fix iPhone8/8+ boot ↵Gravatar Luis Duran1-0/+14
loop issue
2019-01-16restore/tss: Add support for Yonkers firmware data and TSS requestGravatar Rudolf Tammekivi1-1/+146
2019-01-16restore: Add fallback SE,* component selection for unknown SE,ChipIDsGravatar Nikias Bassen1-2/+10
2019-01-16restore: Add support for newer SEP firmware (Chip ID 0x64)Gravatar Nikias Bassen1-1/+1
2019-01-16restore: Avoid using get_component_name() when getting manifest from build ↵Gravatar Nikias Bassen1-18/+30
identity
2018-05-19restore: Send ReceivedFinalStatusMsg when restore succeeds as restored is ↵Gravatar Nikias Bassen1-0/+4
expecting it This prevents a delay of about 10 seconds at the final stage of the restore process.
2018-04-27Decide what to do when updating SE firmware based on chip IDGravatar BALATON Zoltan1-3/+7
This should be more accurate than guessing based on what is in the build identity and avoid doing unexpected things for unknown hardware.
2018-04-27restore: Remove unused variablesGravatar BALATON Zoltan1-2/+0
2017-12-10restore: Only print info about other detected devices in debug modeGravatar Nikias Bassen1-1/+1
2017-11-13Remove a comma from array initialiser which some compilers don't likeGravatar BALATON Zoltan1-1/+1
2017-11-13Change check_hardware_model() to get_irecv_device()Gravatar BALATON Zoltan1-5/+2
The check_hardware_model() function has a misleading name. It returns a string with the hardware model but this is not used. Instead, this function is only called for its side effect to initialise an irecv device in the passed client struct which it creates from the hardware model name returned by mode specific implementations. But these mode specific implementations already create an irecv device to get the hardware model name so instead of going through this unnecessary complication just return the irecv device directly and rename the function accordingly to make this clear. (This may also prevent leaking an irecv device in the mode specific functions.)
2017-11-14Fix Savage firmware updating for FaceID (iPhone X)Gravatar Nikias Bassen1-0/+13
While the restore was succeeding, FaceID wasn't available on the device. It turned out that the Savage Firmware data sent to the device requires a simple header that we didn't send along.
2017-11-06Add support for Savage firmware updating (found in iPhone X)Gravatar Nikias Bassen1-7/+101
2017-11-05restore: Prevent crash in fdr_disconnect() when exiting unexpectedlyGravatar Nikias Bassen1-4/+4
2017-09-29restore: Fix restore of iPhone 8/8+ SE firmwareGravatar Nikias Bassen1-1/+10
2017-09-28Invert return value of build_identity_has_component()Gravatar Nikias Bassen1-2/+2
2017-06-08restore: Add previously missing DeviceTree data request handlingGravatar Nikias Bassen1-0/+7
2017-06-08restore: Move restore_send_kernelcache() to a generic restore_send_component()Gravatar Nikias Bassen1-13/+15
2017-04-07restore: Fix a use-after-freeGravatar Nikias Bassen1-2/+3
Also fixing the string length of the affected strncmp. Credit to Mällon Lobjakas
2017-02-21restore: Add support for 10.3+ firmware images (ipsw)Gravatar Nikias Bassen1-14/+73
Starting with iOS 10.3 the ipsw files don't contain any 'manifest' file anymore which we used to determine the files required for the reply to the 'NorData' request. Since this info is also included in the BuildManifest we us that instead, unless a 'manifest' file is present.