Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-05-07 | Fix connection abort if device buffer is full | Peter Wu | 1 | -3/+4 | |
When trying to upload a IPSW filesystem to an iPad, the process would randomly stop somewhere at 3% or 10%. It is possible that the receive buffer of the iPad is full. To prevent erroring out because size == conn->sendable == 0, skip reading from the client. There is a similar case where the clients is ready to accept data, but the device has no data to send. Apply a similar fix there. Hopefully the device is fast enough to reply in the next main loop iteration, otherwise the CPU usage of usbmux will spike because the client socket is ready while there is no data to process... | |||||
2014-05-06 | utils: Add missing plist_read_from_filename() helper | Nikias Bassen | 1 | -0/+25 | |
2014-04-16 | preflight: Unset preflight callback data when no longer needed to prevent ↵ | Nikias Bassen | 1 | -0/+2 | |
segfault | |||||
2014-03-27 | Add "--version" option to print version number and exit, useful for bug reports | Martin Szulecki | 1 | -0/+5 | |
2014-03-27 | Update command usage output to match best practice and other tools | Martin Szulecki | 1 | -10/+11 | |
2014-03-24 | usb-linux: massive read perf improvement with 3 parallel transfers | Mikkel Kamstrup Erlandsen | 1 | -34/+73 | |
By maintaining 3 parallel usb trasfers when reading we get 2-3x more throughput when reading. Without this the usb port is mostly just idling. I get 23mb/s on my system compared to a clean Apple stack that gives me 17mb/s. 3 was chosen because it is simple to hard code, gives very good performance, and have very little impact on out resource consumption. | |||||
2014-03-24 | usb-linux: add some explanatory comments to usb-linux.c | Mikkel Kamstrup Erlandsen | 1 | -0/+5 | |
2014-03-24 | device/utils: move mstime64() into utils since it is generally useful | Mikkel Kamstrup Erlandsen | 3 | -10/+16 | |
2014-03-24 | device: fix potential integer overflow in mstime64() on 32 bit systems | Mikkel Kamstrup Erlandsen | 1 | -1/+4 | |
2014-03-24 | device: more aggresively send ACKs when receiving TCP data | Mikkel Kamstrup Erlandsen | 1 | -49/+66 | |
Before this it seemed that we only ever sent ACK when timing out... Looks like a perf double when reading. | |||||
2014-03-24 | client: add a bunch of comments and function docs | Mikkel Kamstrup Erlandsen | 2 | -1/+90 | |
2014-03-24 | Use plist_dict_set_item() instead of deprecated plist_dict_insert_item() | Martin Szulecki | 2 | -18/+18 | |
2014-03-13 | device: suppress 'error reading from client (0)' which is not actually an error | Nikias Bassen | 1 | -1/+3 | |
2014-02-15 | preflight: create preflight worker as detached thread and handle errors | Nikias Bassen | 1 | -1/+12 | |
2014-01-25 | updated README | Nikias Bassen | 1 | -4/+2 | |
2014-01-10 | client: fix realloc in send_pkt() that made the buffer smaller instead of larger | Nikias Bassen | 1 | -4/+10 | |
2014-01-09 | device: reduce locking time inside device_get_list() and device_get_count() | Nikias Bassen | 1 | -5/+14 | |
2014-01-09 | utils: add new collection_copy() function | Nikias Bassen | 2 | -0/+9 | |
2014-01-09 | removed trailing \n from usbmuxd_log() messages | Nikias Bassen | 6 | -8/+8 | |
2014-01-09 | device: suppress "No connection for device" if TH_RST is set | Nikias Bassen | 1 | -1/+1 | |
2014-01-09 | device/client: make device_get_list() allocate the result buffer itself | Nikias Bassen | 3 | -25/+26 | |
Using device_get_count() and device_get_list() separately can return different device counts in case there are devices added to the list inbetween these two function calls. To prevent this, device_get_list() will allocate the buffer by itself. | |||||
2014-01-09 | device: make device_list access thread safe | Nikias Bassen | 1 | -0/+38 | |
2014-01-09 | utils: collection_add don't double capacity but instead increase by a fixed ↵ | Nikias Bassen | 1 | -6/+8 | |
amount | |||||
2014-01-09 | client: fix 64-bit crash in process_send due to signed/unsigned foo | Nikias Bassen | 1 | -2/+2 | |
2014-01-07 | conf: fix wrong check for parameter that made SavePairRecord always fail | Nikias Bassen | 1 | -1/+1 | |
2013-12-27 | preflight: check for device record before trying to read host id | Nikias Bassen | 3 | -11/+47 | |
2013-12-27 | client: plug several memory leaks | Nikias Bassen | 1 | -1/+6 | |
2013-12-27 | preflight: replace idevice_event_* with thread safe implementation | Nikias Bassen | 4 | -12/+31 | |
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-23 | increase number of open file descriptors | Nikias Bassen | 1 | -0/+7 | |
When a large number of devices are used, the number of open file descriptors can reach the default system limit. Upon startup we now raise it to a much higher value to give more 'space'. | |||||
2013-12-23 | enlarge input+output buffer sizes. | Nikias Bassen | 1 | -13/+10 | |
2013-12-13 | client: implemented ReadBUID, ReadPairRecord, SavePairRecord, and ↵ | Nikias Bassen | 1 | -0/+107 | |
DeletePairRecord commonds | |||||
2013-12-13 | add support for reading and writing config and pair record files | Nikias Bassen | 8 | -12/+709 | |
2013-12-13 | make libplist/protov1 support mandatory | Nikias Bassen | 2 | -52/+4 | |
2013-12-11 | client: return proper error packet on client version mismatch | Nikias Bassen | 1 | -14/+11 | |
2013-12-11 | fix compilation when compiling without plist support | Nikias Bassen | 1 | -0/+2 | |
2013-12-10 | client: implemented "ListDevices" command | Nikias Bassen | 1 | -12/+55 | |
2013-12-10 | client: add send_plist_pkt helper to remove code duplication | Nikias Bassen | 1 | -28/+19 | |
2013-12-10 | main: make sure the non-privileged user has proper access to the config dir | Nikias Bassen | 1 | -9/+21 | |
2013-12-09 | client: also add DeviceID to main dictionary for Attached message | Nikias Bassen | 1 | -0/+1 | |
2013-11-04 | usb: Output message to show USB configuration change | Martin Szulecki | 1 | -0/+3 | |
2013-11-04 | preflight: Add messages to indicate start and finish of preflight process | Martin Szulecki | 1 | -0/+9 | |
2013-11-04 | preflight: Make device visible during trust dialog pairing and handle unplug | Martin Szulecki | 1 | -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-04 | preflight: Add lockdownd prefix to name of set_untrusted_host_buid() | Martin Szulecki | 1 | -3/+3 | |
2013-11-04 | udev: Set "deactivated" USB configuration on iOS devices by default | Martin Szulecki | 1 | -2/+2 | |
With the introduction of iOS 7, devices should start of in the "deactivated" USB configuration "0" by default to not trigger a trust dialog. Once the devices are identified, usbmuxd will set the correct USB configuration itself and immediately run the preflight worker code to ensure a trust relationship with the host is established. This change fixes the trust dialog from appearing during hotplug of paired devices. The last remaining issue is that current kernel code still sets the USB configuration to "1" by default before the udev rules and thus causes multiple connection beeps. | |||||
2013-10-09 | preflight: define extern userpref_remove_device_record | Nikias Bassen | 1 | -0/+2 | |
2013-10-09 | preflight: Free version string in all cases to prevent memory leak | Martin Szulecki | 1 | -3/+11 | |
2013-10-08 | preflight: plug small memory leak | Nikias Bassen | 1 | -0/+2 | |
2013-10-08 | main: prevent uninitialized value when using struct flock | Nikias Bassen | 1 | -0/+1 | |
2013-09-30 | client: added mutex around client_list access | Nikias Bassen | 1 | -1/+17 | |
2013-09-30 | device: suppress two compiler warnings with appropriate casts | Nikias Bassen | 1 | -3/+3 | |