| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 29 hours | restore: Add support for restoring macOS 27 IPSWs via DFUHEADmaster | 1 | -6/+33 | ||
| Add support for new data types and message types required by the macOS 27 (build 26A5353q) restore protocol when restoring via DFU mode: - BootabilityBundleV2 (required): Updated bootability bundle handler to recognize both V1 and V2 IPSW directory prefixes. The V2 handler reuses the existing V1 cpio-over-connection wire protocol. - SourceBootObjectV5 (optional): Routes to the existing V4 handler which uses the same ImageName-based extract/personalize/stream flow. - DeviceRestoreInfoPreflight (optional): Handled as an empty-dict preflight acknowledgement, same as FirmwareUpdaterPreflight. - RestoreProtocol (optional, message type): Logged and acknowledged in the main message loop. Without BootabilityBundleV2 in SupportedDataTypes, the device's restored daemon fails the is_host_compatible check during DFU restore with: host/device compatibility check found that a message is missing or is not supported (required): BootabilityBundleV2 CHECKPOINT FAILURE: This host version is unsupported. Tested: Erase restore of macOS 27.0 (26A5353q) via DFU on Macmini9,1 (j274ap, M1) completes successfully. | |||||
| 2025-10-02 | Fix baseband processing with Mav25 (and possibly others too) | 1 | -4/+13 | ||
| 2025-09-29 | Fix Mav baseband stitching | 1 | -2/+4 | ||
| 2025-09-26 | Add support for Mav25 baseband firmware (iPhone 17 family) | 1 | -33/+40 | ||
| Co-authored-by: Nikias Bassen <nikias@gmx.li> | |||||
| 2025-09-26 | restore: Suppress progress bars for smaller PersonalizedBootObjectV3 images | 1 | -1/+3 | ||
| 2025-09-26 | restore: Handle new Centauri and Jasmine (Savage) updaters | 1 | -3/+20 | ||
| Also Vinyl shows up with some devices, so we handle this too. | |||||
| 2025-09-26 | restore: Dump TSS requests and responses in debug log level | 1 | -2/+3 | ||
| 2025-09-25 | restore: Silence messages around AEA first chunk / URLAsset handling | 1 | -5/+9 | ||
| Newer iOS version would cause an Error message despite being able to continue, so we just ignore it. | |||||
| 2025-09-12 | Add SE,ChipID for M4 | 1 | -1/+1 | ||
| 2025-07-15 | restore: Adapt log level of previous restore log and reverse proxy messages | 1 | -3/+3 | ||
| We do not want to write these to terminal by default. | |||||
| 2025-07-01 | Silence more compiler warnings | 1 | -1/+1 | ||
| 2025-07-01 | Update codebase to use (const) void* and size_t where applicable | 1 | -65/+57 | ||
| 2025-06-27 | restore: Fix curl_easy_setopt compiler warning | 1 | -1/+1 | ||
| 2025-06-23 | Refactor logging and add logfile support | 1 | -544/+558 | ||
| idevicerestore will now also create a logfile automatically, unless disabled with --logfile=NONE. | |||||
| 2024-10-15 | Fix iPhone 16 restore from normal mode and add support for RecoveryOS | 1 | -26/+365 | ||
| 2024-09-19 | Replace sprintf with snprintf | 1 | -12/+13 | ||
| 2024-09-19 | restore: Add SupportedAsyncDataTypes for both iOS and macOS | 1 | -7/+9 | ||
| 2024-09-18 | restore: Fix incorrect fallback case | 1 | -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-18 | restore: Only send FirmwareData when it has been requested | 1 | -21/+101 | ||
| 2024-09-18 | restore: Make sure to error out when async data request handler can't be started | 1 | -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-18 | restore: Make wait for URLAsset on first chunk optional | 1 | -5/+15 | ||
| 2024-07-01 | Fix heap buffer overflow in URLAsset handling | 1 | -1/+1 | ||
| 2024-06-26 | restore: Always try to use DeviceGeneratedRequest data for TSS requests if ↵ | 1 | -15/+45 | ||
| present | |||||
| 2024-06-24 | Add support for iOS 18 restore process | 1 | -107/+697 | ||
| 2024-06-22 | restore: Remove `device` from the parameters of the functions | 1 | -16/+26 | ||
| 2024-06-22 | restore: Remove `build_identity` from the parameters of the functions | 1 | -96/+173 | ||
| 2024-05-23 | Link against the new libtatsu and remove tss code | 1 | -1/+1 | ||
| 2024-05-14 | Require libplist 2.6.0 | 1 | -41/+32 | ||
| 2024-05-05 | Updated to use libplist 2.5.0 API | 1 | -44/+44 | ||
| 2023-11-27 | restore: Only print progress bar for images larger than 16 MB | 1 | -1/+1 | ||
| 2023-11-21 | Update libzip API usage to use non-deprecated functions | 1 | -11/+12 | ||
| 2023-11-15 | restore: Fix UaF | 1 | -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-09 | Print progress for large components (e.g. Cryptex) | 1 | -7/+34 | ||
| 2023-11-02 | Extract OS component when using older ipsw archives | 1 | -1/+16 | ||
| 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. | |||||
| 2023-10-06 | restore: Also print checkpoint warning messages | 1 | -0/+4 | ||
| 2023-10-06 | restore: Add Ace3 as known updater name to suppress error message | 1 | -0/+6 | ||
| 2023-10-06 | restore: Skip adding FirmwareData to FirmwareResponseData for Rose | 1 | -0/+6 | ||
| 2023-10-04 | restore: Improve checkpoint log output again, make sure to always check for ↵ | 1 | -5/+8 | ||
| errors Turns out even with a CHECKPOINT_RESULT of 0 we can still have a CHECKPOINT_ERROR string. | |||||
| 2023-10-04 | restore: Refine checkpoint log output | 1 | -6/+15 | ||
| 2023-10-04 | restore/tss: Prefer DeviceGeneratedRequest for Rose TSS request, and add ↵ | 1 | -4/+10 | ||
| missing tag | |||||
| 2023-10-02 | restore: Add new SE,ChipID 0x36 to list of known values | 1 | -1/+1 | ||
| 2023-10-02 | restore: Attributed status code 50 with SEP load failure | 1 | -0/+1 | ||
| 2023-10-02 | restore: Handle SepStage1 (SEPPatchImageData) in NORImageData | 1 | -0/+25 | ||
| 2023-09-14 | Refactor ipsw code to transparently stream images directly from ZIP or ↵ | 1 | -9/+26 | ||
| extracted ipsw This allows flashing directly from IPSW archive without having to extract it first, and ultimately removes the "Extracting filesystem from IPSW" part. Restoring from extracted IPSW is also supported, just pass the path to the directory that has all the files from a given IPSW. | |||||
| 2023-09-13 | restore: Remove plist debug print for non-existent UniqueBuildID | 1 | -1/+4 | ||
| and print it in a better format if it does exist | |||||
| 2023-07-25 | Add generic TSS request generator | 1 | -2/+67 | ||
| This uses the DeviceGeneratedRequest and DeviceGeneratedTags to generate the full TSS request. This allows to have a more future-proof approach to new firmware names they add. | |||||
| 2023-07-25 | Add SE,ChipID 0x2C | 1 | -1/+1 | ||
| 2023-05-23 | Use DeviceGeneratedRequest plist for SE TSS requests | 1 | -6/+17 | ||
| 2022-10-19 | restore: Fix compilation error due to wrong variable name | 1 | -2/+2 | ||
| 2022-10-19 | restore: Only print boot object v3/v4 plist in debug mode | 1 | -2/+8 | ||
