summaryrefslogtreecommitdiffstats
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-05-21Fix typo (usbmuxd) in READMEGravatar Frederik Carlier1-1/+1
2019-05-16Updated README.mdGravatar Nikias Bassen1-7/+7
2019-05-16Updated README.mdGravatar Nikias Bassen1-19/+19
2019-05-16Convert README to MarkdownGravatar Ian Macalinao1-49/+34
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-29build: check if clock_gettime() requires -lrt on old GNU systemsGravatar Mikkel Kamstrup Erlandsen1-0/+3
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 Bassen2-2/+6
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-18udev: Work around systemd bug related to bind events on Linux 4.12+Gravatar Bastien Nocera1-0/+3
Make sure that udev doesn't lose our properties when bind events come in, as implemented in kernels 4.12+. See https://github.com/systemd/systemd/issues/8221 and https://github.com/systemd/systemd/issues/7109
2018-04-09configure: Add missing check for localtime_r introduced in previous commitGravatar Nikias Bassen1-1/+1
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-31udev: Handle all events only onceGravatar Rudolf Tammekivi1-3/+3
This fixes spontaneous USB reconfiguration causing "remove" event to be sent to the daemon, which causes it to close itself if it did not have enough time to connect to phone.
2018-01-31udev: ensure that all events relating to device are tagged systemdGravatar Gavin Li2-3/+6
systemd will not restart the usbmuxd service the after the first time it is plugged in if it does not receive the "remove" events, which also happen to lack the idVendor and idProduct attributes, so use ENV{PRODUCT} instead.
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 Bassen2-2/+2
2016-01-28Fix --with-systemd argument to configureGravatar Moritz Schlarb1-1/+1
Otherwise, specifying ''--with-systemd'' will actually lead to systemd support being disabled. Got that from https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/External-Software.html (last example).
2016-01-28Try to autodetect ppoll(2) instead of hardcoding the list of platforms ↵Gravatar Jan Beich2-1/+2
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
2015-01-28Update README with new git URL, IRC and twitter profileGravatar Martin Szulecki1-2/+5
2014-12-02Update NEWS with latest changesGravatar Nikias Bassen1-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