summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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-07device: Make sure to operate on the copy of the device list in device_get_list()Gravatar Nikias Bassen1-1/+1
2019-10-07Replace obsolete _BSD_SOURCE define with _DEFAULT_SOURCEGravatar Nikias Bassen2-2/+2
2019-10-04preflight: Let insecure notification proxy terminate when pairing is doneGravatar Nikias Bassen1-2/+6
2019-09-13device: Plug memory leak in error condition when TH_SYN sending failsGravatar Nikias Bassen1-4/+4
2019-07-17Avoid using configuration 5Gravatar mrmacete1-4/+8
- this fixes setting configuration for iOS 11 devices inside virtual machines which caused timeout and subsequent reboot of the device when unplugged from USB
2019-03-05client: Plug memory leaks in update_client_info()Gravatar Nikias Bassen1-13/+4
plist_get_string_val() was used to get the string values of the respective nodes, however those strings were never freed. Improved by simply copying the nodes instead.
2019-02-12allow preflight error to pass so simple mode will still workGravatar Adam Laurie1-1/+3
2019-02-07Allow logging to a dedicated logfileGravatar Nikias Bassen1-16/+35
2018-11-29utils: Fix free on invalid pointerGravatar Nikias Bassen1-1/+1
Credit to tjps see: #100 https://github.com/libimobiledevice/usbmuxd/pull/100
2018-11-29client: Fix Use-after-Free in handling of SavePairRecord message when ↵Gravatar Eric Chen1-1/+1
reading device id
2018-10-12usb: Fix adding hyphen to new style UDIDs by not counting '\0' towards ↵Gravatar Nikias Bassen1-0/+2
string length
2018-10-05usb: Add hyphen to new style UDIDs introduced with iPhone XS/XRGravatar Nikias Bassen1-1/+8
2018-10-02preflight: Fix compatibility with latest internal changes to libimobiledeviceGravatar Nikias Bassen1-1/+5
2018-09-15client: Send 'Paired' message when a device's pairing record has been stored ↵Gravatar Nikias Bassen3-1/+60
successfully This requires the SavePairRecord message sent from the client to contain a usbmux device id so the device can be matched accordingly. For the record: This is the original behavior.
2018-07-23client: Implement ListListeners commandGravatar Nikias Bassen1-4/+117
2018-05-15device: Flush buffer to client when remote side unexpectedly terminates ↵Gravatar Nikias Bassen2-2/+16
connection
2018-05-15client: Set socket options for client connections to improve performanceGravatar Nikias Bassen1-0/+12
2018-05-09Remove whitespace errorsGravatar Nikias Bassen1-6/+6
2018-04-09log: Fix timestamps being printed incorrectly when running in foregroundGravatar Nikias Bassen1-5/+11
Due to usage of wrong function (get_tick_count) the timestamps have been printed incorrectly based on clock_gettime. This commit fixes it by using gettimeofday correctly and also makes sure that this is thread-safe by using localtime_r if available. Furthermore, this commit will also have the effect that when logging through syslog we don't determine the current time anymore because the timestamp is not even used.
2018-01-31usb: Remove leftover debug log outputGravatar Nikias Bassen1-1/+0
2018-01-08Fix typo in error message.Gravatar Carlos Maddela1-1/+1
2018-01-08usb: Fix calculation of RX loop countGravatar Nikias Bassen1-0/+1
2018-01-08usb: Use heap buffer instead of making the usb_device struct largerGravatar Nikias Bassen1-6/+18
Since this buffer is only used during device initialization we don't want the usb_device struct to be unecessary big.
2018-01-08usb: Use libusb asynchronous I/O for getting initial device information.Gravatar Alexis Ballier1-35/+111
usb_device_add may now be called from libusb main loop via the hotplug callbacks. No blocking call must occur there and libusb 1.0.21 now returns an error when trying to perform blocking I/O in this callback. Should fix the error when hotpluging a device reported in #81
2018-01-08usb: Store the whole device descriptor in struct usb_deviceGravatar Alexis Ballier1-4/+3
2017-12-28client: Plug memory leakGravatar Rudolf Tammekivi1-0/+1
2017-10-29conf: Report an error if writing to config file failsGravatar Nikias Bassen1-3/+8
2017-10-29Better error handling when saving pair recordsGravatar Frederik Carlier2-12/+34
plist_write_to_filename and buffer_write_to_filename now return 0 if the actual write operation failed (e.g. because access is denied to the file), and set errno if required.
2017-07-17utils: Use autoconf to check for availability of clock_gettime()Gravatar Nikias Bassen1-1/+1
2016-01-28Try to autodetect ppoll(2) instead of hardcoding the list of platforms ↵Gravatar Jan Beich1-1/+1
lacking it thus using fallback.
2016-01-28device: Plug small memory leakGravatar Nikias Bassen1-0/+1
2016-01-28Fix debug message printing the wrong timeout valueGravatar Nikias Bassen1-1/+1
2016-01-28Add a static clock_gettime() substitute for OS X.Gravatar Aaron Burghardt1-0/+33
2015-07-31internal_get_value: fix over-free of node returned by plist_dict_get_item.Gravatar Aaron Burghardt1-1/+0
2015-07-31send_system_buid: fix leak of buid string returned by config_get_system_buid.Gravatar Aaron Burghardt1-0/+1
2014-12-02preflight: Remove obsoleted extern function declarationsGravatar Nikias Bassen1-3/+0
2014-12-02usb: Implement device discovery using libusb hotplug eventsGravatar Nikias Bassen1-202/+268
2014-12-02Rename usb-linux.c to more suitable usb.cGravatar Nikias Bassen2-2/+2
2014-11-12Use non-blocking sockets for client communicationGravatar Nikias Bassen2-1/+31
This approach is better than using blocking sockets and select() since there's no guarantee that send() doesn't block. Plus we're using poll() anyway so send() and recv() will only be called if the socket is actually ready for writing/reading.
2014-11-12Revert "client: Make sure fd is writable before calling send() to avoid ↵Gravatar Nikias Bassen1-18/+1
blocking" This reverts commit 23ecea077d8f22d9da5cae50df3e2ff3406fee90.
2014-11-11client: Make sure fd is writable before calling send() to avoid blockingGravatar Nikias Bassen1-1/+18
2014-11-11Get USB speed for device and use it for device attached client messageGravatar Martin Szulecki5-2/+34
2014-11-11client: Remove invalid line feed from log messageGravatar Nikias Bassen1-1/+1
2014-11-11client: Log pid of connecting clients (if supported)Gravatar Nikias Bassen1-0/+16
2014-11-11Use new get_tick_count() to avoid timing issues on packetsGravatar Martin Szulecki4-9/+24
2014-10-17Make sure usbmuxd-proto.h file is added to distributionGravatar Martin Szulecki1-1/+1
2014-10-16Only conditionally compile bits of udev and systemd supportGravatar Martin Szulecki1-1/+21
2014-10-14Fix support for more than one device with systemd by extending usbmuxd usageGravatar Martin Szulecki1-15/+41
Upon connecting a new device, usbmuxd was not notified to scan for it if systemd was used as the activation method. This change introduces the "--disable-hotplug" and "--enable-exit" options to have a finer control over usbmuxd's signaling behavior. The convenience option "--systemd" complements the "--udev" option and setups the right settings for systemd.
2014-10-14Fix broken "--user" option which didn't accept an argumentGravatar Martin Szulecki1-1/+1