summaryrefslogtreecommitdiffstats
path: root/src/idevicerestore.c
AgeCommit message (Collapse)AuthorFilesLines
2022-10-04img4: Add support for stitching with additional TBM dataGravatar Nikias Bassen1-2/+2
2022-10-02Reduce memory usage for SourceBootObjectV4 imagesGravatar Nikias Bassen1-1/+1
2022-09-16tss: Don't add @BBTicket in tss_request_new()Gravatar Nikias Bassen1-1/+1
2022-06-28Make sure to exactly match the passed variant when using --variantGravatar Nikias Bassen1-7/+7
2022-06-27Add --variant command line switch to specify build identity to useGravatar Nikias Bassen1-4/+15
2022-06-27Ignore 'Research*' variant in build identity selectionGravatar Nikias Bassen1-2/+2
2022-06-27Don't print an error message when RestoreBehavior is missingGravatar Nikias Bassen1-13/+6
2022-06-20Remove more serial number checks, and get ECID early on in all modesGravatar Nikias Bassen1-52/+6
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-17Use more elegant way to match file name to component nameGravatar Nikias Bassen1-37/+33
2022-06-17Add support for iOS 16Gravatar Doron Zarhi1-5/+5
2022-04-25Increase recovery mode disconnect and re-connect timeout from 10 to 60 secondsGravatar Rodrigo Arias1-2/+2
2022-04-13Print version string upon executionGravatar Nikias Bassen1-0/+2
2022-04-12More code improvements using _plist_dict_copy_* helperGravatar Nikias Bassen1-45/+12
2022-04-12Use proper detection for macOS restore path (instead of version number ↵Gravatar Nikias Bassen1-7/+14
comparison)
2022-04-10Fix build identity selection for beta (developer) firmwareGravatar Nikias Bassen1-13/+10
2021-11-27Use macros for the different restore variant stringsGravatar Nikias Bassen1-3/+3
2021-11-26Cache build manifest in client structGravatar Nikias Bassen1-23/+17
2021-11-17idevicerestore: Identify build identity by Variant (Monterey)Gravatar Hector Martin1-82/+9
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/+9
update failure)
2021-09-24Prevent unnecessary delay on inital device detectionGravatar Nikias Bassen1-5/+7
2021-09-01Add new --ipsw-info command line switch to show information about build ↵Gravatar Nikias Bassen1-2/+18
identities etc.
2021-08-12img4: Check component entries in build identity for IMG4 tags (Img4PayloadType)Gravatar Nikias Bassen1-1/+1
2021-06-29Make device mode specific code more consistentGravatar Nikias Bassen1-52/+51
2021-06-29Remove unused functionsGravatar Nikias Bassen1-45/+34
2021-06-07tss: fix restore rules not applied for recoveryosGravatar Benjamin BOURGEAIS1-0/+3
2021-05-28Add SHA384 (and SHA512) implementation for use when compiling without OpenSSLGravatar Nikias Bassen1-0/+7
2021-05-27Use proper exit status values when returning from main()Gravatar Nikias Bassen1-10/+10
2021-05-26Remove libuuid dependencyGravatar Nikias Bassen1-9/+14
2021-05-08tss: Add new callsGravatar Benjamin BOURGEAIS1-0/+346
- Local policy (non persistent) - recoveryOS - recoveryOS Local policy (persistent) The local policy TSS request differs slightly between the one for the restore process and the recoveryOS. The one for the restore process is meant to be used only once, and the one for the recovery os is meant to be loaded from disk, and thus has a different request. See the Ap,LocalBoot parameter.
2021-05-08Explicit the component path in the IPSW archive when extracting themGravatar Benjamin BOURGEAIS1-1/+1
2021-05-08Add an embedded empty local policy fileGravatar Benjamin BOURGEAIS1-0/+7
This file will be needed later by the stage 1 boot process.
2020-07-09Fix 'Unable get path ...' error messages to say 'Unable to get path ...'Gravatar Nikias Bassen1-1/+1
2020-06-24Print note about usbmuxd when device fails to enter restore modeGravatar Nikias Bassen1-0/+1
2020-06-15Add hint that using custom firmware files only works with a bootrom exploit1.0.0Gravatar Martin Szulecki1-1/+1
2020-06-08Remove trailing whitespace errors from all filesGravatar Martin Szulecki1-3/+3
2020-06-04Add new "--version" option to output version information and update man pageGravatar Martin Szulecki1-1/+8
2020-06-04Unify usage output with other tools and add project URLsGravatar Martin Szulecki1-34/+38
2020-06-04Reformat indentation of option struct for readabilityGravatar Martin Szulecki1-19/+19
2020-05-21Ignore non-usbmux (i.e. wifi sync) devices in device event callbackGravatar Nikias Bassen1-0/+6
2020-04-21Support stopping at restore modeGravatar Rick Mark1-1/+11
2020-04-20Use uint64_t and appropriate standard PRI* format specifiers everywhereGravatar Nikias Bassen1-10/+10
2020-04-12Fix format compiler warningsGravatar Rosen Penev1-1/+1
This also allows the compiler to check these at compile time.
2020-02-18Offer plain progress reports.Gravatar Nikias Bassen1-1/+13
2020-02-18Allow restores that start in Restore mode. Allow specification of custom ↵Gravatar David Wang1-22/+57
APTickets.
2019-10-20Error out if sending APTicket fails (older devices)Gravatar Nikias Bassen1-1/+4
2019-10-20Ignore device add events after device entered restore modeGravatar Nikias Bassen1-0/+5
2019-10-11Don't try to print a NULL udid in device event debug message and use working ↵Gravatar Nikias Bassen1-5/+5
format specifier for win32
2019-10-11win32: Use signal on win32 but make sure user input can be cancelled with ctrl+cGravatar Nikias Bassen1-1/+5
also added ESC key as a fallback cancel method.
2019-10-11Use condition variable instead of active waiting for device event handlingGravatar Nikias Bassen1-6/+50
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-10-07Fix log messageGravatar Nikias Bassen1-1/+1