summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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 Bassen3-7/+269
2017-11-05restore: Prevent crash in fdr_disconnect() when exiting unexpectedlyGravatar Nikias Bassen1-4/+4
2017-11-05thread: Add 'thread_alive' helperGravatar Nikias Bassen2-0/+12
2017-10-17Move extraction of filesystem before requesting SHSH blobsGravatar Nikias Bassen1-90/+93
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 Bassen2-5/+5
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 Bassen2-14/+16
2017-06-08ipsw: Suppress (misleading) error message when a requested file is not found ↵Gravatar Nikias Bassen1-1/+1
in archive
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-03-05Add '-k' as short option for '--keep-pers' as advertised in usage infoGravatar Nikias Bassen1-1/+1
2017-02-24common: Add strsep() implementation for platforms lacking itGravatar Nikias Bassen2-0/+25
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.
2017-02-07Remove some unneded variables and conditionals and plug some potential ↵Gravatar BALATON Zoltan5-121/+79
memory leaks
2017-02-07Added missing includes to fix build errorGravatar BALATON Zoltan2-0/+2
2017-02-07Do not save personalized components with debug, add a new option for itGravatar BALATON Zoltan1-3/+11
2017-02-07Use udid as temp file name prefix to make it more unique and avoid race ↵Gravatar BALATON Zoltan1-1/+1
conditions when tempnam generated name is not random enough.
2016-09-30restore: Add support for FirmwareUpdaterData request used for Secure Element ↵Gravatar Nikias Bassen1-0/+167
firmware
2016-09-30tss: Add helper function to create Secure Element TSS requestGravatar Nikias Bassen2-0/+107
2016-09-23restore: Make sure newer Mav16 baseband firmware image files are recognizedGravatar Nikias Bassen1-1/+2
The iPhone 7/7+ models with Mav16 baseband failed to restore as the baseband firmware files are now called RestoreSBL1-HastTableDigest and SBL1-HashTableDigest. The code only stripped off the '-Blob' part from the baseband tss response so it couldn't match the firmware filenames properly. This commit fixes the issue by only keeping the first part of the string (everything before the first occurance of '-').
2016-09-22Add support for ICE16 baseband firmware files (iPhone 7/7+)Gravatar Nikias Bassen3-1/+41
While not tested, the new Mav16 baseband firmware files should also work with this update.
2016-09-22Add support for new Liquid component found in iPhone 7/7+ firmwaresGravatar Nikias Bassen1-0/+2
2016-07-08recovery: Use 'setpicture 4' as this is what iTunes does tooGravatar Nikias Bassen1-1/+1
2016-07-08restore: Fix error message to show the actual baseband component nameGravatar Nikias Bassen1-2/+2
2016-07-08mbn: Updated file parsing to newer file version to suppresss warningGravatar Nikias Bassen2-6/+46
Note: the parsed data is not actually used. The personalization just involves replacing the last N bytes of the file with the blob data (of size N) returned by the signing server. However this at least suppresses a warning message and helps identifying newer format versions.
2016-06-26restore: Explicitly stop FDR thread to suppress error messages at the end of ↵Gravatar Nikias Bassen1-0/+8
the restore
2016-06-26fdr: Add fdr_disconnect() function to stop the FDR threadGravatar Nikias Bassen2-5/+17
2016-06-26restore: Fix restore mode status/progress messagesGravatar Nikias Bassen3-65/+137
2016-06-26restore: Add support for FUD data request, required for iOS 10Gravatar Nikias Bassen1-0/+89
2016-06-26ipsw: Add ipsw_extract_to_file_with_progress() and remove progress bar from ↵Gravatar Nikias Bassen3-4/+13
ipsw_extract_to_file()
2016-06-26normal: Removed unused variableGravatar Nikias Bassen1-1/+0
2016-06-26img4: Print message about personalizing componentGravatar Nikias Bassen1-0/+3
2016-06-26tss: Add 'OS' entry to TSS request, required for iOS 10Gravatar Nikias Bassen1-1/+1
2016-06-26dfu: Remove unnecessary device resets and ZLP packetsGravatar Nikias Bassen1-28/+0
These caused DFU restores on OSX to fail. ZLP packets are handled in libirecovery.
2016-05-26dfu: Fix apticket appending condition and padding size calculationGravatar Nikias Bassen1-6/+7
2016-05-26Prevent possible crash if device mode can't be detectedGravatar Nikias Bassen1-8/+47
2015-10-09restore: Always enable reverse proxy, some newer devices (iPad Air) require ↵Gravatar Nikias Bassen1-16/+9
it for iOS 9+
2015-10-09Select build identity based on hardware model instead of first or last ↵Gravatar Nikias Bassen2-9/+63
identity in manifest While this might have worked in the past it didn't work anymore with the iPhone 6S (plus) since it comes with two different CPUs (Samsung & TSMC A9). Therefore the BuildManifest.plist has multiple build identities and for a successful restore the correct build identity has to be selected for the actual hardware model of the corresponding device.
2015-10-09Use hardware model instead of product type to identify device correctlyGravatar Nikias Bassen8-69/+29
2015-10-09restore: Fix segfault when .bbfw file contains files without extensionGravatar Nikias Bassen1-1/+1
2015-10-06Show project URL in usage outputGravatar Martin Szulecki1-1/+6
2015-09-24restore: Print error message on status 53 (failed to recover FDR data)Gravatar Nikias Bassen1-0/+3
2015-09-24normal: Make sure to select correct device by ecid OR udidGravatar Nikias Bassen1-19/+29
2015-09-24normal: Use correct error code values for lockdownd_error_tGravatar Nikias Bassen1-5/+5
2015-09-24Add missing endianness.hGravatar Nikias Bassen1-0/+105
2015-09-24fdr: Add support for protocol version 1Gravatar Nikias Bassen1-31/+115
2015-09-24restore: Also print device UDID in log message when entering restore modeGravatar Nikias Bassen1-2/+2
2015-09-24restore: Fix inverted comparison checking for ApImg4Ticket in TSS responseGravatar Nikias Bassen1-1/+1
2015-09-24Revise several changes from commit 245bc9b6510a8900c69c2fd543434bae1bc6ca6aGravatar Nikias Bassen2-11/+10
In very rare cases the changes introduced by commit can actually cause an invalid free. Reverted those changes. Also, plist_free() will check for NULL before doing anything, so an extra check for that is not needed.