summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-06-20Convert README to markdown and update linksGravatar Nikias Bassen2-70/+66
2019-06-13socket: Return -ETIMEDOUT when select() in socket_read_fd() reached the timeoutGravatar Nikias Bassen1-0/+4
2019-06-12common: Use portable pointer initialization and assert on allocation failureGravatar Nikias Bassen1-6/+16
2019-05-27configure: Add missing check for pselectGravatar Nikias Bassen1-0/+1
2019-05-26Remove unnecessary NULL pointer checksGravatar Nikias Bassen1-9/+4
2019-05-25inotify: Fix hang when usbmuxd is not running and device monitor is stoppedGravatar Nikias Bassen1-2/+47
2019-05-25Make sure device monitor thread can be cancelled without pthread_cancelGravatar Nikias Bassen2-5/+7
2019-05-25configure.ac: Make sure pthread_cancel is properly detectedGravatar Nikias Bassen1-1/+3
2019-05-23Make sure to send device remove events when unregistering the callbackGravatar Nikias Bassen1-0/+8
2019-05-22Add new usbmuxd_events_subscribe/unsubscribe functions with a context so it ↵Gravatar Nikias Bassen4-43/+184
can be used in different threads
2019-05-21socket: Return -ECONNRESET from socket_receive_timeout() instead of -EAGAIN ↵Gravatar Nikias Bassen1-1/+5
if peer closed the socket Returning -EAGAIN would indicate the caller can try again, but if the peer closed the socket that wouldn't make any sense. Thanks to sctol for reporting.
2019-05-21socket: Move initialization of timeval structure into retry loop in ↵Gravatar Nikias Bassen1-8/+7
socket_check_fd() Depending on the platform, select() may modify the timeval structure to indicate the amount left on the timer, so we reset the timeout before calling select() again. Thanks to sctol for reporting.
2019-03-23Fix Segmentation Fault when UDID parsing failed by bailing out in case of errorGravatar Nikias Bassen1-1/+1
Fixes #63.
2019-02-27Use common thread implementation as used in other libimobiledevice librariesGravatar Nikias Bassen6-40/+241
2019-02-26win32: Make sure ECONNREFUSED is definedGravatar Nikias Bassen1-0/+3
2019-01-18Return meaningful error codes from usbmuxd_connect()Gravatar Nikias Bassen2-6/+15
2018-10-21socket: Make sure to use socket_close() really everywhereGravatar Nikias Bassen1-1/+1
2018-10-19Use socket_close instead of close to close a socketGravatar Frederik Carlier1-1/+1
2018-10-16Avoid code duplication for sanitizing udidGravatar Nikias Bassen1-14/+15
2018-10-15Rename DEBUG and ERROR macros to avoid name collisionGravatar Nikias Bassen1-52/+52
2018-10-14Allow using non-standard usbmuxd socket address via environment variableGravatar Nikias Bassen3-31/+127
By using USBMUXD_SOCKET_ADDRESS environment variable, it is possible to make libusbmuxd connect to the specified address. The value needs to be in format ADDRESS:PORT (or UNIX:PATH on unix systems). If no port number is specified or parsing fails, the standard socket address (or unix domain socket file path) will be used silently.
2018-10-13Add proper support for USB and network (WiFi sync) devices reported by usbmuxdGravatar Nikias Bassen3-111/+257
This commit extends the interface with a new function usbmuxd_get_device() that allows to look up USB *and* network devices, while the 'old' interface usbmuxd_get_device_by_udid() only targets USB devices. The usbmuxd_device_info_t structure now has new members 'conn_type' and 'conn_data' so that the returned device info allows to figure out if a device is available via USB or network. Check the comments in include/usbmuxd.h for more details.
2018-10-12Silence compiler warning about signed vs. unsigned compareGravatar Nikias Bassen1-2/+2
2018-10-12Properly detect availability of program_invocation_short_name and suppress ↵Gravatar Nikias Bassen2-2/+20
compiler warning
2018-10-12Add hyphen to new style UDIDs on device add events tooGravatar Nikias Bassen1-0/+5
2018-10-08Add hyphen to new style UDIDs introduced with iPhone XS/XRGravatar BALATON Zoltan1-0/+5
2018-09-25Fix compile warningsGravatar BALATON Zoltan1-4/+4
2018-09-15Add usbmuxd_save_pair_record_with_device_id() to target a device by it's ↵Gravatar Nikias Bassen3-6/+26
usbmux id
2018-09-15Set ClientVersionString to a more adequate string (PACKAGE_VERSION)Gravatar Nikias Bassen1-1/+1
2018-09-15Properly set ProgName (and BundleID if available) in plist messages to usbmuxdGravatar Nikias Bassen2-8/+167
2018-07-24common: Get rid of offsetof() and just use sizeof() to get size of unix ↵Gravatar Nikias Bassen1-21/+6
socket address
2018-05-15socket: Set socket options for usbmux connection to improve performanceGravatar Nikias Bassen1-0/+23
2017-05-22Updated READMEGravatar Nikias Bassen1-2/+9
2017-01-03win32: Only define sleep() when it's not found and reorder header file includesGravatar Nikias Bassen2-4/+6
2016-12-27Use ax_pthread.m4 and get rid of clang compiler warning about pthreadGravatar Nikias Bassen3-12/+497
2016-07-14Move EBADMSG and EPROTO defines out of the WIN32 ifdefGravatar David Crosby1-4/+5
Fixes compilation on OpenBSD, which surprisingly doesn't have them
2016-07-14win32: Return WaitForSingleObject error code in usbmuxd_unsubscribeGravatar Nikias Bassen1-1/+4
Similar to the previous commit, WaitForSingleObject may return an error code. While not sure how to handle this error we return it to the caller of usbmuxd_unsubscribe.
2016-07-14Report pthread_kill/pthread_join errors in usbmuxd_unsubscribeGravatar Christophe Fergeau1-2/+7
In order to avoid race condition between an usbmuxd_event_cb_t firing in a different thread and usbmuxd_unsubscribe() being called, libusbmuxd users must assume that once usbmuxd_unsubcribe() returns, no more usbmuxd_event_cb_t callbacks will fire, but also that those which were already started when usbmuxd_unsubcribe() is called will have completed. usbmuxd_unsubcribe() tries to guarantee this, but pthread_kill/pthread_join may fail, in which case this guarantee would not hold. This commit makes sure an error is reported to the caller when we get in this situation (though I'm not really sure how the caller could handle it).
2016-07-14Handle 'Paired' message and pass event to client through callbackGravatar Nikias Bassen2-1/+14
2016-07-13Log all errors during receive for debuggingGravatar BALATON Zoltan1-11/+7
2016-07-13Catch Paired message even if it is ignored now to prevent returning anGravatar BALATON Zoltan2-3/+19
error to the user on receiving this message.
2015-12-29common: [security fix] Make sure sockets only listen locallyGravatar Joshua Hill1-2/+2
2015-05-20Update AUTHORS file with correct listGravatar Martin Szulecki1-0/+5
The previous list was wrongly generated from the git history missing a couple of original authors. Thanks to Paul Sladen for the hint.
2015-01-30Improve maintainability and requires of pkg-config fileGravatar Martin Szulecki2-4/+9
2014-10-15Post-release version bump to 1.1.0Gravatar Martin Szulecki1-1/+1
2014-10-15Update NEWS with latest changes1.0.10Gravatar Martin Szulecki1-0/+1
2014-10-14Add "check-news" automake option to ensure correct NEWS file on releasesGravatar Martin Szulecki1-1/+1
2014-10-14Update NEWS with older changes that were left in usbmuxd's NEWS fileGravatar Martin Szulecki1-0/+3
2014-10-14Bump so name correctly as some ABI symbols were removedGravatar Martin Szulecki1-1/+1
2014-10-10inotify: Work around race condition by adding a retry loopGravatar Nikias Bassen1-1/+8
In certain circumstances usbmuxd might not have been started up when the socket file creation event has occured. This causes connect_usbmuxd_socket() to fail and usbmuxd_listen_inotify() is invoked again, but the socket file creation event will not occur anymore. To fix this we retry to connect to usbmuxd after waiting a second in case the first connection attempt failed (with a maximum of 10 retries).