summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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-27[github-actions] Update build workflow for Windows build to use windows-latestGravatar Nikias Bassen1-3/+6
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 Bassen24-1459/+2014
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 Bassen3-5/+37
Use --without-limera1n at configure time to disable this feature.
2025-02-28[docker] Update docker image base to ubuntu 24.04Gravatar Cameron Cross1-1/+1
2025-02-28[docker] Add CI to build and archive docker imageGravatar Cameron Cross1-0/+13
2025-02-28Add docker scripts to simplify setting up idevicerestoreGravatar Cameron Cross5-0/+126
2024-12-03configure: Fix Linux build with LTOGravatar Nikias Bassen1-0/+1
2024-12-02Fix buildGravatar Nikias Bassen1-1/+0
2024-12-02[github-actions] Bump dawidd6/action-download-artifact from 3 to 6Gravatar Nikias Bassen1-19/+23
2024-11-03[github-actions] Update curl workflow to build 8.10.1 for UCRT64Gravatar Nikias Bassen1-9/+11
2024-10-22Updated READMEGravatar Nikias Bassen1-4/+7
2024-10-15Fix iPhone 16 restore from normal mode and add support for RecoveryOSGravatar Nikias Bassen10-104/+578
2024-10-11configure: Require newer libtatsu and libirecoveryGravatar Nikias Bassen1-2/+2
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-19Updated READMEGravatar Nikias Bassen1-45/+178
2024-06-17Require libtatsu-1.0.3Gravatar Nikias Bassen1-1/+1
2024-06-16Remove OpenSSL dependency in favor of libimobiledevice-glue's hash functionsGravatar Nikias Bassen11-844/+13
This also removes the sha1/sha384 code from this repository since we are using the ones from libimobiledevice-glue now.
2024-06-12Require libtatsu 1.0.2Gravatar Nikias Bassen1-1/+1
2024-06-12Add missing linebreak to log messageGravatar Nikias Bassen1-1/+1
2024-06-05Small change to align with updated libtatsuGravatar Nikias Bassen2-2/+2
2024-05-23[github-actions] Update build workflow to use new libtatsuGravatar Nikias Bassen1-0/+21