summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2025-09-08img4: Fix wrong entry in matching array for component stitchingGravatar Nikias Bassen1-1/+1
2025-09-06Print message about USB port for macOS restores in case Port DFU failsGravatar Nikias Bassen1-0/+4
Depending on the model, a specific USB Port has to be used for a restore. When using a different one, Port DFU fails to switch to DFU mode. We use this fact to print a message with an official link that shows the correct USB port to use for the restore.
2025-09-05img4: Use lookup table to retrieve tag name in img4_stitch_component()Gravatar Nikias Bassen1-28/+37
Instead of maintaining another component -> tag mapping, we use the already existing function _img4_get_component_tag() to retrieve the corresponding tag name.
2025-09-05img4: Fix Ap,RestoreDCP2 -> rdc2 mappingGravatar Nikias Bassen1-1/+3
The component is called `Ap,RestoreDCP2` and not `RestoreDCP2`
2025-08-14img4: Add RestoreDCP2 -> rdc2 mappingGravatar Nikias Bassen1-0/+1
2025-07-15restore: Adapt log level of previous restore log and reverse proxy messagesGravatar Nikias Bassen1-3/+3
We do not want to write these to terminal by default.
2025-07-01Removed unused 'entries' member from struct idevicerestore_client_tGravatar Nikias Bassen1-11/+0
2025-07-01Silence more compiler warningsGravatar Nikias Bassen2-2/+2
2025-07-01Fix a couple of compiler warnings and remove unused variablesGravatar Nikias Bassen4-8/+3
2025-07-01Update codebase to use (const) void* and size_t where applicableGravatar Nikias Bassen26-168/+158
2025-06-27download: Use new CURLOPT_XFERINFOFUNCTION for libcurl >= 7.32Gravatar Nikias Bassen1-1/+9
2025-06-27restore: Fix curl_easy_setopt compiler warningGravatar Nikias Bassen1-1/+1
2025-06-27log: Make sure to only add compiler attribute for supported compilersGravatar Nikias Bassen1-0/+5
2025-06-27Improve type safety of new logging system and its handling of varargsGravatar Visual Ehrmanntraut3-11/+25
- Replaced loglevel arguments and globals using the `int` type with the `loglevel` enum. - Moved logging print func handler function declaration to typedef. - Fixed misuse of `print_func` where a char* was passed in place of `va_list` via a wrapper function `print_funcf`. - Fixed reuse of varargs in `logger` causing a segfault when `stderr_enabled` is true. - Fixed length in `snprintf` call inside `logger_hex_dump` truncating the printed text.
2025-06-23Refactor logging and add logfile supportGravatar Nikias Bassen23-1459/+2010
idevicerestore will now also create a logfile automatically, unless disabled with --logfile=NONE.
2025-03-27Fix iPhone 16e restore from normal modeGravatar Nikias Bassen1-12/+14
Because of the new Apple baseband the initial TSS request won't succeed when restoring from normal mode due to missing data for a @BBTicket. So now if the baseband information is missing, we don't try to add BBTicket data at all, which will make it work for iPhone 16e devices.
2025-03-20Allow building without support for limera1nGravatar Nikias Bassen2-5/+27
Use --without-limera1n at configure time to disable this feature.
2024-12-02Fix buildGravatar Nikias Bassen1-1/+0
2024-10-15Fix iPhone 16 restore from normal mode and add support for RecoveryOSGravatar Nikias Bassen10-104/+578
2024-09-28Be more precise about what is wrong when entering restore mode failsGravatar Nikias Bassen1-1/+5
2024-09-25Release DFU/Recovery client on disconnect and Increase timeout for port DFU ↵Gravatar Nikias Bassen1-1/+3
-> KIS
2024-09-25ace3: Fix Ace3Binary generation for newer devicesGravatar Nikias Bassen1-7/+41
2024-09-21Initial support for iPhone 16 restoreGravatar Nikias Bassen2-0/+18
2024-09-21asr: Fix memory corruption due to double freeGravatar Nikias Bassen1-2/+2
2024-09-21asr: Add support for second Initiate requestGravatar Florian Brandstetter1-16/+43
First observed in iBridgeOS 9.0. The first Initiate ASR packet (checksum_chunks = false) requests 64 bytes of the IPSW at offset 0, after which another Initiate follows requesting a switch to (checksum_chunks = true) and additional OOBData.
2024-09-19Also print libirecovery versionGravatar Nikias Bassen1-2/+2
2024-09-19Replace sprintf with snprintfGravatar Nikias Bassen4-28/+30
2024-09-19restore: Add SupportedAsyncDataTypes for both iOS and macOSGravatar Florian Brandstetter1-7/+9
2024-09-18Print libtatsu version alongside idevicerestore versionGravatar Nikias Bassen1-2/+2
2024-09-18Only print libimobiledevice debug info for debug level > 2Gravatar Nikias Bassen1-1/+3
2024-09-18common: Try to improve terminal output with fflush()Gravatar Nikias Bassen1-0/+3
2024-09-18restore: Fix incorrect fallback caseGravatar tihmstar1-2/+2
When the updated behavior is not triggered, the legacy behavior must be correctly executed. Thus, always correctly fall back to old behavior instead of aborting here. For example message can be NULL when restoring iOS 1.0 (in my fork).
2024-09-18restore: Only send FirmwareData when it has been requestedGravatar Nikias Bassen1-21/+101
2024-09-18restore: Make sure to error out when async data request handler can't be startedGravatar Nikias Bassen1-0/+3
When passing --ignore-errors, it would not fail when the async data request handler thread cannot be started, and might end up waiting forever for something to happen.
2024-09-18restore: Make wait for URLAsset on first chunk optionalGravatar Nikias Bassen1-5/+15
2024-07-09ipsw: Fix concurrent access to ZIP fileGravatar Nikias Bassen2-35/+137
With the new AsyncDataRequestMsg we have the problem that multiple threads would access the .ipsw, however we were only using one struct zip* handle for the entire procedure, resulting in read errors when concurrent access occurs. This commit fixes it by opening the zip file for every access separately.
2024-07-01Fix heap buffer overflow in URLAsset handlingGravatar Nikias Bassen1-1/+1
2024-06-29Remove debug printfGravatar Nikias Bassen1-1/+0
2024-06-26restore: Always try to use DeviceGeneratedRequest data for TSS requests if ↵Gravatar Nikias Bassen1-15/+45
present
2024-06-24Add support for iOS 18 restore processGravatar Nikias Bassen7-131/+750
2024-06-22restore: Remove `device` from the parameters of the functionsGravatar Nikias Bassen2-19/+29
2024-06-22restore: Remove `build_identity` from the parameters of the functionsGravatar Nikias Bassen2-100/+178
2024-06-16Remove OpenSSL dependency in favor of libimobiledevice-glue's hash functionsGravatar Nikias Bassen9-800/+12
This also removes the sha1/sha384 code from this repository since we are using the ones from libimobiledevice-glue now.
2024-06-12Add missing linebreak to log messageGravatar Nikias Bassen1-1/+1
2024-06-05Small change to align with updated libtatsuGravatar Nikias Bassen1-1/+1
2024-05-23Link against the new libtatsu and remove tss codeGravatar Nikias Bassen8-1876/+11
2024-05-18Add missing cast to silence compiler warningGravatar Nikias Bassen1-1/+1
2024-05-14Require libplist 2.6.0Gravatar Nikias Bassen5-71/+56
2024-05-05Updated to use libplist 2.5.0 APIGravatar Nikias Bassen8-431/+284
2024-04-04dfu: A little code optimizationGravatar Nikias Bassen1-15/+5