summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-08-02client: Prevent UaF in client_close() by checking if client is validGravatar Nikias Bassen1-1/+14
2020-07-30client: First go at renaming key internal functions for easier refactoringGravatar Martin Szulecki1-28/+28
2020-07-30main: Increase listen socket backlog sizeGravatar Nikias Bassen1-1/+1
In environments with a larger number of devices, especially when these are connected at the time usbmuxd starts, there will be a lot of simultaneous connection attemps. With a backlog size of 5 these connection attempts will easily get a ECONNREFUSED thus failing to perform the required preflight operations. Increasing this to 256 will help to mitigate this.
2020-06-08Remove trailing whitespace errors from all filesGravatar Martin Szulecki2-3/+3
2020-06-08Unfold automake variables into multiple lines for maintainabilityGravatar Martin Szulecki1-11/+24
2020-06-08Extend libusb version log output on startup to include micro version, tooGravatar Martin Szulecki1-1/+1
2020-06-08Add more logging to catch more possible cases in device_control_input()Gravatar Martin Szulecki1-0/+3
2020-06-08Improve and unify log message output for client, device and configGravatar Martin Szulecki3-19/+19
2020-06-08Log client process name alongside pid if possible on accept and disconnectGravatar Martin Szulecki1-5/+44
This helps identifing a problematic client software much quicker.
2020-06-08Use libusb_set_option() to set debug level depending on libusb versionGravatar Martin Szulecki1-1/+5
2020-06-07Use more descriptive libusb_error_name() instead of numeric codesGravatar Martin Szulecki1-23/+23
This makes it easier to recognize the related libusb error code in the logs rather than numeric error codes which needed to be looked up in the documentation
2020-06-07Map debug to log levels and enable debug output for libusbGravatar Martin Szulecki1-1/+3
2020-06-07Use helper to show current libusb version instead of hardcoding itGravatar Martin Szulecki1-1/+2
2020-06-04Unify usage output with other tools and add project URLsGravatar Martin Szulecki1-1/+6
2020-05-07Do not perform preflight on T2 devicesGravatar Rick Mark3-6/+22
2020-05-07Show debug message upon successful connectionGravatar Rick Mark1-3/+4
2020-04-28fix: Typo in src/Makefile.amGravatar Max Kaulmann1-1/+1
CFLAGS for libimobiledevice are correctly used now.
2020-01-17device: Fix potential deadlock (#130)Gravatar Nikias Bassen1-3/+2
2019-12-16Support T2 chip in restore modeGravatar Rick Mark2-2/+4
2019-11-11Fix compatibility with latest changes in libimobiledeviceGravatar Nikias Bassen1-3/+6
2019-11-02Define _BSD_SOURCE again for older platforms.Gravatar Nikias Bassen2-0/+2
While defining _BSD_SOURCE prints deprecation warnings, defining both _DEFAULT_SOURCE and _BSD_SOURCE will not.
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.