summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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
2024-04-04Remove annoying linebreakGravatar Nikias Bassen1-2/+1
2024-04-03Fix restore mode component personalisationGravatar Visual Ehrmanntraut1-23/+31
2024-03-23Add support for Port DFU device restoreGravatar Nikias Bassen8-0/+509
2024-03-23tss: Update libauthinstall verison stringGravatar Nikias Bassen1-1/+1
2024-03-23Fix some variable types for more consistencyGravatar Nikias Bassen8-24/+24
2024-03-08Make sure to extract the build manifest before doing restore mode checksGravatar Nikias Bassen1-14/+15
Otherwise we could set tss_enabled to 0 but the extraction would re-enable it.
2023-11-27restore: Only print progress bar for images larger than 16 MBGravatar Nikias Bassen1-1/+1
2023-11-21Update libzip API usage to use non-deprecated functionsGravatar Nikias Bassen1-11/+12
2023-11-15Change path_get_basename arg to const tooGravatar Nikias Bassen2-2/+2
2023-11-15Change path_get_basename()'s return type to const char*Gravatar tihmstar3-6/+5
This makes it clear that the return value is immutable and moreover suggests that the return vale is not allocated and thus should be treated carefully.
2023-11-15restore: Fix UaFGravatar tihmstar1-2/+2
`fsname_base` points inside the dynamically allocated `path` which is freed before `fsname_base` is used, creating a use-after-free condition. This commits makes sure to free `path` only after it is no longer needed.
2023-11-15asr: Fix sending payload without checksumGravatar tihmstar1-4/+6
2023-11-09Fix update restore by making sure the premanifest is properly generatedGravatar Nikias Bassen3-14/+32
2023-11-09Print progress for large components (e.g. Cryptex)Gravatar Nikias Bassen5-13/+41
2023-11-07Print device Product and Build Version and IPSW Product and Build VersionGravatar Nikias Bassen2-18/+26
It wasn't entirely clear what "Product Version" and "Product Build" would be so prefixing it with "IPSW" makes it clear it's the version being restored.
2023-11-02Extract OS component when using older ipsw archivesGravatar Nikias Bassen7-11/+143
Older ipsw archives have the root filesystem stored in compressed format rather than just "stored". The "Verifying Filesystem" step would then fail as compressed files are not seekable in ZIP files. This commit introduces a detection for this and has the filesystem extracted should it be required. If not using a cache path, the temp file used for extraction will be deleted after the procedure is completed.