summaryrefslogtreecommitdiffstats
path: root/src/libusbmuxd.c
AgeCommit message (Collapse)AuthorFilesLines
2019-02-27Use common thread implementation as used in other libimobiledevice librariesGravatar Nikias Bassen1-32/+13
2019-02-26win32: Make sure ECONNREFUSED is definedGravatar Nikias Bassen1-0/+3
2019-01-18Return meaningful error codes from usbmuxd_connect()Gravatar Nikias Bassen1-5/+13
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 Bassen1-0/+44
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 Bassen1-101/+201
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 Bassen1-2/+2
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-15Add usbmuxd_save_pair_record_with_device_id() to target a device by it's ↵Gravatar Nikias Bassen1-5/+13
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 Bassen1-8/+165
2017-01-03win32: Only define sleep() when it's not found and reorder header file includesGravatar Nikias Bassen1-3/+5
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 Bassen1-0/+12
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 Zoltan1-2/+18
error to the user on receiving this message.
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).
2014-10-10Fix check for file descriptor validityGravatar Nikias Bassen1-1/+1
2014-10-06Update copyright headerGravatar Martin Szulecki1-2/+2
2014-10-06Fix undefined pointer operation warning from latest ClangGravatar Martin Szulecki1-1/+1
Fixes #20, which caused a warning due to "-Wtautological-pointer-compare".
2014-10-03win32: Avoid exporting non-public symbols with declspec dllexportGravatar Nikias Bassen1-3/+7
2014-10-03Use -fvisibility=hidden to avoid exporting non-public symbolsGravatar Chow Loong Jin1-16/+22
2014-10-03Update copyright headers of all source files to matchGravatar Martin Szulecki1-21/+20
2014-09-11Return 0 on success in usbmuxd_read_buid()Gravatar Nikias Bassen1-1/+2
2014-06-20Properly dereference record_data to check that it's set.Gravatar Aaron Burghardt1-1/+1
Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
2014-05-06Make sure to close socket if usbmuxd_get_device_list() errors outGravatar Nikias Bassen1-0/+3
2014-04-24Close socket in usbmuxd_read_buid() and usbmuxd_*_pair_record() functionsGravatar Nikias Bassen1-0/+4
2014-03-24Properly handle segmented send/receive situationsGravatar Nikias Bassen1-4/+20
2014-03-24Improve error checking around usbmuxd_get_result()Gravatar Nikias Bassen1-15/+18
2014-03-22Use plist_dict_set_item() instead of deprecated plist_dict_insert_item()Gravatar Nikias Bassen1-9/+9
2014-03-11usbmuxd_send(): return negative errno value on errorGravatar Nikias Bassen1-1/+1
2014-03-10use socket_send() instead of send()Gravatar Nikias Bassen1-1/+1
2014-03-02plug several memory leaksGravatar Nikias Bassen1-4/+7
2014-03-02remove invalid freeGravatar Nikias Bassen1-1/+0
2014-02-10Change vendor id to org.libimobiledevice.usbmuxdGravatar Martin Szulecki1-1/+1
2014-02-10Replace socket implementation and fix indentation in iproxy sourcesGravatar Martin Szulecki1-21/+21
2014-01-15removed mutex lock - concurrency issues where caused by tag mismatchGravatar Nikias Bassen1-18/+0
2014-01-10make usbmuxd_send() return a negative errno value like specified in the docsGravatar Nikias Bassen1-1/+2
2014-01-08make 'use_tag' usage thread safe and ignore tag mismatch errorsGravatar Nikias Bassen1-28/+39
2014-01-07Fix checking return values from usbmuxdGravatar Nikias Bassen1-4/+4
2013-12-13correct some debug messagesGravatar Nikias Bassen1-4/+4
2013-12-13implemented usbmuxd_read/save/delete_pair_record()Gravatar Nikias Bassen1-0/+133
2013-12-13implemented usbmuxd_read_buid()Gravatar Nikias Bassen1-0/+51
2013-12-13make libplist dependency/protov1 support mandatoryGravatar Nikias Bassen1-44/+7
2013-12-12implement ListDevices command and use it in usbmuxd_get_device_list()Gravatar Nikias Bassen1-31/+131