summaryrefslogtreecommitdiffstats
path: root/src/preflight.c
AgeCommit message (Collapse)AuthorFilesLines
2022-10-04preflight: Assume old iOS version if retrieval of ProductVersion failsGravatar Nikias Bassen1-11/+12
Some older devices (e.g. iOS 2.x) wouldn't allow querying the iOS version if the device is not paired. In this case we just assume an old version instead of erroring out, and this way the device will be made available.
2022-09-21Fix preflight for older devicesGravatar Josef Micka1-11/+11
On older devices with iOS 5 and even before there is no "ProductName", only "ProductType" or "DeviceClass" (which is still present). usbmuxd fails to connect these devices, because it can't receive product name. "DeviceClass", like "ProductVersion", can be retrieved even in locked state, so this commit changes it to use that instead.
2021-09-01Remove common code in favor of new libimobiledevice-glueGravatar Nikias Bassen1-9/+6
2021-08-30preflight: Check platform before attempting to preflightGravatar Nikias Bassen1-7/+25
2021-08-02preflight: Reflect device_class member addition to struct idevice_privateGravatar Nikias Bassen1-0/+2
2020-05-07Do not perform preflight on T2 devicesGravatar Rick Mark1-1/+9
2019-11-11Fix compatibility with latest changes in libimobiledeviceGravatar Nikias Bassen1-3/+6
2019-10-07preflight: Prevent possible UaF if usb device is removed while preflight is ↵Gravatar Nikias Bassen1-0/+5
in progress The device serial number is only used by reference, however since the preflight helper runs in a separate thread the usb device might be invalidated before the preflight operation is complete, leading to a use-after-free when passing on the device info, followed by accessing the device serial number. By copying the serial number this can be avoided.
2019-10-04preflight: Let insecure notification proxy terminate when pairing is doneGravatar Nikias Bassen1-2/+6
2019-02-12allow preflight error to pass so simple mode will still workGravatar Adam Laurie1-1/+3
2018-10-02preflight: Fix compatibility with latest internal changes to libimobiledeviceGravatar Nikias Bassen1-1/+5
2014-10-06Update and slightly cleanup copyright headersGravatar Martin Szulecki1-18/+17
2014-04-16preflight: Unset preflight callback data when no longer needed to prevent ↵Gravatar Nikias Bassen1-0/+2
segfault
2014-02-15preflight: create preflight worker as detached thread and handle errorsGravatar Nikias Bassen1-1/+12
2014-01-09removed trailing \n from usbmuxd_log() messagesGravatar Nikias Bassen1-1/+1
2013-12-27preflight: check for device record before trying to read host idGravatar Nikias Bassen1-10/+15
2013-12-27preflight: replace idevice_event_* with thread safe implementationGravatar Nikias Bassen1-11/+13
idevice_event_subscribe() calls usbmuxd_subscribe() which will start a thread waiting for device add/remove events. But this implementation is not able to handle more than one "subscription". However the preflight worker will start a thread for _each_ device resulting in a really messed up situation if more than one device is attached at the same time. This fix will use usbmuxd's internal device_remove function calling a preflight callback to make this implementation thread safe.
2013-12-13add support for reading and writing config and pair record filesGravatar Nikias Bassen1-6/+5
2013-11-04preflight: Add messages to indicate start and finish of preflight processGravatar Martin Szulecki1-0/+9
2013-11-04preflight: Make device visible during trust dialog pairing and handle unplugGravatar Martin Szulecki1-5/+27
The usbmuxd implementation on Win/OS X does allow enumerating and accessing the device during the "trust dialog" pairing process. We now also exit the waiting loop during unplugging of a device while waiting for the trust dialog to be dismissed.
2013-11-04preflight: Add lockdownd prefix to name of set_untrusted_host_buid()Gravatar Martin Szulecki1-3/+3
2013-10-09preflight: define extern userpref_remove_device_recordGravatar Nikias Bassen1-0/+2
2013-10-09preflight: Free version string in all cases to prevent memory leakGravatar Martin Szulecki1-3/+11
2013-10-08preflight: plug small memory leakGravatar Nikias Bassen1-0/+2
2013-09-24preflight: don't wait for trust if device is at setup screenGravatar Nikias Bassen1-1/+6
2013-09-24preflight: handle invalid pair records properlyGravatar Nikias Bassen1-3/+17
2013-09-19preflight: Trigger new trust dialog if user denied pairing beforeGravatar Martin Szulecki1-0/+8
This changes allows to replug a device to trigger a new trust dialog if the user did deny the pairing before.
2013-09-19preflight: Use userpref_get_system_buid() instead of hardcoded pathGravatar Martin Szulecki1-4/+2
2013-09-19preflight: Allow pre iOS 6 devices to become visible if pairing failsGravatar Martin Szulecki1-6/+11
This allows any client to react and handle pairing errors which includes password protected devices and alike.
2013-09-19preflight: Fix some comments to comply to C89Gravatar Martin Szulecki1-4/+4
2013-09-19added preflight worker implementation to handle initial device pairingGravatar Nikias Bassen1-0/+271