Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-12-12 | Fix iOS 1 SSL connection | tihmstar | 1 | -0/+14 | |
Detect if we're talking to iOS 1 `if (connection->device->version == 0)` and set `SSL_CTX_set_min_proto_version(ssl_ctx, 0);` to support SSL3. iOS 1 doesn't understand TLS1_VERSION, it can only speak SSL3_VERSION. However, modern OpenSSL is usually compiled without SSLv3 support. So if we set min_proto_version to SSL3_VERSION on an OpenSSL instance which doesn't support it, it will just ignore min_proto_version altogether and fall back to an even higher version. To avoid accidentally breaking iOS 2.0+, we set min version to 0 instead. | |||||
2023-07-05 | Updated OpenSSL-specific code to use OpenSSL 3.0+ API | Nikias Bassen | 1 | -2/+32 | |
2023-06-28 | idevice: Add missing include for Windows | Nikias Bassen | 1 | -0/+1 | |
2023-06-28 | idevice: Fix network address handling in other code paths too | Nikias Bassen | 1 | -4/+37 | |
2023-06-27 | idevice: Use network addresses as is from what we get from (lib)usbmuxd | Nikias Bassen | 1 | -19/+8 | |
2023-01-11 | idevice: Use more reliable version check macro for OpenSSL 3 specific things | Nikias Bassen | 1 | -1/+1 | |
OpenSSL versions pre 3.0 do not define OPENSSL_VERSION_MAJOR etc. | |||||
2023-01-11 | idevice: Fix connections to <= iOS 5 devices with OpenSSL 3 | Nikias Bassen | 1 | -1/+10 | |
Thanks @tihmstar for pointing this out. | |||||
2023-01-11 | idevice: Simplify TLS version selection code for older devices | Nikias Bassen | 1 | -6/+4 | |
Turns out that SSL_CTX_set_options does *not* clear options that have been set before. | |||||
2022-07-03 | idevice: Fix OpenSSL 3.0 internal error on read timeout | Ruipu Ma | 1 | -0/+12 | |
2022-05-10 | idevice: Restore original behavior for idevice_event_unsubscribe() | Nikias Bassen | 1 | -0/+1 | |
Due to an implementation detail from the past, a call to idevice_event_unsubscribe would not cause the callback function to be called with IDEVICE_DEVICE_REMOVE events, even though originally it was planned to be that way. Due to the internal changes for the newer idevice_events_subscribe/unsubscribe API, that behavior changed and it would call the callback. Now to not break current software implementations depending on the original behavior we modify the old API to behave the same as before the change. | |||||
2022-05-09 | Add new idevice_events_subscribe/unsubscribe API with context | Nikias Bassen | 1 | -10/+49 | |
The older API idevice_event_subscribe/unsubscribe can only be used by a single instance. With the addition of a context, is is now possible to register multiple callback functions in different threads. For backwards compatibility the old API will still be available for a while before being removed in a future release. | |||||
2022-05-02 | idevice: Fix sign issue in idevice_get_device_list_extended | Семён Марьясин | 1 | -1/+1 | |
In sync with idevice_from_mux_device, line 384. Without this fix, data size 128 (the common value) is treated as -128, resulting in incorrect allocation. Related to #1248 but doesn't fully fix it. | |||||
2022-04-30 | [clang-tidy] Do not use else after return | Rosen Penev | 1 | -37/+39 | |
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
2022-04-22 | idevice: Fix mistreatment of 0-byte sent cases | Li Beinan | 1 | -1/+4 | |
Currently if 0 byte gets sent, it is treated as not-enough-data. This is wrong, because with TCP, 0-byte-sent usually means the receiver end is closed. We must set a new case for this and must not normalize the sent-bytes to 0 in general. | |||||
2022-03-29 | idevice: Fix debug message showing function name twice | Nikias Bassen | 1 | -1/+1 | |
2022-03-29 | idevice: win32: Add winsock2.h include for struct sockaddr_storage | Nikias Bassen | 1 | -4/+5 | |
2022-03-29 | idevice: Make sure ECONNREFUSED is defined | Nikias Bassen | 1 | -0/+4 | |
2022-02-09 | Add support for wireless pairing | Nikias Bassen | 1 | -1/+4 | |
2021-10-12 | idevice: Add IDEVICE_E_CONNREFUSED and have idevice_connect() return ↵ | Nikias Bassen | 1 | -2/+17 | |
meaningful error codes This allows clients to properly detect that a connection to the requested port failed because it is not open on the device, instead of just returning an "unknown error" | |||||
2021-09-13 | Check availability of constructor attribute and use it on Windows in favor ↵ | Nikias Bassen | 1 | -10/+18 | |
of DllMain | |||||
2021-09-01 | Remove common code in favor of new libimobiledevice-glue | Nikias Bassen | 1 | -2/+3 | |
2021-07-30 | idevice: Reset receive length variable in internal_ssl_read retry loop and ↵ | Nikias Bassen | 1 | -1/+2 | |
fix wrong variable in debug message | |||||
2021-07-29 | lockdown: Get DeviceClass to make sure OS version dependent code is executed ↵ | Nikias Bassen | 1 | -0/+1 | |
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-29 | Handle error cases in relevant code when retrieving pair record fails | Nikias Bassen | 1 | -3/+3 | |
2021-07-27 | Add support for MbedTLS | Nikias Bassen | 1 | -25/+170 | |
2021-07-26 | idevice: Remove unnecessary memcpy from internal_ssl_read() | Nikias Bassen | 1 | -29/+15 | |
2021-07-26 | idevice: Route OpenSSL reads/writes through internal_connection_* | Kabir Oberai | 1 | -42/+64 | |
Let's not allow OpenSSL to directly access our file descriptors | |||||
2021-07-25 | idevice: Make sure to handle timeout condition for network connections too | Nikias Bassen | 1 | -9/+11 | |
2021-02-01 | idevice: Allow partial reads in idevice_connection_receive_timeout() and ↵ | Nikias Bassen | 1 | -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-19 | idevice: Handle -EAGAIN in case usbmuxd_send() returns it | Nikias Bassen | 1 | -1/+4 | |
2020-08-06 | idevice: Fix build with LibreSSL | Nikias Bassen | 1 | -1/+1 | |
2020-06-13 | Allow OpenSSL >= 1.1.0 to use older/disallowed TLS versions | Author: Frederik Carlier | 1 | -1/+5 | |
2020-06-08 | Remove whitespace errors from all files | Martin Szulecki | 1 | -1/+1 | |
2020-06-08 | idevice: Add fix for potential SSL_write timeout error case | Nikias Bassen | 1 | -3/+3 | |
2020-06-06 | idevice: Revert not copying scope id for IPv6 addresses from usbmuxd again | Martin Szulecki | 1 | -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-06 | idevice: Slightly improve connectivity logic and fix IPv6 for network devices | Martin Szulecki | 1 | -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-06 | idevice: Add some newlines for better code readability | Martin Szulecki | 1 | -0/+7 | |
2020-06-04 | idevice: Fix compiler warning about switch case fallthrough | Martin Szulecki | 1 | -1/+1 | |
2020-05-21 | idevice: [OpenSSL] Handle non-blocking SSL_write | Nikias Bassen | 1 | -0/+13 | |
2020-05-18 | idevice_connection_send: Make sure send works with non-blocking sockets | Nikias Bassen | 1 | -1/+17 | |
2020-05-18 | Use direct socket connection for network devices | Nikias Bassen | 1 | -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-17 | idevice: [OpenSSL] Fix SSL_read with non-blocking sockets | Nikias Bassen | 1 | -1/+10 | |
2020-05-15 | idevice: [OpenSSL] Make sure SSL handshake works with non-blocking socket | Nikias Bassen | 1 | -8/+18 | |
2020-02-20 | introduces optional `idevice_connection_disable_ssl` with ability not to ↵ | Demyan Kimitsa | 1 | -13/+23 | |
send SSL shutdown message. As in debugserver this message will be considered as GDB server communication and break things | |||||
2020-01-05 | Define ETIMEDOUT if required | Nikias Bassen | 1 | -0/+4 | |
2019-11-07 | Add new idevice_get_device_list_extended() allowing to list all devices, ↵ | Nikias Bassen | 1 | -0/+56 | |
including network Instead of just returning a list of UDIDs (like idevice_get_device_list) this function will return idevice_info_t* records which also contains the type of the connection and the connection data. | |||||
2019-11-07 | Add propert support for network (WiFi) devices via new ↵ | Nikias Bassen | 1 | -21/+71 | |
idevice_new_with_options() | |||||
2019-09-29 | idevice: properly handle partial SSL writes | Nikias Bassen | 1 | -8/+15 | |
2019-09-28 | idevice: fix hang in SSL_shutdown | Mikkel Kamstrup Erlandsen | 1 | -1/+7 | |
2019-09-05 | idevice: Fix handling SSL/TLS version selection for OpenSSL 1.1.0+ and for ↵ | Nikias Bassen | 1 | -11/+19 | |
older devices |