summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-07-30idevice: Reset receive length variable in internal_ssl_read retry loop and ↵Gravatar Nikias Bassen1-1/+2
fix wrong variable in debug message
2021-07-29lockdown: Replace udid and mux_id members from client struct with idevice_t ↵Gravatar Nikias Bassen2-26/+19
reference
2021-07-29lockdown: Get DeviceClass to make sure OS version dependent code is executed ↵Gravatar Nikias Bassen3-1/+34
correctly The code in lockdownd_client_new_with_handshake would call the function lockdownd_validate_pair based on the OS version being less than 7.0 without taking into account that Watch OS has a different versioning scheme compared to the other device classes. For this and any future version/device specific checks, the code now queries the DeviceClass and stores it in the idevice_private struct.
2021-07-29Handle error cases in relevant code when retrieving pair record failsGravatar Nikias Bassen2-11/+43
2021-07-27afc: Suppress compiler warning when compiling without --enable-debugGravatar Nikias Bassen1-2/+1
2021-07-27Add support for MbedTLSGravatar Nikias Bassen3-37/+188
2021-07-26idevice: Remove unnecessary memcpy from internal_ssl_read()Gravatar Nikias Bassen1-29/+15
2021-07-26idevice: Route OpenSSL reads/writes through internal_connection_*Gravatar Kabir Oberai2-42/+66
Let's not allow OpenSSL to directly access our file descriptors
2021-07-25idevice: Make sure to handle timeout condition for network connections tooGravatar Nikias Bassen1-9/+11
2021-06-22installation_proxy: Ignore non-status messages instead of terminating loopGravatar Simon Søndergaard1-6/+3
Some iOS versions will interleave a CFBundleIdentifier message into the Status messages, and the code would treat the CFBundleIdentifier message as an error. Terminating the loop, never seeing the last message - and even worse - never calling back to ideviceinstaller that would be stuck waiting for a callback with a message where Status == Complete.
2021-06-02mobilesync: Set DeviceLink version to 400 to support iOS 14b4+Gravatar Nikias Bassen1-1/+1
Thanks to @darshilgada24 for pointing this out.
2021-02-01debugserver: Return success when a receive timed out but actualy bytes have ↵Gravatar Nikias Bassen1-1/+1
been read
2021-02-01idevice: Allow partial reads in idevice_connection_receive_timeout() and ↵Gravatar Nikias Bassen1-6/+9
handle timeouts more adequate idevice_connection_receive_timeout(), when in SSL mode, was assuming it should always try to read the exact amount of data specified in `len` parameter. While this works with most protocols that have length fields or fixed sized headers/packets, some others (e.g. debugserver) break because it will request a read but doesn't know the size that is expected to be returned beforehand. This commit will handle timeouts better and return the number of bytes that were read in such cases (instead of returning 0 bytes read + error). Note that in the event of a timeout, IDEVICE_E_TIMEOUT will be returned even though actual data might have been read. The number of bytes read will be returned in recv_bytes.
2020-11-19idevice: Handle -EAGAIN in case usbmuxd_send() returns itGravatar Nikias Bassen1-1/+4
2020-09-10debugserver: Fix service startup for iOS 14b4+Gravatar Nikias Bassen2-3/+13
2020-08-10screenshotr: Set DeviceLink version to 400 to support iOS 14b4+Gravatar Nikias Bassen1-1/+1
2020-08-07mobilebackup2: Set DeviceLink version to 400 to support iOS 14b4+Gravatar Nikias Bassen1-1/+1
2020-08-06idevice: Fix build with LibreSSLGravatar Nikias Bassen1-1/+1
2020-06-14Add API version to library and pkgconfig file for proper linkingGravatar Nikias Bassen2-7/+7
2020-06-13Allow OpenSSL >= 1.1.0 to use older/disallowed TLS versionsGravatar Author: Frederik Carlier1-1/+5
2020-06-10lockdown: Remove unused includesGravatar Nikias Bassen1-9/+0
2020-06-08configure: Update libplist and libusbmuxd version dependenciesGravatar Nikias Bassen1-2/+2
2020-06-08Remove whitespace errors from all filesGravatar Martin Szulecki3-3/+7
2020-06-08Unfold automake variables into multiple lines for maintainabilityGravatar Martin Szulecki1-29/+48
2020-06-08idevice: Add fix for potential SSL_write timeout error caseGravatar Nikias Bassen1-3/+3
2020-06-08Rename "compproxy" names to "companion_proxy" in all related codeGravatar Martin Szulecki2-92/+92
This now matches how other services are named as we try to use the lockdownd provided name or otherwise a more readable one even if it is longer.
2020-06-08Fix filename typo in comments of companion_proxy service implementationGravatar Martin Szulecki2-2/+2
2020-06-06idevice: Revert not copying scope id for IPv6 addresses from usbmuxd againGravatar Martin Szulecki1-2/+2
This should still catch the more common case when using usbmuxd on the same host. Not copying the scope id in that case actually removes vital routing information.
2020-06-06idevice: Slightly improve connectivity logic and fix IPv6 for network devicesGravatar Martin Szulecki1-6/+8
This change removes copying the scope id for IPv6 connections which caused problems if the usbmux connection data is used on different hosts or context.
2020-06-06idevice: Add some newlines for better code readabilityGravatar Martin Szulecki1-0/+7
2020-06-04idevice: Fix compiler warning about switch case fallthroughGravatar Martin Szulecki1-1/+1
2020-05-21idevice: [OpenSSL] Handle non-blocking SSL_writeGravatar Nikias Bassen1-0/+13
2020-05-19afc: Reduce packet segmentation and unnecessary malloc/freeGravatar Nikias Bassen2-97/+188
2020-05-18idevice_connection_send: Make sure send works with non-blocking socketsGravatar Nikias Bassen1-1/+17
2020-05-18Add support for com.apple.companion_proxyGravatar Nikias Bassen3-0/+416
2020-05-18Use direct socket connection for network devicesGravatar Nikias Bassen1-7/+76
Instead of relaying data via usbmuxd this change will have it connect directly to the device via network after retrieving its address from usbmuxd
2020-05-17idevice: [OpenSSL] Fix SSL_read with non-blocking socketsGravatar Nikias Bassen1-1/+10
2020-05-15idevice: [OpenSSL] Make sure SSL handshake works with non-blocking socketGravatar Nikias Bassen1-8/+18
2020-05-03diagnostics_relay: Don't use reserved words as function argumentsGravatar Nikias Bassen1-6/+6
2020-04-27syslog_relay: Add new function syslog_relay_start_capture_rawGravatar Nikias Bassen1-2/+37
to allow access to the unprocessed raw data
2020-04-13afc: Remove unused client struct members from afc.c tooGravatar Nikias Bassen1-2/+0
2020-04-13afc: Remove unused members from internal afc client structGravatar Nikias Bassen1-2/+0
2020-02-20debugserver: Fix argv encodingGravatar Shane Garrett1-2/+2
The encoding of the "A" command in idevicedebug had issues when encoding a character with a value > 0x7F such as some UTF-8 characters.
2020-02-20debugserver: Fix whitespace errorGravatar Nikias Bassen1-1/+1
2020-02-20debugserver: Proxy SERVICE_E_TIMEOUT into DEBUGSERVER_E_TIMEOUTGravatar Demyan Kimitsa1-0/+2
This allows proper handling the timeout case in debugserver_client_receive_with_timeout
2020-02-20introduces optional `idevice_connection_disable_ssl` with ability not to ↵Gravatar Demyan Kimitsa3-15/+30
send SSL shutdown message. As in debugserver this message will be considered as GDB server communication and break things
2020-02-17Increase timeout for service receive methodsGravatar Nikias Bassen2-2/+2
2020-01-05win32: Define minimum windows version and use static libgccGravatar Nikias Bassen1-1/+1
2020-01-05Define ETIMEDOUT if requiredGravatar Nikias Bassen1-0/+4
2020-01-05Make sure all source files include config.hGravatar Nikias Bassen14-1/+46