diff options
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | include/libiphone/libiphone.h | 1 | ||||
-rw-r--r-- | src/NotificationProxy.c | 1 | ||||
-rw-r--r-- | src/iphone.c | 18 | ||||
-rw-r--r-- | udev/89-libiphone.rules | 8 |
6 files changed, 20 insertions, 15 deletions
@@ -24,10 +24,11 @@ To compile run: ./configure make sudo make install # (if you want to install it into your system directories) + libiphone-initconf # (as the user you intend to use the library) On Ubuntu/Debian, you can do: - sudo apt-get install build-essential automake autoconf libtool \ - libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev \ + sudo apt-get install build-essential automake autoconf libtool\ + libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev libxml2-dev \ libreadline5-dev == Who/what/where? == diff --git a/configure.ac b/configure.ac index e2f98c7..a26be74 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ AM_PROG_CC_C_O PKG_CHECK_MODULES(libusb, libusb >= 0.1.12) PKG_CHECK_MODULES(libglib2, glib-2.0 >= 2.14.1) PKG_CHECK_MODULES(libgthread2, gthread-2.0 >= 2.14.1) -PKG_CHECK_MODULES(libgnutls, gnutls >= 1.6.3 gnutls <= 2.5.0 ) +PKG_CHECK_MODULES(libgnutls, gnutls >= 1.6.3 ) PKG_CHECK_MODULES(libtasn1, libtasn1 >= 1.1) PKG_CHECK_MODULES(libplist, libplist >= 0.10) diff --git a/include/libiphone/libiphone.h b/include/libiphone/libiphone.h index 0035e2f..0d5257a 100644 --- a/include/libiphone/libiphone.h +++ b/include/libiphone/libiphone.h @@ -96,6 +96,7 @@ void iphone_set_debug(int level); //device related functions iphone_error_t iphone_get_device ( iphone_device_t *device ); +iphone_error_t iphone_get_specific_device( unsigned int bus_n, int dev_n, iphone_device_t * device ); iphone_error_t iphone_free_device ( iphone_device_t device ); diff --git a/src/NotificationProxy.c b/src/NotificationProxy.c index 726852e..bf837bf 100644 --- a/src/NotificationProxy.c +++ b/src/NotificationProxy.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <string.h> #include <stdio.h> #include <plist/plist.h> #include "NotificationProxy.h" diff --git a/src/iphone.c b/src/iphone.c index 6eb56f7..5076b48 100644 --- a/src/iphone.c +++ b/src/iphone.c @@ -95,7 +95,7 @@ static void iphone_config_usb_device(iphone_device_t phone) * descriptor on return. * @return IPHONE_E_SUCCESS if ok, otherwise an error code. */ -static iphone_error_t iphone_get_specific_device(unsigned int bus_n, int dev_n, iphone_device_t * device) +iphone_error_t iphone_get_specific_device(unsigned int bus_n, int dev_n, iphone_device_t * device) { struct usb_bus *bus, *busses; struct usb_device *dev; @@ -230,13 +230,15 @@ iphone_error_t iphone_free_device(iphone_device_t device) unsigned char buf[512]; // read final package(s) - do { - bytes = usb_bulk_read(device->device, BULKIN, (void *) &buf, 512, 800); - if (bytes > 0) { - log_debug_msg("iphone_free_device: final read returned\n"); - log_debug_buffer(buf, bytes); - } - } while (bytes > 0); + if (device->device != NULL) { + do { + bytes = usb_bulk_read(device->device, BULKIN, (void *) &buf, 512, 800); + if (bytes > 0) { + log_debug_msg("iphone_free_device: final read returned\n"); + log_debug_buffer(buf, bytes); + } + } while (bytes > 0); + } if (device->buffer) { free(device->buffer); diff --git a/udev/89-libiphone.rules b/udev/89-libiphone.rules index 0982d29..aeefc68 100644 --- a/udev/89-libiphone.rules +++ b/udev/89-libiphone.rules @@ -1,9 +1,9 @@ ATTR{idVendor}!="05ac", GOTO="libiphone_rules_end" # Forces iPhone 1.0, 3G and iPodTouch 1 and 2 to USB configuration 3 -KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1290", ACTION=="add", ATTR{bConfigurationValue}="3" -KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1291", ACTION=="add", ATTR{bConfigurationValue}="3" -KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1292", ACTION=="add", ATTR{bConfigurationValue}="3" -KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1293", ACTION=="add", ATTR{bConfigurationValue}="3" +SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="1290", ACTION=="add", ATTR{bConfigurationValue}="3" +SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="1291", ACTION=="add", ATTR{bConfigurationValue}="3" +SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="1292", ACTION=="add", ATTR{bConfigurationValue}="3" +SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="1293", ACTION=="add", ATTR{bConfigurationValue}="3" LABEL="libiphone_rules_end" |