summaryrefslogtreecommitdiffstats
path: root/src/libirecovery.c
AgeCommit message (Collapse)AuthorFilesLines
2019-10-09Fix problem with irecovery shell disconnecting bluetooth or other usb ↵Gravatar Nikias Bassen1-3/+8
devices on macOS
2019-10-03Parse SRTG (build tag string) from usb serial number if availableGravatar Nikias Bassen1-4/+20
2019-10-03Expose entire usb serial number string in struct irecv_device_infoGravatar Nikias Bassen1-0/+7
2019-09-28Add support for iPad7,11 and iPad7,12Gravatar Nikias Bassen1-0/+2
2019-09-28Add display_name to device database and irecv_device structGravatar Nikias Bassen1-103/+107
2019-09-26Fix crash when calling CFRunLoopStop without the runloop being setGravatar Nikias Bassen1-1/+3
2019-09-20Add support for iPhone 11, iPhone 11 Pro, and iPhone 11 Pro Max modelsGravatar Nikias Bassen1-0/+3
2019-09-04Add device add/remove event subscription APIGravatar Nikias Bassen1-29/+735
2019-06-10Add support for iPod touch (7th gen), iPad mini (5th gen) & iPad Air (3rd gen)Gravatar s0uthwest1-0/+5
2019-01-28Use new libusb API to set debug level if libusb version is new enoughGravatar Nikias Bassen1-0/+4
2019-01-28libirecovery: Add missing break statements to switch casesGravatar Nikias Bassen1-0/+6
2019-01-28macOS: Make sure to select correct version of IOUSBDeviceInterface and ↵Gravatar Nikias Bassen1-2/+2
IOUSBInterfaceInterface
2019-01-27DFU hash is actually CRC32 checksum, so name it accordinglyGravatar Nikias Bassen1-10/+10
2019-01-16Add support for the iPad Pro 3rd generation modelsGravatar Nikias Bassen1-0/+8
2018-09-17Add configuration option to allow compiling without USB driverGravatar Nikias Bassen1-0/+143
Using --with-dummy, libirecovery can be compiled in a way that it will not require any USB driver at all. This is only useful if you just want to query libirecovery's device database by product type or hardware model, namely using: irecv_devices_get_device_by_product_type(); irecv_devices_get_device_by_hardware_model(); All other function are either no-op or return IRECV_E_UNSUPPORTED if the library is compiled this way.
2018-09-17Add support for iPhone XS, iPhone XS Max, iPhone XS Max (China), and iPhone XRGravatar Nikias Bassen1-0/+4
2018-09-11win32: REALLY Fix parsing of usb device path so it works again with older ↵Gravatar Nikias Bassen1-3/+13
drivers
2018-09-03win32: Fix parsing of usb device path since it changed with newer driversGravatar Nikias Bassen1-4/+6
2018-03-28Add support for iPad7,5 (iPad 6 WiFi) and iPad7,6 (iPad 6 Cellular) modelsGravatar Nikias Bassen1-0/+2
2018-03-19Add missing iPad 5 models iPad6,11 (j71tap) + iPad6,12 (j72tap)Gravatar Nikias Bassen1-0/+2
2018-01-03Remove some unnecessary null pointer checksGravatar Nikias Bassen1-30/+14
2017-12-31Fix iPod2,1 resolving from mismatched CPID (0x8920 --> 0x8720)Gravatar St3v3n-D1-1/+1
2017-11-04Add support for iPhone10,3 + iPhone10,6 (iPhone X)Gravatar Nikias Bassen1-0/+2
2017-10-26irecv_send_buffer: Fix DFU file upload failure due to oversized last packetGravatar Nikias Bassen1-1/+12
In DFU mode the last packet contains the checksum for the transferred data (and 12 additional bytes, total 16 bytes). If the last packet is larger than 2032 bytes we would send a packet that is larger than the packet size of 2048 bytes which would make the file upload fail. This is especially the case for the iOS 11.0.x iBSS for the iPhone 8. With this commit the size is checked and if it would be larger than the packet size, we split the data portion and the checksum into two separate packets. It might even be safe to always split the last packet into data and checksum, but until this is proven to work with all (especially older devices) we just split when we detect the oversized packet for now.
2017-09-26Add support for iPhone10,1 + iPhone10,4 (iPhone 8) and iPhone10,2 + ↵Gravatar Nikias Bassen1-0/+4
iPhone10,5 (iPhone 8 plus)
2017-09-19Add support for AppleTV6,2 (AppleTV 4K)Gravatar Nikias Bassen1-0/+1
2017-07-04irecv_send_buffer: Fix status check loop condition by incrementing retry countGravatar Nikias Bassen1-1/+1
This state is hardly reached but nevertheless it doesn't make sense to check a retry count that never increases :)
2017-07-03Updated copyright notices in source file headersGravatar Nikias Bassen1-0/+1
2017-06-09Add support for iPad Pro 10.5 inch: iPad7,3 (WiFi) + iPad7,4 (WiFi+Cellular)Gravatar Nikias Bassen1-0/+2
2017-06-09Add support for iPad Pro 12.9 inch 2nd generation: iPad7,1 (WiFi) + iPad7,2 ↵Gravatar Nikias Bassen1-0/+2
(WiFi+Cellular)
2017-03-27Add support for new iPad6,11 (WiFi) + iPad6,12 (WiFi+Cellular)Gravatar Nikias Bassen1-0/+2
2017-01-04Use fstat() instead of fseeko() and ftello()Gravatar Nikias Bassen1-5/+8
2016-09-22Add support for iPhone9,1 + iPhone9,3 (iPhone 7) and iPhone9,2 + iPhone9,4 ↵Gravatar Nikias Bassen1-0/+4
(iPhone 7 plus)
2016-06-26IOKit: Make sure to re-enumerate devices after device resetGravatar Nikias Bassen1-0/+5
2016-06-26Add DFU error handlingGravatar Nikias Bassen1-2/+17
2016-04-12Add support for iPad6,3 and iPad6,4 (iPad Pro 9.7 inch)Gravatar Nikias Bassen1-0/+2
2016-04-12Add support for iPhone8,4 (iPhone SE)Gravatar Nikias Bassen1-0/+2
2016-02-17Fix possible invalid free in irecv_open_with_ecid()Gravatar Nikias Bassen1-1/+1
irecv_open_with_ecid calls libusb_open() in a loop. When the operation fails libusb_close() is called with the returned handle - which ideally should be NULL upon calling libusb_open(). However since we're operating in a loop this is only the case for the first time libusb_open() is called and subsequent invocations only overwrite the handle upon success. Whenever the libusb_open() fails and it is not the first invocation, the libusb_close() that is called afterwards may cause an invalid free. To prevent this we set the handle to NULL before calling libusb_open().
2015-12-31Fix iokit_get_string_descriptor_ascii by returning the size of the stringGravatar Nikias Bassen1-1/+3
2015-11-13Add support for iPad6,7 and iPad6,8 (iPad Pro)Gravatar Nikias Bassen1-0/+2
2015-11-13Add support for AppleTV5,3 (AppleTV 4th gen)Gravatar Nikias Bassen1-0/+1
2015-10-09Added IOKit option for OS X that removes libusb dependency (enabled by default)Gravatar Aaron Burghardt1-1/+536
2015-10-09Only set interface alt setting for interface setting 1Gravatar Nikias Bassen1-2/+4
2015-10-09Added n71map and n66map models (iPhone 6S and iPhone 6S Plus with TSMC A9 ↵Gravatar Nikias Bassen1-0/+2
processor) Note that a query with irecv_devices_get_device_by_product_type() will now return the Samsung A9 processor model. It is strongly advised to use irecv_devices_get_device_by_hardware_model() instead to get an exact match.
2015-09-24Add support for iPad5,1 and iPad5,2 (iPad Mini 4)Gravatar Nikias Bassen1-0/+2
2015-09-24Add support for iPhone8,1 and iPhone8,2 (iPhone 6S and 6S Plus)Gravatar Nikias Bassen1-0/+2
2015-09-24Add support for the iPod7,1 (iPod Touch 6th generation)Gravatar Nikias Bassen1-0/+1
2015-09-24Replace () with (void) for proper function prototypesGravatar Martin Szulecki1-4/+4
2015-01-29Fix a few compiler warningsGravatar Martin Szulecki1-6/+5
2015-01-29Rename some variables to prevent collision with "interface" type on WIN32Gravatar Martin Szulecki1-9/+8