summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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
2015-01-29Use proper libusb.h header include pathGravatar Martin Szulecki1-1/+1
2015-01-29Update copyright noticeGravatar Martin Szulecki1-1/+1
2015-01-29Add large file supportGravatar Martin Szulecki2-5/+11
2014-10-21Add support for iPad 5,3 and iPad 5,4 (iPad Air 2)Gravatar Martin Szulecki1-0/+2
2014-10-21Add support for iPad4,7, iPad4,8 and iPad 4,9 (iPad Mini 3)Gravatar Martin Szulecki1-0/+3
2014-10-17Export missing irecv_usb_control_transfer() and irecv_usb_bulk_transfer()Gravatar Martin Szulecki1-2/+2
2014-10-13Add support for iPhone7,1 (iPhone 6 Plus) and iPhone 7,2 (iPhone 6)Gravatar Martin Szulecki1-0/+2
2014-10-03Avoid exporting non-public symbolsGravatar Martin Szulecki1-33/+47
2014-10-02Only output debug information in irecv_copy_nonce_with_tag() on errorGravatar Martin Szulecki1-2/+1