summaryrefslogtreecommitdiffstats
path: root/src/libirecovery.c
AgeCommit message (Collapse)AuthorFilesLines
2024-03-22Change irecv_send_buffer to accept an options bitfield instead of just one valueGravatar Nikias Bassen1-13/+20
This allows to specify different options. To not break existing behavior, a value of 1 or (1 << 0) means IRECV_SEND_OPT_DFU_NOTIFY_FINISH which is used extensively in e.g. idevicerestore. Other options are IRECV_SEND_OPT_DFU_FORCE_ZLP which I don't remember what it was added for, and a new option IRECV_SEND_OPT_DFU_SMALL_PKT which needed for upload in port DFU mode, as it won't accept packets with more than 64 bytes data and also doesn't like a CRC attached to it.
2024-03-21Add support for Port DFUGravatar Nikias Bassen1-11/+25
Note: This does not allow restoring devices in Port DFU mode, this is handled in idevicerestore.
2024-03-11win32: Skip ecid check for KIS mode device in win32_open_with_ecidGravatar Nikias Bassen1-1/+1
2024-03-09Remove broken ecid check for KIS mode in iokit_open_with_ecidGravatar Nikias Bassen1-7/+0
2024-03-07Add March 2024 MacBook Air modelsGravatar Nikias Bassen1-0/+2
2024-03-07Add irecv_version() function to interfaceGravatar Nikias Bassen1-0/+9
2024-02-14Add support for Apple Vision Pro (RealityDevice14,1)Gravatar Nikias Bassen1-0/+2
2024-01-29Fix IRECV_API definitionsGravatar Nikias Bassen1-0/+12
2024-01-12win32: Implement support for Debug USB (KIS) modeGravatar Nikias Bassen1-61/+151
This requires and up-to-date AppleMobileDeviceSupport64.msi package installed that contains the AppleKIS driver.
2024-01-09irecv_open_with_ecid: Print correct ECID for KIS devicesGravatar Nikias Bassen1-1/+1
2024-01-09Fix strncpy sizeGravatar Nikias Bassen1-1/+1
2024-01-04Initialize KIS device in device callbackGravatar Nikias Bassen1-11/+47
Also, print the detailed mode in irecovery -q and -m output.
2024-01-04win32: Make sure to free device list at the right placeGravatar Nikias Bassen1-5/+4
2023-12-30Make it compile again when building --with-dummyGravatar Nikias Bassen1-7/+3
2023-12-21win32: Improve irecv_event_handler to make sure events get delivered properlyGravatar Sami Kortelainen1-7/+43
2023-12-21win32: Simplify code, and make sure to only use devices in correct modeGravatar Nikias Bassen1-164/+45
Devices in DFU mode should only be selected for the DFU driver interface, and respectively, iBoot mode devices should only be selected for the iBoot driver interface.
2023-12-08win32: Only try to set alt interface for interface 1Gravatar Nikias Bassen1-2/+4
This is the same as we do for the other platforms, so I assume this is OK
2023-11-18win32: Rename and reorder internal functionsGravatar Nikias Bassen1-61/+57
2023-11-18IOKit: Silence some compiler warnings about unused variablesGravatar Nikias Bassen1-4/+18
2023-11-18Mark irecv_kis_send_buffer static and silence a compiler warningGravatar Nikias Bassen1-2/+2
2023-11-17Reduce code duplicationGravatar Nikias Bassen1-112/+57
2023-11-14Add KIS support to libusb backendGravatar tihmstar1-77/+124
2023-11-14Add KIS support (IOKit backend)Gravatar Linus Henze1-58/+500
This commit adds support for communicating with devices in KIS DFU (A16+ in DFU). KIS DFU devices are treated like normal DFU devices, therefore clients of libirecovery will be able to communicate with these devices without any changes. Currently, only the IOKit backend supports KIS DFU.
2023-11-03Add November 2023 iMac and MacBook Pro modelsGravatar Daniel VanBritsom1-0/+9
iMac (24-inch, 2023) MacBook Pro (14-inch, Nov 2023) MacBook Pro (16-inch, Nov 2023)
2023-09-20Add Apple Watch Series 9 and Ultra 2 (device lookup)Gravatar Daniel VanBritsom1-0/+5
2023-09-20Add support for iPhone 15 modelsGravatar Daniel VanBritsom1-0/+4
2023-09-20 Add support for WWDC23 MacsGravatar Eva Luna1-0/+4
- Mac14,8, or Mac Pro (2023) - Mac14,13, or Mac Studio (M2 Max, 2023) - Mac14,14, or Mac Studio (M2 Ultra, 2023) - Mac14,15, or MacBook Air (M2, 15-inch, 2023)
2023-05-13Coding style changesGravatar Nikias Bassen1-93/+136
2023-05-08win32: Use ANSI versions for SetupDI and CreateFile API to prevent errors ↵Gravatar Josef Micka1-19/+19
when compiling with unicode support
2023-05-08Send a ZLP in recovery mode if the buffer size is a multiple of 512Gravatar Nikias Bassen1-0/+6
2023-05-07Make sure DEVICE_ADD events are sent to additional event listenersGravatar Nikias Bassen1-1/+15
Thanks to @parov0z for the suggestion.
2023-05-05move IRECV_API into the headersGravatar Rosen Penev1-49/+39
clang + lld + ucrt on Windows seems to require that the dllimport attribute be applied to the first declaration. Fixes -Wdll-attribute-on-declaration error. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-05-01Return error instead of truncating command buffer if command is too longGravatar Nikias Bassen1-2/+2
2023-05-01Fix a few buffer sizes and their initializationGravatar Nikias Bassen1-6/+7
2023-04-12Add January 2023 Macs and 2nd generation HomePod modelsGravatar Daniel VanBritsom1-2/+9
2022-10-20Add mew iPad models and Apple TV 4K to device listGravatar Nikias Bassen1-0/+7
2022-10-20Fix typo in device listGravatar Nikias Bassen1-7/+7
2022-09-16Add Apple Watch SE 2, Series 8 and Ultra familyGravatar Nikias Bassen1-0/+9
2022-09-16Add iPhone 14 familyGravatar Nikias Bassen1-0/+4
2022-08-30Add M2 MacBook modelsGravatar Nikias Bassen1-1/+3
2022-06-28Introduce non-persistent setenvnp commandGravatar Rick Mark1-0/+24
2022-05-30Add device ID for macOS 12 Apple Silicon VMsGravatar Zhuowei Zhang1-0/+2
Adds the device ID for macOS 12's Apple Silicon VMs, as created in macOS 12 Virtualization.framework (https://developer.apple.com/documentation/virtualization/vzmachardwaremodel?language=objc) Currently, macOS 12 beta 2 has device trees and support in Virtualization.framework for two different virtual machine types, VirtualMac1,1 and VirtualMac2,1. The first seems to be unused: only the VirtualMac2,1 variant is being signed. See http://swcdn.apple.com/content/downloads/38/12/071-51840-A_R2JDKNM0LX/wqollynqs6j5006166tvw4rliu9htf7swu/BuildManifest.plist for the board IDs.
2022-03-20Add Studio Display (device lookup)Gravatar Daniel VanBritsom1-0/+2
2022-03-20Use MACH_PORT_NULL to deal with kIOMasterPortDefault/kIOMainPortDefault renameGravatar Nikias Bassen1-2/+2
In the end that's what the constant stands for anyway.
2022-03-16Add new devices, update iPhone SE (1st/2nd) namesGravatar Daniel VanBritsom1-3/+8
New devices: * iPad Air (5th gen) * iPhone SE (3rd gen) * Mac Studio Adjust names for older iPhone SE models.
2022-01-06Check availability of constructor attribute and use it on Windows in favor ↵Gravatar Nikias Bassen1-10/+18
of DllMain
2021-12-09Make sure compilation doesn't fail if configured using --with-dummyGravatar Nikias Bassen1-0/+4
2021-10-24win32: SPDRP_DRIVER property has a 4-character suffix that is not ↵Gravatar 怯花颜1-1/+8
necessarily an integer
2021-10-23win32: SPDRP_DRIVER device property has a hexadecimal suffix, not decimalGravatar Nikias Bassen1-1/+1
2021-10-22Support the MacBook Pro (2021) modelsGravatar Daniel VanBritsom1-1/+5
for device lookup and tsschecker support.