summaryrefslogtreecommitdiffstats
path: root/src/idevicerestore.c
AgeCommit message (Collapse)AuthorFilesLines
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
2019-10-07DFU: Properly detect iBSS and iBEC execution (via device reconnect)Gravatar Nikias Bassen1-7/+4
Also prevent sending the iBEC twice which happened due to the changes in device detection logic.
2019-10-07Recovery: Properly detect iBEC execution (via device reconnect)Gravatar Nikias Bassen1-4/+21
2019-10-04Select first discovered recovery/dfu device if no ECID is givenGravatar Nikias Bassen1-0/+3
2019-09-26Make sure ApSupportsImg4 is set for local manifest (stashbag) creationGravatar Nikias Bassen1-0/+1
2019-09-26Add more cancellation points to handle CTRL+CGravatar Nikias Bassen1-0/+28
2019-09-26Make sure CTRL+C is working at specific stages of the processGravatar Nikias Bassen1-4/+16
2019-09-25Use global event handlers for normale/restore and recovery/dfu mode devicesGravatar Nikias Bassen1-5/+105
2019-09-25Add new Vinyl tags to (preflight) TSS requestGravatar Nikias Bassen1-0/+28
2019-08-30Prompt user before trying to downgrade a device via Upgrade restore (i.e. ↵Gravatar Nikias Bassen1-0/+57
without erasing user data) Since it might result in a complete data loss, let's warn the user about it and ask for confirmation. This check is not performed when -y command line switch is used.
2019-08-29Add support to "preboard" a device on update restore to prevent 'Attempting ↵Gravatar Nikias Bassen1-0/+103
data recovery'
2019-06-18Add warning with confirmation prompt when performing an erase restore in ↵Gravatar Nikias Bassen1-1/+25
interactive mode
2019-03-22Make sure user input can be cancelled properlyGravatar Nikias Bassen1-0/+4
2019-02-14Fix usage output and reorder it by relevanceGravatar Nikias Bassen1-24/+32
2019-02-14Use uint64_t instead of off_t for win32/MinGW compatibilityGravatar Nikias Bassen1-2/+2
2019-02-14Ensure all required components from IPSW are present before trying to restoreGravatar Nikias Bassen1-0/+42
2019-02-14Allow .ipsw files or extracted IPSW as sourceGravatar Nikias Bassen1-30/+44
2019-02-02Remove unused function build_manifest_get_build_identity()Gravatar Nikias Bassen1-22/+0
2019-02-02Mention name of filesystem image when extracting itGravatar Nikias Bassen1-1/+1
2019-02-02Don't allow passing an empty UDID with --udidGravatar Nikias Bassen1-0/+5
2019-02-02Use ipsw.me API to allow selection and download of any signed firmware ↵Gravatar Nikias Bassen1-4/+102
version when using --latest
2019-01-28main: Do not download version data unless --latest command line switch is usedGravatar Nikias Bassen1-3/+5
... or we are dealing with a really old WTF device that doesn't ship the WTF firmware in its .ipsw
2019-01-23Replace tempnam() with mkstemp() and provide reference implementation for ↵Gravatar Nikias Bassen1-1/+1
systems lacking it
2019-01-21win32: Make sure to use binary flag for fopen everywhereGravatar Nikias Bassen1-1/+1
2019-01-16main: Allow passing ECID in hex or decimalGravatar Nikias Bassen1-4/+4
2019-01-16Add lowpowermode aka LowPowerWallet0 component to get_component_name()Gravatar Nikias Bassen1-0/+2
2017-12-12AppleTV: Only wait for older AppleTV models to enter recovery mode after restoreGravatar Nikias Bassen1-2/+2
2017-11-13Change check_hardware_model() to get_irecv_device()Gravatar BALATON Zoltan1-17/+9
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-10-17Move extraction of filesystem before requesting SHSH blobsGravatar Nikias Bassen1-90/+93
2017-09-28Invert return value of build_identity_has_component()Gravatar Nikias Bassen1-3/+3