summaryrefslogtreecommitdiffstats
path: root/src/libirecovery.c
AgeCommit message (Collapse)AuthorFilesLines
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 Szulecki1-3/+3
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
2014-10-02Don't call libusb_exit() in irecv_open_with_ecid() on errorGravatar Martin Szulecki1-2/+0
The helper might be used multiple times and the library should not cause deinitialization of libusb before the user calls irecv_exit().
2014-10-02Add libusb error to debug message when connecting to a device failedGravatar Martin Szulecki1-3/+4
2014-10-02Lower error message severity if a nonce is not found to a warningGravatar Martin Szulecki1-1/+1
2014-10-02Add support for iPad4,6 (iPad mini 2G new model)Gravatar Martin Szulecki1-0/+1
2013-12-03libirecovery: Fix wrong chip_id for iPod Touch 2G in device mapGravatar Martin Szulecki1-1/+1
2013-12-02libirecovery: Set USB interfaces correctly on device connection for non-WIN32Gravatar Martin Szulecki1-1/+3
Now the USB interface is set the same way the WIN32 code does it. This prevents older devices from getting "stuck" or "slow" after uploading the iBEC to a device.
2013-11-29win32: fix iBoot string parsing for DFU and recovery modeGravatar Nikias Bassen1-1/+7
2013-11-29irecv_open_with_ecid: don't parse ecid twiceGravatar Nikias Bassen1-10/+1
2013-11-20Fix memory leaks in irecv_open_with_ecid()Gravatar Martin Szulecki1-0/+6
2013-11-19remove check for bdid == 0 since it CAN be 0Gravatar Nikias Bassen1-4/+0
2013-11-19fix irecv_devices_get_device_by_client()Gravatar Nikias Bassen1-3/+1
2013-11-19remove irecv_get_* functions and provide general irecv_get_device_info()Gravatar Nikias Bassen1-252/+233
2013-11-18change irecv_get_nonce to a more general irecv_get_nonce_with_tagGravatar Nikias Bassen1-7/+41