[Pkg-gtkpod-devel] Bug#726133: NMU for 1.1.5-0.1 (was: libimobildevice - how about syncing from Ubuntu?)
Andrei POPESCU
andreimpopescu at gmail.com
Sun Oct 13 16:57:52 UTC 2013
Control: reassign -1 libimobiledevice2 1.1.1-4
On Sb, 12 oct 13, 19:37:27, Andreas Metzler wrote:
> Package: libimobildevice
> Version: 1.1.1-4
>
> On 2013-10-05 Andreas Metzler <ametzler at bebt.de> wrote:
> > While libimobiledevice has been seriously broken in Debian for at
> > least 4 months Ubuntu's version closes 5 out of 7 open Debian bugs.
> > How about merging from Ubuntu?
>
> > I would rather not do NMU since I do not use the package. However I am
> > interested in having a buildable libimobiledevice since it is a
> > libtasn reverse dependeny.
>
> Hello,
> I have uploaded 1.1.5-0.1 as NMU to experimental to at least check
> whether it builds on all architectures. It will need to go through
> NEW, though.
>
> rdeps build, except for clementine (support dropped upstream, Ubuntu
> has the patch) and ideviceinstaller (Ubuntu has newer upstream and a
> patch to fix this).
>
> cu Andreas
>
> --
> `What a good friend you are to him, Dr. Maturin. His other friends are
> so grateful to you.'
> `I sew his ears on from time to time, sure'
> diff -NurBbp libimobiledevice-1.1.1/debian/changelog libimobiledevice-1.1.5/debian/changelog
> --- libimobiledevice-1.1.1/debian/changelog 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/changelog 2013-10-12 19:12:45.000000000 +0200
> @@ -1,3 +1,128 @@
> +libimobiledevice (1.1.5-0.1) experimental; urgency=low
> +
> + * Non-maintainer upload.
> + * Sync from Ubuntu.
> + + New upstream version. Closes: #709369
> + + Includes fix for CVE-2013-2142: insecure /tmp usage. Closes: #710885
> + + Compatible with newer libusbmuxd. Closes: #682275
> + + New upstream version does not use gnutls_*_set_priority functions
> + anymore. Closes: #624066
> + + Package builds. Closes: #713689
> + + Does not depend on libusbmuxd1. Closes: #725637
> + * configure with --disable-silent-rules
> + * Delete ubuntu-revision on symbol string_concat at Base in
> + debian/libimobiledevice4.symbols.
> + * Update authors and download location in debian/copyright.
> +
> + -- Andreas Metzler <ametzler at debian.org> Sat, 12 Oct 2013 18:49:30 +0200
> +
> +libimobiledevice (1.1.5-0ubuntu2) saucy; urgency=low
> +
> + * SECURITY UPDATE: insecure /tmp usage (LP: #1164263)
> + - debian/patches/CVE-2013-2142.patch: fall back to getpwuid_r instead
> + of using /tmp in src/userpref.c. Added string_concat() function in
> + src/Makefile.am, src/utils.c, src/utils.h.
> + - added new symbol to debian/libimobiledevice4.symbols.
> + - CVE-2013-2142
> +
> + -- Marc Deslauriers <marc.deslauriers at ubuntu.com> Wed, 14 Aug 2013 12:43:31 -0400
> +
> +libimobiledevice (1.1.5-0ubuntu1) saucy; urgency=low
> +
> + * New upstream release. (LP: #1207038)
> + - soname was bumped
> + * debian/control:
> + - Bump minimum cython dependency
> + - Don't have the -doc package depend on the library
> + * Dropped patches applied in new version:
> + - 06_cython_detection.patch
> + - 07_cython_0.16_check.patch
> + - 08_cython_0.16_fix.patch
> + - git_handle_unset_environment.patch
> + - git_utf8_devices_names.patch
> + * debian/patches/link_against_pthread.patch:
> + - Fix underlinking against pthread
> + * debian/patches/git_explicitly_cast_ssl_enabled.patch:
> + - Backport patch to fix build failure due to implicit conversion
> +
> + -- Jeremy Bicha <jbicha at ubuntu.com> Wed, 31 Jul 2013 15:34:39 -0400
> +
> +libimobiledevice (1.1.4-1ubuntu6) raring; urgency=low
> +
> + * Added missing gcrypt lib to link, fixing FTBFS.
> + * Updated d/libimobiledevice3.symbols.
> +
> + -- Daniel T Chen <crimsun at ubuntu.com> Tue, 02 Apr 2013 16:47:51 -0400
> +
> +libimobiledevice (1.1.4-1ubuntu5) raring; urgency=low
> +
> + * 08_cython_0.16_fix.patch: Follow-up cython fix from Michael Bienia:
> + - Mark BaseError as not inline in the .pxd file too, to match the
> + definition from the .pyx file and fix the FTBFS with cython 0.17.
> + * 09_use_python_config.patch: Use python-config to find the python
> + include paths, and fix the build failure with multi-arched python.
> +
> + -- Adam Conrad <adconrad at ubuntu.com> Sat, 19 Jan 2013 06:11:28 -0700
> +
> +libimobiledevice (1.1.4-1ubuntu4) raring; urgency=low
> +
> + * No-change rebuild for raring to work around a Launchpad copying bug.
> +
> + -- Colin Watson <cjwatson at ubuntu.com> Thu, 17 Jan 2013 09:40:41 +0000
> +
> +libimobiledevice (1.1.4-1ubuntu3) quantal-proposed; urgency=low
> +
> + * git_utf8_devices_names.patch:
> + - fix incorrect naming of e.g iphone devices (lp: #1049991)
> +
> + -- Sebastien Bacher <seb128 at ubuntu.com> Wed, 24 Oct 2012 12:01:08 +0200
> +
> +libimobiledevice (1.1.4-1ubuntu2) quantal; urgency=low
> +
> + * debian/patches/git_handle_unset_environment.patch:
> + - don't segfault when the environment variable are unset (lp: #1034067)
> +
> + -- Sebastien Bacher <seb128 at ubuntu.com> Fri, 05 Oct 2012 16:39:56 +0200
> +
> +libimobiledevice (1.1.4-1ubuntu1) quantal; urgency=low
> +
> + * debian/rules: use --disable-openssl, we use gnutls
> +
> + -- Sebastien Bacher <seb128 at ubuntu.com> Mon, 30 Jul 2012 11:38:16 +0200
> +
> +libimobiledevice (1.1.4-1~quantal) quantal; urgency=low
> +
> + * Upload Debian version (which is waiting for sponsoring) to quantal
> +
> + [ Julien Lavergne ]
> + * New upstream release.
> + * debian/patches:
> + - 00git_ios5_support.patch: Merged upstream.
> + - 06_git_ios5_handle_error.patch: Merged upstream.
> + - 01-libs.private.patch: Refreshed.
> + - 02-add-missing-linking.patch & 03_ac_pkg_swig_m4_fixed.patch:
> + Removed, not necessary since swig is not used now.
> + - 04_libplist_DSO_linking.patch: Merged upstream.
> + - 05_remove_gcry_need.patch: Refreshed.
> + - 06_cython_detection.patch: From upstream, correctly check cython version.
> + - 07_cython_0.16_check.patch: From upstream, fix building with cython 0.16.
> + * debian/control, debian/rules, debian/libimobiledevice3.*
> + - Bump soname.
> + * debian/control:
> + - Build depends on libusbmuxd-dev (>= 1.0.8).
> + - Replace build depends on swig by cython.
> + - Build-depends on libplist-dev (>= 1.8-2~) for cython support.
> + * debian/libimobiledevice3.install:
> + - Drop hal file, it's deprecated.
> + * debian/libimobiledevice3.symbols:
> + - Update.
> + * debian/python-plist.install:
> + - Update files installed by cython.
> + * debian/rules:
> + - Update location of .a and .la files.
> +
> + -- Sebastien Bacher <seb128 at ubuntu.com> Sun, 29 Jul 2012 11:31:31 +0200
> +
> libimobiledevice (1.1.1-4) unstable; urgency=low
>
> [ Robert Hooker ]
> diff -NurBbp libimobiledevice-1.1.1/debian/control libimobiledevice-1.1.5/debian/control
> --- libimobiledevice-1.1.1/debian/control 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/control 2013-10-12 17:53:12.000000000 +0200
> @@ -8,11 +8,11 @@ Build-Depends: debhelper (>= 7.0.50~),
> libgnutls-dev (>= 1.6.3),
> libusb-1.0-0-dev (>= 1.0.3) [linux-any],
> libglib2.0-dev (>= 2.14.1),
> - libplist-dev (>= 0.15),
> + libplist-dev (>= 1.8-2~),
> libplist++-dev (>= 0.15),
> python-all-dev (>= 2.6.6-3~),
> - swig (>= 1.3.36),
> - libusbmuxd-dev (>= 1.0.0),
> + cython (>= 0.17.0),
> + libusbmuxd-dev (>= 1.0.8),
> libtasn1-3-dev (>= 1.1),
> libreadline-dev,
> python-plist,
> @@ -23,7 +23,7 @@ Vcs-Git: git://git.debian.org/git/pkg-gt
> Vcs-Browser: http://git.debian.org/?p=pkg-gtkpod/packages/libimobiledevice.git
> DM-Upload-Allowed: yes
>
> -Package: libimobiledevice2
> +Package: libimobiledevice4
> Architecture: any
> Depends: ${shlibs:Depends},
> ${misc:Depends},
> @@ -38,7 +38,7 @@ Description: Library for communicating w
> Package: libimobiledevice-dev
> Architecture: any
> Section: libdevel
> -Depends: libimobiledevice2 (= ${binary:Version}),
> +Depends: libimobiledevice4 (= ${binary:Version}),
> ${misc:Depends},
> libglib2.0-dev,
> libplist-dev,
> @@ -52,14 +52,14 @@ Description: Library for communicating w
> .
> This package contains the development files.
>
> -Package: libimobiledevice2-dbg
> +Package: libimobiledevice4-dbg
> Architecture: any
> Section: debug
> Priority: extra
> -Depends: libimobiledevice2 (= ${binary:Version}),
> +Depends: libimobiledevice4 (= ${binary:Version}),
> ${misc:Depends}
> -Conflicts: libimobiledevice1-dbg, libimobiledevice0-dbg
> -Replaces: libimobiledevice1-dbg, libimobiledevice0-dbg
> +Conflicts: libimobiledevice3-dbg, libimobiledevice1-dbg, libimobiledevice0-dbg
> +Replaces: libimobiledevice3-dbg, libimobiledevice1-dbg, libimobiledevice0-dbg
> Description: Library for communicating with iPhone and iPod Touch devices
> libimobiledevice is a library that talks the native Apple USB protocols that
> the iPhone and iPod Touch use. Unlike other projects, libimobiledevice does
> @@ -98,8 +98,7 @@ Description: Library for communicating w
> Package: libimobiledevice-doc
> Architecture: all
> Section: doc
> -Depends: libimobiledevice2 (>= ${source:Version}),
> - ${misc:Depends}
> +Depends: ${misc:Depends}
> Description: Library for communicating with iPhone and iPod Touch devices
> libimobiledevice is a library that talks the native Apple USB protocols that
> the iPhone and iPod Touch use. Unlike other projects, libimobiledevice does
> diff -NurBbp libimobiledevice-1.1.1/debian/copyright libimobiledevice-1.1.5/debian/copyright
> --- libimobiledevice-1.1.1/debian/copyright 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/copyright 2013-10-12 19:12:10.000000000 +0200
> @@ -1,18 +1,27 @@
> Authors:
> - Zach C.
> + Bastien Nocera
> + Bryan Forbes
> + Christophe Fergeau
> + Geoff Paul
> + Ingmar Vanhassel
> + John Maguire
> Jonathan Beck
> - Matt Colyer
> + Joshua Hill
> + Julien Lavergne
> Martin Aumueller
> - Christophe Fergeau
> - Martin S.
> - Paul Sladen
> - Patrick Walton
> - Zoltan Balaton
> + Martin Szulecki
> + Marty Rosenberg
> + Matt Colyer
> Nikias Bassen
> + Patrick Walton
> + Paul Sladen
> + Peter Hoepfner
> + Petr Uzel
> Todd Zullinger
> - Bastien Nocera
> -Download: http://matt.colyer.name/projects/iphone-linux/
> + Zach C
> + Zoltan Balaton
>
> +Download: http://www.libimobiledevice.org/
> Files: *
> Copyright:
> Copyright (C) 2008 Zach C. All Rights Reserved
> diff -NurBbp libimobiledevice-1.1.1/debian/libimobiledevice2.install libimobiledevice-1.1.5/debian/libimobiledevice2.install
> --- libimobiledevice-1.1.1/debian/libimobiledevice2.install 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/libimobiledevice2.install 1970-01-01 01:00:00.000000000 +0100
> @@ -1,2 +0,0 @@
> -usr/lib/*.so.2*
> -debian/31-apple-mobile-device.fdi usr/share/hal/fdi/information/20thirdparty/
> diff -NurBbp libimobiledevice-1.1.1/debian/libimobiledevice2.symbols libimobiledevice-1.1.5/debian/libimobiledevice2.symbols
> --- libimobiledevice-1.1.1/debian/libimobiledevice2.symbols 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/libimobiledevice2.symbols 1970-01-01 01:00:00.000000000 +0100
> @@ -1,179 +0,0 @@
> -libimobiledevice.so.2 libimobiledevice2 #MINVER#
> - afc_client_free at Base 0.9.7
> - afc_client_new at Base 0.9.7
> - afc_client_new_from_connection at Base 1.1.0
> - afc_client_new_from_house_arrest_client at Base 1.1.0
> - afc_file_close at Base 0.9.7
> - afc_file_lock at Base 0.9.7
> - afc_file_open at Base 0.9.7
> - afc_file_read at Base 0.9.7
> - afc_file_seek at Base 0.9.7
> - afc_file_tell at Base 0.9.7
> - afc_file_truncate at Base 0.9.7
> - afc_file_write at Base 0.9.7
> - afc_get_device_info at Base 0.9.7
> - afc_get_device_info_key at Base 0.9.7
> - afc_get_file_info at Base 0.9.7
> - afc_make_directory at Base 0.9.7
> - afc_make_link at Base 0.9.7
> - afc_read_directory at Base 0.9.7
> - afc_remove_path at Base 0.9.7
> - afc_rename_path at Base 0.9.7
> - afc_set_file_time at Base 0.9.7
> - afc_truncate at Base 0.9.7
> - debug_level at Base 0.9.7
> - device_link_service_client_free at Base 0.9.7
> - device_link_service_client_new at Base 0.9.7
> - device_link_service_disconnect at Base 0.9.7
> - device_link_service_receive at Base 0.9.7
> - device_link_service_receive_message at Base 1.1.0
> - device_link_service_receive_process_message at Base 1.0.0
> - device_link_service_send at Base 0.9.7
> - device_link_service_send_ping at Base 1.0.0
> - device_link_service_send_process_message at Base 1.0.0
> - device_link_service_version_exchange at Base 0.9.7
> - file_relay_client_free at Base 0.9.7
> - file_relay_client_new at Base 0.9.7
> - file_relay_request_sources at Base 0.9.7
> - house_arrest_client_free at Base 1.1.0
> - house_arrest_client_new at Base 1.1.0
> - house_arrest_get_result at Base 1.1.0
> - house_arrest_send_command at Base 1.1.0
> - house_arrest_send_request at Base 1.1.0
> - idevice_connect at Base 0.9.7
> - idevice_connection_disable_ssl at Base 0.9.7
> - idevice_connection_enable_ssl at Base 0.9.7
> - idevice_connection_receive at Base 0.9.7
> - idevice_connection_receive_timeout at Base 0.9.7
> - idevice_connection_send at Base 0.9.7
> - idevice_device_list_free at Base 0.9.7
> - idevice_disconnect at Base 0.9.7
> - idevice_event_subscribe at Base 0.9.7
> - idevice_event_unsubscribe at Base 0.9.7
> - idevice_free at Base 0.9.7
> - idevice_get_device_list at Base 0.9.7
> - idevice_get_handle at Base 0.9.7
> - idevice_get_uuid at Base 0.9.7
> - idevice_new at Base 0.9.7
> - idevice_set_debug_level at Base 0.9.7
> - instproxy_archive at Base 0.9.7
> - instproxy_browse at Base 0.9.7
> - instproxy_client_free at Base 0.9.7
> - instproxy_client_new at Base 0.9.7
> - instproxy_client_options_add at Base 0.9.7
> - instproxy_client_options_free at Base 0.9.7
> - instproxy_client_options_new at Base 0.9.7
> - instproxy_install at Base 0.9.7
> - instproxy_lookup_archives at Base 0.9.7
> - instproxy_remove_archive at Base 0.9.7
> - instproxy_restore at Base 0.9.7
> - instproxy_uninstall at Base 0.9.7
> - instproxy_upgrade at Base 0.9.7
> - lockdownd_activate at Base 0.9.7
> - lockdownd_client_free at Base 0.9.7
> - lockdownd_client_new at Base 0.9.7
> - lockdownd_client_new_with_handshake at Base 0.9.7
> - lockdownd_client_set_label at Base 0.9.7
> - lockdownd_data_classes_free at Base 1.1.0
> - lockdownd_deactivate at Base 0.9.7
> - lockdownd_enter_recovery at Base 0.9.7
> - lockdownd_gen_pair_cert at Base 0.9.7
> - lockdownd_get_device_name at Base 0.9.7
> - lockdownd_get_device_public_key at Base 0.9.7
> - lockdownd_get_device_uuid at Base 0.9.7
> - lockdownd_get_sync_data_classes at Base 1.1.0
> - lockdownd_get_value at Base 0.9.7
> - lockdownd_goodbye at Base 0.9.7
> - lockdownd_pair at Base 0.9.7
> - lockdownd_query_type at Base 0.9.7
> - lockdownd_receive at Base 0.9.7
> - lockdownd_remove_value at Base 0.9.7
> - lockdownd_send at Base 0.9.7
> - lockdownd_set_value at Base 0.9.7
> - lockdownd_start_service at Base 0.9.7
> - lockdownd_start_session at Base 0.9.7
> - lockdownd_stop_session at Base 0.9.7
> - lockdownd_unpair at Base 0.9.7
> - lockdownd_validate_pair at Base 0.9.7
> - mobile_image_mounter_free at Base 1.0.0
> - mobile_image_mounter_hangup at Base 1.0.0
> - mobile_image_mounter_lookup_image at Base 1.0.0
> - mobile_image_mounter_mount_image at Base 1.0.0
> - mobile_image_mounter_new at Base 1.0.0
> - mobilebackup2_client_free at Base 1.1.1
> - mobilebackup2_client_new at Base 1.1.1
> - mobilebackup2_receive_message at Base 1.1.1
> - mobilebackup2_receive_raw at Base 1.1.1
> - mobilebackup2_send_raw at Base 1.1.1
> - mobilebackup2_send_request at Base 1.1.1
> - mobilebackup2_send_status_response at Base 1.1.1
> - mobilebackup2_version_exchange at Base 1.1.1
> - mobilebackup_client_free at Base 0.9.7
> - mobilebackup_client_new at Base 0.9.7
> - mobilebackup_receive at Base 0.9.7
> - mobilebackup_receive_restore_application_received at Base 1.1.0
> - mobilebackup_receive_restore_file_received at Base 1.1.0
> - mobilebackup_request_backup at Base 1.0.0
> - mobilebackup_request_restore at Base 1.1.0
> - mobilebackup_send at Base 0.9.7
> - mobilebackup_send_backup_file_received at Base 1.0.0
> - mobilebackup_send_error at Base 1.0.0
> - mobilebackup_send_restore_complete at Base 1.1.0
> - mobilesync_acknowledge_changes_from_device at Base 1.1.0
> - mobilesync_actions_add at Base 1.1.0
> - mobilesync_actions_free at Base 1.1.0
> - mobilesync_actions_new at Base 1.1.0
> - mobilesync_anchors_free at Base 1.1.0
> - mobilesync_anchors_new at Base 1.1.0
> - mobilesync_cancel at Base 1.1.0
> - mobilesync_clear_all_records_on_device at Base 1.1.1
> - mobilesync_client_free at Base 0.9.7
> - mobilesync_client_new at Base 0.9.7
> - mobilesync_finish at Base 1.1.0
> - mobilesync_get_all_records_from_device at Base 1.1.0
> - mobilesync_get_changes_from_device at Base 1.1.0
> - mobilesync_ready_to_send_changes_from_computer at Base 1.1.0
> - mobilesync_receive at Base 0.9.7
> - mobilesync_receive_changes at Base 1.1.0
> - mobilesync_remap_identifiers at Base 1.1.0
> - mobilesync_send at Base 0.9.7
> - mobilesync_send_changes at Base 1.1.0
> - mobilesync_start at Base 1.1.0
> - np_client_free at Base 0.9.7
> - np_client_new at Base 0.9.7
> - np_notifier at Base 0.9.7
> - np_observe_notification at Base 0.9.7
> - np_observe_notifications at Base 0.9.7
> - np_post_notification at Base 0.9.7
> - np_set_notify_callback at Base 0.9.7
> - pkcs1_asn1_tab at Base 0.9.7
> - property_list_service_client_free at Base 0.9.7
> - property_list_service_client_new at Base 0.9.7
> - property_list_service_disable_ssl at Base 0.9.7
> - property_list_service_enable_ssl at Base 0.9.7
> - property_list_service_receive_plist at Base 0.9.7
> - property_list_service_receive_plist_with_timeout at Base 0.9.7
> - property_list_service_send_binary_plist at Base 0.9.7
> - property_list_service_send_xml_plist at Base 0.9.7
> - restored_client_free at Base 1.1.0
> - restored_client_new at Base 1.1.0
> - restored_client_set_label at Base 1.1.0
> - restored_get_value at Base 1.1.0
> - restored_goodbye at Base 1.1.0
> - restored_query_type at Base 1.1.0
> - restored_reboot at Base 1.1.0
> - restored_receive at Base 1.1.0
> - restored_send at Base 1.1.0
> - restored_start_restore at Base 1.1.0
> - sbservices_client_free at Base 0.9.7
> - sbservices_client_new at Base 0.9.7
> - sbservices_get_home_screen_wallpaper_pngdata at Base 1.1.0
> - sbservices_get_icon_pngdata at Base 0.9.7
> - sbservices_get_icon_state at Base 0.9.7
> - sbservices_set_icon_state at Base 0.9.7
> - screenshotr_client_free at Base 1.0.0
> - screenshotr_client_new at Base 1.0.0
> - screenshotr_take_screenshot at Base 1.0.0
> - userpref_get_host_id at Base 1.0.2
> - userpref_get_paired_uuids at Base 1.0.2
> - userpref_remove_device_public_key at Base 1.0.2
> diff -NurBbp libimobiledevice-1.1.1/debian/libimobiledevice4.install libimobiledevice-1.1.5/debian/libimobiledevice4.install
> --- libimobiledevice-1.1.1/debian/libimobiledevice4.install 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/libimobiledevice4.install 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1 @@
> +usr/lib/*.so.4*
> diff -NurBbp libimobiledevice-1.1.1/debian/libimobiledevice4.symbols libimobiledevice-1.1.5/debian/libimobiledevice4.symbols
> --- libimobiledevice-1.1.1/debian/libimobiledevice4.symbols 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/libimobiledevice4.symbols 2013-10-12 18:49:12.000000000 +0200
> @@ -0,0 +1,220 @@
> +libimobiledevice.so.4 libimobiledevice4 #MINVER#
> + afc_client_free at Base 0.9.7
> + afc_client_new at Base 0.9.7
> + afc_client_new_from_house_arrest_client at Base 1.1.0
> + afc_client_new_with_service_client at Base 1.1.5
> + afc_file_close at Base 0.9.7
> + afc_file_lock at Base 0.9.7
> + afc_file_open at Base 0.9.7
> + afc_file_read at Base 0.9.7
> + afc_file_seek at Base 0.9.7
> + afc_file_tell at Base 0.9.7
> + afc_file_truncate at Base 0.9.7
> + afc_file_write at Base 0.9.7
> + afc_get_device_info at Base 0.9.7
> + afc_get_device_info_key at Base 0.9.7
> + afc_get_file_info at Base 0.9.7
> + afc_make_directory at Base 0.9.7
> + afc_make_link at Base 0.9.7
> + afc_read_directory at Base 0.9.7
> + afc_remove_path at Base 0.9.7
> + afc_rename_path at Base 0.9.7
> + afc_set_file_time at Base 0.9.7
> + afc_truncate at Base 0.9.7
> + debug_level at Base 0.9.7
> + device_link_service_client_free at Base 0.9.7
> + device_link_service_client_new at Base 0.9.7
> + device_link_service_disconnect at Base 0.9.7
> + device_link_service_receive at Base 0.9.7
> + device_link_service_receive_message at Base 1.1.0
> + device_link_service_receive_process_message at Base 1.0.0
> + device_link_service_send at Base 0.9.7
> + device_link_service_send_ping at Base 1.0.0
> + device_link_service_send_process_message at Base 1.0.0
> + device_link_service_version_exchange at Base 0.9.7
> + diagnostics_relay_client_free at Base 1.1.5
> + diagnostics_relay_client_new at Base 1.1.5
> + diagnostics_relay_goodbye at Base 1.1.5
> + diagnostics_relay_query_ioregistry_entry at Base 1.1.5
> + diagnostics_relay_query_ioregistry_plane at Base 1.1.5
> + diagnostics_relay_query_mobilegestalt at Base 1.1.5
> + diagnostics_relay_request_diagnostics at Base 1.1.5
> + diagnostics_relay_restart at Base 1.1.5
> + diagnostics_relay_shutdown at Base 1.1.5
> + diagnostics_relay_sleep at Base 1.1.5
> + file_relay_client_free at Base 0.9.7
> + file_relay_client_new at Base 0.9.7
> + file_relay_request_sources at Base 0.9.7
> + heartbeat_client_free at Base 1.1.5
> + heartbeat_client_new at Base 1.1.5
> + heartbeat_client_start_service at Base 1.1.5
> + heartbeat_receive at Base 1.1.5
> + heartbeat_receive_with_timeout at Base 1.1.5
> + heartbeat_send at Base 1.1.5
> + house_arrest_client_free at Base 1.1.0
> + house_arrest_client_new at Base 1.1.0
> + house_arrest_get_result at Base 1.1.0
> + house_arrest_send_command at Base 1.1.0
> + house_arrest_send_request at Base 1.1.0
> + idevice_connect at Base 0.9.7
> + idevice_connection_disable_ssl at Base 0.9.7
> + idevice_connection_enable_ssl at Base 0.9.7
> + idevice_connection_receive at Base 0.9.7
> + idevice_connection_receive_timeout at Base 0.9.7
> + idevice_connection_send at Base 0.9.7
> + idevice_device_list_free at Base 0.9.7
> + idevice_disconnect at Base 0.9.7
> + idevice_event_subscribe at Base 0.9.7
> + idevice_event_unsubscribe at Base 0.9.7
> + idevice_free at Base 0.9.7
> + idevice_get_device_list at Base 0.9.7
> + idevice_get_handle at Base 0.9.7
> + idevice_get_udid at Base 1.1.4
> + idevice_new at Base 0.9.7
> + idevice_set_debug_level at Base 0.9.7
> + instproxy_archive at Base 0.9.7
> + instproxy_browse at Base 0.9.7
> + instproxy_client_free at Base 0.9.7
> + instproxy_client_new at Base 0.9.7
> + instproxy_client_options_add at Base 0.9.7
> + instproxy_client_options_free at Base 0.9.7
> + instproxy_client_options_new at Base 0.9.7
> + instproxy_install at Base 0.9.7
> + instproxy_lookup_archives at Base 0.9.7
> + instproxy_remove_archive at Base 0.9.7
> + instproxy_restore at Base 0.9.7
> + instproxy_uninstall at Base 0.9.7
> + instproxy_upgrade at Base 0.9.7
> + lockdownd_activate at Base 0.9.7
> + lockdownd_client_free at Base 0.9.7
> + lockdownd_client_new at Base 0.9.7
> + lockdownd_client_new_with_handshake at Base 0.9.7
> + lockdownd_client_set_label at Base 0.9.7
> + lockdownd_data_classes_free at Base 1.1.0
> + lockdownd_deactivate at Base 0.9.7
> + lockdownd_enter_recovery at Base 0.9.7
> + lockdownd_gen_pair_cert at Base 0.9.7
> + lockdownd_get_device_name at Base 0.9.7
> + lockdownd_get_device_public_key at Base 0.9.7
> + lockdownd_get_device_udid at Base 1.1.4
> + lockdownd_get_sync_data_classes at Base 1.1.0
> + lockdownd_get_value at Base 0.9.7
> + lockdownd_goodbye at Base 0.9.7
> + lockdownd_pair at Base 0.9.7
> + lockdownd_query_type at Base 0.9.7
> + lockdownd_receive at Base 0.9.7
> + lockdownd_remove_value at Base 0.9.7
> + lockdownd_send at Base 0.9.7
> + lockdownd_service_descriptor_free at Base 1.1.5
> + lockdownd_set_value at Base 0.9.7
> + lockdownd_start_service at Base 0.9.7
> + lockdownd_start_session at Base 0.9.7
> + lockdownd_stop_session at Base 0.9.7
> + lockdownd_unpair at Base 0.9.7
> + lockdownd_validate_pair at Base 0.9.7
> + misagent_client_free at Base 1.1.5
> + misagent_client_new at Base 1.1.5
> + misagent_copy at Base 1.1.5
> + misagent_get_status_code at Base 1.1.5
> + misagent_install at Base 1.1.5
> + misagent_remove at Base 1.1.5
> + mobile_image_mounter_free at Base 1.0.0
> + mobile_image_mounter_hangup at Base 1.0.0
> + mobile_image_mounter_lookup_image at Base 1.0.0
> + mobile_image_mounter_mount_image at Base 1.0.0
> + mobile_image_mounter_new at Base 1.0.0
> + mobilebackup2_client_free at Base 1.1.1
> + mobilebackup2_client_new at Base 1.1.1
> + mobilebackup2_receive_message at Base 1.1.1
> + mobilebackup2_receive_raw at Base 1.1.1
> + mobilebackup2_send_message at Base 1.1.4
> + mobilebackup2_send_raw at Base 1.1.1
> + mobilebackup2_send_request at Base 1.1.1
> + mobilebackup2_send_status_response at Base 1.1.1
> + mobilebackup2_version_exchange at Base 1.1.1
> + mobilebackup_client_free at Base 0.9.7
> + mobilebackup_client_new at Base 0.9.7
> + mobilebackup_receive at Base 0.9.7
> + mobilebackup_receive_restore_application_received at Base 1.1.0
> + mobilebackup_receive_restore_file_received at Base 1.1.0
> + mobilebackup_request_backup at Base 1.0.0
> + mobilebackup_request_restore at Base 1.1.0
> + mobilebackup_send at Base 0.9.7
> + mobilebackup_send_backup_file_received at Base 1.0.0
> + mobilebackup_send_error at Base 1.0.0
> + mobilebackup_send_restore_complete at Base 1.1.0
> + mobilesync_acknowledge_changes_from_device at Base 1.1.0
> + mobilesync_actions_add at Base 1.1.0
> + mobilesync_actions_free at Base 1.1.0
> + mobilesync_actions_new at Base 1.1.0
> + mobilesync_anchors_free at Base 1.1.0
> + mobilesync_anchors_new at Base 1.1.0
> + mobilesync_cancel at Base 1.1.0
> + mobilesync_clear_all_records_on_device at Base 1.1.1
> + mobilesync_client_free at Base 0.9.7
> + mobilesync_client_new at Base 0.9.7
> + mobilesync_finish at Base 1.1.0
> + mobilesync_get_all_records_from_device at Base 1.1.0
> + mobilesync_get_changes_from_device at Base 1.1.0
> + mobilesync_ready_to_send_changes_from_computer at Base 1.1.0
> + mobilesync_receive at Base 0.9.7
> + mobilesync_receive_changes at Base 1.1.0
> + mobilesync_remap_identifiers at Base 1.1.0
> + mobilesync_send at Base 0.9.7
> + mobilesync_send_changes at Base 1.1.0
> + mobilesync_start at Base 1.1.0
> + np_client_free at Base 0.9.7
> + np_client_new at Base 0.9.7
> + np_notifier at Base 0.9.7
> + np_observe_notification at Base 0.9.7
> + np_observe_notifications at Base 0.9.7
> + np_post_notification at Base 0.9.7
> + np_set_notify_callback at Base 0.9.7
> + pkcs1_asn1_tab at Base 0.9.7
> + property_list_service_client_free at Base 0.9.7
> + property_list_service_client_new at Base 0.9.7
> + property_list_service_disable_ssl at Base 0.9.7
> + property_list_service_enable_ssl at Base 0.9.7
> + property_list_service_receive_plist at Base 0.9.7
> + property_list_service_receive_plist_with_timeout at Base 0.9.7
> + property_list_service_send_binary_plist at Base 0.9.7
> + property_list_service_send_xml_plist at Base 0.9.7
> + restored_client_free at Base 1.1.0
> + restored_client_new at Base 1.1.0
> + restored_client_set_label at Base 1.1.0
> + restored_get_value at Base 1.1.0
> + restored_goodbye at Base 1.1.0
> + restored_query_type at Base 1.1.0
> + restored_query_value at Base 1.1.4
> + restored_reboot at Base 1.1.0
> + restored_receive at Base 1.1.0
> + restored_send at Base 1.1.0
> + restored_start_restore at Base 1.1.0
> + sbservices_client_free at Base 0.9.7
> + sbservices_client_new at Base 0.9.7
> + sbservices_get_home_screen_wallpaper_pngdata at Base 1.1.0
> + sbservices_get_icon_pngdata at Base 0.9.7
> + sbservices_get_icon_state at Base 0.9.7
> + sbservices_get_interface_orientation at Base 1.1.4
> + sbservices_set_icon_state at Base 0.9.7
> + screenshotr_client_free at Base 1.0.0
> + screenshotr_client_new at Base 1.0.0
> + screenshotr_take_screenshot at Base 1.0.0
> + service_client_factory_start_service at Base 1.1.5
> + service_client_free at Base 1.1.5
> + service_client_new at Base 1.1.5
> + service_disable_ssl at Base 1.1.5
> + service_enable_ssl at Base 1.1.5
> + service_receive at Base 1.1.5
> + service_receive_with_timeout at Base 1.1.5
> + service_send at Base 1.1.5
> + string_concat at Base 1.1.5
> + userpref_get_host_id at Base 1.0.2
> + userpref_get_paired_udids at Base 1.1.4
> + userpref_remove_device_public_key at Base 1.0.2
> + webinspector_client_free at Base 1.1.5
> + webinspector_client_new at Base 1.1.5
> + webinspector_client_start_service at Base 1.1.5
> + webinspector_receive at Base 1.1.5
> + webinspector_receive_with_timeout at Base 1.1.5
> + webinspector_send at Base 1.1.5
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/00git_ios5_support.patch libimobiledevice-1.1.5/debian/patches/00git_ios5_support.patch
> --- libimobiledevice-1.1.1/debian/patches/00git_ios5_support.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/00git_ios5_support.patch 1970-01-01 01:00:00.000000000 +0100
> @@ -1,23 +0,0 @@
> -From f0487376671ffd6ac3fc121657f1fbd0acea3cb0 Mon Sep 17 00:00:00 2001
> -From: Nikias Bassen
> -Date: Tue, 07 Jun 2011 15:59:22 +0000
> -Subject: lockdown: fix support for iOS 5
> -
> ----
> -diff --git a/src/lockdown.c b/src/lockdown.c
> -index 935f24e..15b3d69 100644
> ---- a/src/lockdown.c
> -+++ b/src/lockdown.c
> -@@ -86,7 +86,9 @@ static int lockdown_check_result(plist_t dict, const char *query_match)
> -
> - plist_t result_node = plist_dict_get_item(dict, "Result");
> - if (!result_node) {
> -- return ret;
> -+ /* iOS 5: the 'Result' key is not present anymore.
> -+ Just assume success here */
> -+ return RESULT_SUCCESS;
> - }
> -
> - plist_type result_type = plist_get_node_type(result_node);
> ---
> -cgit v0.8.3.1-34-gbf3d
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/01-libs.private.patch libimobiledevice-1.1.5/debian/patches/01-libs.private.patch
> --- libimobiledevice-1.1.1/debian/patches/01-libs.private.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/01-libs.private.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -1,13 +1,13 @@
> -Index: libiphone/libimobiledevice-1.0.pc.in
> +Index: libimobiledevice/libimobiledevice-1.0.pc.in
> ===================================================================
> ---- libiphone.orig/libimobiledevice-1.0.pc.in 2010-02-02 01:02:09.000000000 +0100
> -+++ libiphone/libimobiledevice-1.0.pc.in 2010-02-02 01:02:15.000000000 +0100
> +--- libimobiledevice.orig/libimobiledevice-1.0.pc.in 2012-03-28 01:16:47.000000000 +0200
> ++++ libimobiledevice/libimobiledevice-1.0.pc.in 2012-03-28 01:16:59.000000000 +0200
> @@ -6,7 +6,7 @@
> Name: libimobiledevice
> Description: A library to communicate with services running on Apple iPhone/iPod Touch devices.
> Version: @VERSION@
> --Requires: libplist >= 0.12 libusbmuxd >= 0.1.0 glib-2.0 >= 2.14.1 gthread-2.0 >= 2.14.1 gnutls >= 1.6.3 libtasn1 >= 1.1
> -+Requires.private: libplist >= 0.12 libusbmuxd >= 0.1.0 glib-2.0 >= 2.14.1 gthread-2.0 >= 2.14.1 gnutls >= 1.6.3 libtasn1 >= 1.1
> +-Requires: libplist >= 0.12 libusbmuxd >= 0.1.0 @ssl_requires@
> ++Requires.private: libplist >= 0.12 libusbmuxd >= 0.1.0 @ssl_requires@
> Libs: -L${libdir} -limobiledevice
> Cflags: -I${includedir}
>
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/02-add-missing-linking.patch libimobiledevice-1.1.5/debian/patches/02-add-missing-linking.patch
> --- libimobiledevice-1.1.1/debian/patches/02-add-missing-linking.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/02-add-missing-linking.patch 1970-01-01 01:00:00.000000000 +0100
> @@ -1,35 +0,0 @@
> -Index: libimobiledevice/swig/Makefile.am
> -===================================================================
> ---- libimobiledevice.orig/swig/Makefile.am 2011-05-24 01:36:43.000000000 +0200
> -+++ libimobiledevice/swig/Makefile.am 2011-07-05 22:17:56.000000000 +0200
> -@@ -25,7 +25,7 @@
> - nodist__imobiledevice_la_SOURCES = imobiledevice_wrap.cxx $(SWIG_SOURCES)
> - _imobiledevice_la_CFLAGS = $(PYTHON_CPPFLAGS) -I$(top_srcdir)/src
> - _imobiledevice_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS)
> --_imobiledevice_la_LIBADD = $(top_builddir)/src/libimobiledevice.la $(libplistmm_LIBS)
> -+_imobiledevice_la_LIBADD = $(top_builddir)/src/libimobiledevice.la $(libplistmm_LIBS) $(libplist_LIBS)
> -
> - imobiledevice_wrap.cxx : $(SWIG_SOURCES)
> - $(SWIG) $(SWIG_PYTHON_OPT) $(AM_CPPFLAGS) -I$(top_srcdir)/src -o $@ $<
> -Index: libimobiledevice/swig/Makefile.in
> -===================================================================
> ---- libimobiledevice.orig/swig/Makefile.in 2011-05-24 01:36:43.000000000 +0200
> -+++ libimobiledevice/swig/Makefile.in 2011-07-05 22:17:56.000000000 +0200
> -@@ -82,7 +82,7 @@
> - am__DEPENDENCIES_1 =
> - @HAVE_SWIG_TRUE at _imobiledevice_la_DEPENDENCIES = \
> - @HAVE_SWIG_TRUE@ $(top_builddir)/src/libimobiledevice.la \
> -- at HAVE_SWIG_TRUE@ $(am__DEPENDENCIES_1)
> -+ at HAVE_SWIG_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
> - am__objects_1 =
> - @HAVE_SWIG_TRUE at nodist__imobiledevice_la_OBJECTS = \
> - @HAVE_SWIG_TRUE@ imobiledevice_wrap.lo $(am__objects_1)
> -@@ -311,7 +311,7 @@
> - @HAVE_SWIG_TRUE at nodist__imobiledevice_la_SOURCES = imobiledevice_wrap.cxx $(SWIG_SOURCES)
> - @HAVE_SWIG_TRUE at _imobiledevice_la_CFLAGS = $(PYTHON_CPPFLAGS) -I$(top_srcdir)/src
> - @HAVE_SWIG_TRUE at _imobiledevice_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS)
> -- at HAVE_SWIG_TRUE@_imobiledevice_la_LIBADD = $(top_builddir)/src/libimobiledevice.la $(libplistmm_LIBS)
> -+ at HAVE_SWIG_TRUE@_imobiledevice_la_LIBADD = $(top_builddir)/src/libimobiledevice.la $(libplistmm_LIBS) $(libplist_LIBS)
> - all: $(BUILT_SOURCES)
> - $(MAKE) $(AM_MAKEFLAGS) all-am
> -
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/03_ac_pkg_swig_m4_fixed.patch libimobiledevice-1.1.5/debian/patches/03_ac_pkg_swig_m4_fixed.patch
> --- libimobiledevice-1.1.1/debian/patches/03_ac_pkg_swig_m4_fixed.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/03_ac_pkg_swig_m4_fixed.patch 1970-01-01 01:00:00.000000000 +0100
> @@ -1,30 +0,0 @@
> -Index: libimobiledevice/m4/ac_pkg_swig.m4
> -===================================================================
> ---- libimobiledevice.orig/m4/ac_pkg_swig.m4 2011-07-05 22:21:43.000000000 +0200
> -+++ libimobiledevice/m4/ac_pkg_swig.m4 2011-07-05 22:23:36.000000000 +0200
> -@@ -103,15 +103,19 @@
> - if test -z "$available_patch" ; then
> - [available_patch=0]
> - fi
> -- if test $available_major -ne $required_major \
> -- -o $available_minor -ne $required_minor \
> -- -o $available_patch -lt $required_patch ; then
> -- AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org])
> -- SWIG=false
> -- else
> -+ if test $available_major -gt $required_major || \
> -+ ( test $available_major -eq $required_major && \
> -+ test $available_minor -gt $required_minor ) || \
> -+ ( test $available_major -eq $required_major && \
> -+ test $available_minor -eq $required_minor && \
> -+ test $available_patch -ge $required_patch ) ; then
> -+
> - AC_MSG_NOTICE([SWIG executable is '$SWIG'])
> - SWIG_LIB=`$SWIG -swiglib`
> - AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB'])
> -+ else
> -+ AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org])
> -+ SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false'
> - fi
> - else
> - AC_MSG_WARN([cannot determine SWIG version])
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/04_libplist_DSO_linking.patch libimobiledevice-1.1.5/debian/patches/04_libplist_DSO_linking.patch
> --- libimobiledevice-1.1.1/debian/patches/04_libplist_DSO_linking.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/04_libplist_DSO_linking.patch 1970-01-01 01:00:00.000000000 +0100
> @@ -1,26 +0,0 @@
> -Index: libimobiledevice/dev/Makefile.am
> -===================================================================
> ---- libimobiledevice.orig/dev/Makefile.am 2011-07-05 22:38:19.000000000 +0200
> -+++ libimobiledevice/dev/Makefile.am 2011-07-05 22:40:55.000000000 +0200
> -@@ -1,7 +1,7 @@
> - AM_CPPFLAGS = -I$(top_srcdir)/include
> -
> - AM_CFLAGS = $(GLOBAL_CFLAGS) $(libglib2_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_CFLAGS) $(libgthread2_CFLAGS) $(LFS_CFLAGS)
> --AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS)
> -+AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS) $(libplist_LIBS)
> -
> - if ENABLE_DEVTOOLS
> - noinst_PROGRAMS = ideviceclient lckd-client afccheck filerelaytest housearresttest
> -Index: libimobiledevice/tools/Makefile.am
> -===================================================================
> ---- libimobiledevice.orig/tools/Makefile.am 2011-07-05 22:41:04.000000000 +0200
> -+++ libimobiledevice/tools/Makefile.am 2011-07-05 22:41:59.000000000 +0200
> -@@ -1,7 +1,7 @@
> - AM_CPPFLAGS = -I$(top_srcdir)/include
> -
> - AM_CFLAGS = $(GLOBAL_CFLAGS) $(libglib2_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_CFLAGS) $(libgthread2_CFLAGS) $(LFS_CFLAGS)
> --AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS)
> -+AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS) $(libplist_LIBS)
> -
> - bin_PROGRAMS = idevice_id ideviceinfo idevicepair idevicesyslog idevicebackup idevicebackup2 ideviceimagemounter idevicescreenshot ideviceenterrecovery idevicedate
> -
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/05_remove_gcry_need.patch libimobiledevice-1.1.5/debian/patches/05_remove_gcry_need.patch
> --- libimobiledevice-1.1.1/debian/patches/05_remove_gcry_need.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/05_remove_gcry_need.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -6,26 +6,26 @@ Last-Update: 2011-10-25
>
> Index: libimobiledevice/configure.ac
> ===================================================================
> ---- libimobiledevice.orig/configure.ac 2011-10-25 00:32:52.000000000 +0200
> -+++ libimobiledevice/configure.ac 2011-10-25 00:34:56.000000000 +0200
> -@@ -33,7 +33,6 @@
> - PKG_CHECK_MODULES(libtasn1, libtasn1 >= 1.1)
> - PKG_CHECK_MODULES(libplist, libplist >= 0.15)
> - PKG_CHECK_MODULES(libplistmm, libplist++ >= 0.15)
> --AC_CHECK_LIB(gcrypt, gcry_control, [AC_SUBST(libgcrypt_LIBS,[-lgcrypt])], [AC_MSG_ERROR([libgcrypt is required to build libimobiledevice])])
> -
> - # Checks for header files.
> - AC_HEADER_STDC
> +--- libimobiledevice.orig/configure.ac 2012-03-28 01:10:48.000000000 +0200
> ++++ libimobiledevice/configure.ac 2012-03-28 01:25:22.000000000 +0200
> +@@ -126,7 +126,6 @@
> + pkg_req_gnutls="gnutls >= 2.2.0"
> + pkg_req_libtasn1="libtasn1 >= 1.1"
> + PKG_CHECK_MODULES(libgnutls, $pkg_req_gnutls)
> +- AC_CHECK_LIB(gcrypt, gcry_control, [AC_SUBST(libgcrypt_LIBS,[-lgcrypt])], [AC_MSG_ERROR([libgcrypt is required to build libimobiledevice with GnuTLS])])
> + PKG_CHECK_MODULES(libtasn1, $pkg_req_libtasn1)
> + ssl_provider="GnuTLS"
> + ssl_requires="$pkg_req_gnutls $pkg_req_libtasn1"
> Index: libimobiledevice/src/Makefile.am
> ===================================================================
> ---- libimobiledevice.orig/src/Makefile.am 2011-10-25 00:33:04.000000000 +0200
> -+++ libimobiledevice/src/Makefile.am 2011-10-25 00:34:46.000000000 +0200
> +--- libimobiledevice.orig/src/Makefile.am 2012-03-28 01:10:48.000000000 +0200
> ++++ libimobiledevice/src/Makefile.am 2012-03-28 01:26:34.000000000 +0200
> @@ -1,7 +1,7 @@
> AM_CPPFLAGS = -I$(top_srcdir)/include
>
> - AM_CFLAGS = $(GLOBAL_CFLAGS) $(libusbmuxd_CFLAGS) $(libglib2_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_CFLAGS) $(libgthread2_CFLAGS) $(libplist_CFLAGS) $(LFS_CFLAGS)
> --AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS) $(libplist_LIBS) $(libusbmuxd_LIBS) $(libgcrypt_LIBS)
> -+AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS) $(libplist_LIBS) $(libusbmuxd_LIBS)
> + AM_CFLAGS = $(GLOBAL_CFLAGS) $(libusbmuxd_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_CFLAGS) $(libplist_CFLAGS) $(LFS_CFLAGS) $(openssl_CFLAGS)
> +-AM_LDFLAGS = $(libgnutls_LIBS) $(libtasn1_LIBS) $(libplist_LIBS) $(libusbmuxd_LIBS) $(libgcrypt_LIBS) ${libpthread_LIBS} $(openssl_LIBS)
> ++AM_LDFLAGS = $(libgnutls_LIBS) $(libtasn1_LIBS) $(libplist_LIBS) $(libusbmuxd_LIBS) ${libpthread_LIBS} $(openssl_LIBS)
>
> lib_LTLIBRARIES = libimobiledevice.la
> - libimobiledevice_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBIMOBILEDEVICE_SO_VERSION) -no-undefined
> + libimobiledevice_la_LIBADD =
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/06_git_ios5_handle_error.patch libimobiledevice-1.1.5/debian/patches/06_git_ios5_handle_error.patch
> --- libimobiledevice-1.1.1/debian/patches/06_git_ios5_handle_error.patch 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/06_git_ios5_handle_error.patch 1970-01-01 01:00:00.000000000 +0100
> @@ -1,35 +0,0 @@
> -From e855f246b3d869a60375207fde1294bbe761fe23 Mon Sep 17 00:00:00 2001
> -From: Nikias Bassen
> -Date: Mon, 21 Nov 2011 15:50:24 +0000
> -Subject: lockdown: iOS 5: handle 'Error' key in lockdown_check_result
> -
> ----
> -diff --git a/src/lockdown.c b/src/lockdown.c
> -index 327d9e5..1783df6 100644
> ---- a/src/lockdown.c
> -+++ b/src/lockdown.c
> -@@ -87,7 +87,21 @@ static int lockdown_check_result(plist_t dict, const char *query_match)
> - plist_t result_node = plist_dict_get_item(dict, "Result");
> - if (!result_node) {
> - /* iOS 5: the 'Result' key is not present anymore.
> -- Just assume success here */
> -+ But we need to check for the 'Error' key. */
> -+ plist_t err_node = plist_dict_get_item(dict, "Error");
> -+ if (err_node) {
> -+ if (plist_get_node_type(err_node) == PLIST_STRING) {
> -+ char *err_value = NULL;
> -+ plist_get_string_val(err_node, &err_value);
> -+ if (err_value) {
> -+ debug_info("ERROR: %s", err_value);
> -+ free(err_value);
> -+ } else {
> -+ debug_info("ERROR: unknown error occured");
> -+ }
> -+ }
> -+ return RESULT_FAILURE;
> -+ }
> - return RESULT_SUCCESS;
> - }
> -
> ---
> -cgit v0.8.3.1-34-gbf3d
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/09_use_python_config.patch libimobiledevice-1.1.5/debian/patches/09_use_python_config.patch
> --- libimobiledevice-1.1.1/debian/patches/09_use_python_config.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/09_use_python_config.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,22 @@
> +Description: Use python-config to find headers.
> + * 09_use_python_config.patch: Use python-config to find the python
> + include paths, and fix the build failure with multi-arched python.
> +Author: Adam Conrad <adconrad at ubuntu.com>
> +Forwarded: no
> +
> +--- libimobiledevice-1.1.4.orig/m4/ac_python_devel.m4
> ++++ libimobiledevice-1.1.4/m4/ac_python_devel.m4
> +@@ -152,12 +152,7 @@ $ac_distutils_result])
> + #
> + AC_MSG_CHECKING([for Python include path])
> + if test -z "$PYTHON_CPPFLAGS"; then
> +- python_path=`$PYTHON -c "import distutils.sysconfig; \
> +- print distutils.sysconfig.get_python_inc();"`
> +- if test -n "${python_path}"; then
> +- python_path="-I$python_path"
> +- fi
> +- PYTHON_CPPFLAGS=$python_path
> ++ PYTHON_CPPFLAGS=`$PYTHON-config --includes`
> + fi
> + AC_MSG_RESULT([$PYTHON_CPPFLAGS])
> + AC_SUBST([PYTHON_CPPFLAGS])
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/10_libgcrypt_underlinkage.patch libimobiledevice-1.1.5/debian/patches/10_libgcrypt_underlinkage.patch
> --- libimobiledevice-1.1.1/debian/patches/10_libgcrypt_underlinkage.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/10_libgcrypt_underlinkage.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,13 @@
> +Index: libimobiledevice-1.1.4/tools/Makefile.am
> +===================================================================
> +--- libimobiledevice-1.1.4.orig/tools/Makefile.am 2012-04-08 11:19:23.000000000 -0400
> ++++ libimobiledevice-1.1.4/tools/Makefile.am 2013-04-02 16:50:15.451420800 -0400
> +@@ -27,7 +27,7 @@
> +
> + idevicebackup_SOURCES = idevicebackup.c
> + idevicebackup_CFLAGS = $(AM_CFLAGS)
> +-idevicebackup_LDFLAGS = $(AM_LDFLAGS)
> ++idevicebackup_LDFLAGS = $(AM_LDFLAGS) -lgcrypt
> + idevicebackup_LDADD = ../src/libimobiledevice.la
> +
> + idevicebackup2_SOURCES = idevicebackup2.c
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/CVE-2013-2142.patch libimobiledevice-1.1.5/debian/patches/CVE-2013-2142.patch
> --- libimobiledevice-1.1.1/debian/patches/CVE-2013-2142.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/CVE-2013-2142.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,308 @@
> +Description: fix insecure /tmp usage
> +Origin: backport, http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=42892465d4522cf19283b8a06bf48104bb387430
> +Origin: backport, http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=a2ddca0916ef776dbd0c6304ea36b4ca7a35302c
> +Origin: backport, http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=153fbe15c702d9c36551d84ee8cb25c4884fd701
> +Bug: http://libiphone.lighthouseapp.com/projects/27916-libiphone/tickets/331-insecure-tmp-directory-use
> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libimobiledevice/+bug/1164263
> +
> +Index: libimobiledevice-1.1.5/src/Makefile.am
> +===================================================================
> +--- libimobiledevice-1.1.5.orig/src/Makefile.am 2013-08-13 08:57:27.000000000 -0400
> ++++ libimobiledevice-1.1.5/src/Makefile.am 2013-08-13 09:01:46.365926782 -0400
> +@@ -28,7 +28,8 @@
> + restore.c restore.h\
> + diagnostics_relay.c diagnostics_relay.h\
> + heartbeat.c heartbeat.h\
> +- webinspector.c webinspector.h
> ++ webinspector.c webinspector.h\
> ++ utils.c utils.h
> +
> + if WIN32
> + libimobiledevice_la_LIBADD += -lole32
> +Index: libimobiledevice-1.1.5/src/userpref.c
> +===================================================================
> +--- libimobiledevice-1.1.5.orig/src/userpref.c 2013-02-25 10:25:04.000000000 -0500
> ++++ libimobiledevice-1.1.5/src/userpref.c 2013-08-13 09:03:13.877929023 -0400
> +@@ -26,6 +26,9 @@
> + #include <stdint.h>
> + #include <stdlib.h>
> + #include <string.h>
> ++#include <sys/types.h>
> ++#include <pwd.h>
> ++#include <unistd.h>
> + #ifdef HAVE_OPENSSL
> + #include <openssl/pem.h>
> + #include <openssl/rsa.h>
> +@@ -48,6 +51,7 @@
> +
> + #include "userpref.h"
> + #include "debug.h"
> ++#include "utils.h"
> +
> + #define LIBIMOBILEDEVICE_CONF_DIR "libimobiledevice"
> + #define LIBIMOBILEDEVICE_CONF_FILE "libimobiledevicerc"
> +@@ -65,7 +69,7 @@
> + #define DIR_SEP_S "/"
> + #endif
> +
> +-static char __config_dir[512] = {0, };
> ++static char *__config_dir = NULL;
> +
> + #ifdef WIN32
> + static char *userpref_utf16_to_utf8(wchar_t *unistr, long len, long *items_read, long *items_written)
> +@@ -102,23 +106,59 @@
> + }
> + #endif
> +
> +-static const char *userpref_get_tmp_dir()
> ++static char *get_home_dir_from_system(void)
> + {
> +- const char *cdir = getenv("TMPDIR");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- cdir = getenv("TMP");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- cdir = getenv("TEMP");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- return "/tmp";
> ++ long bufsize;
> ++ char *buf;
> ++ int error;
> ++ struct passwd pwd;
> ++ struct passwd *ppwd;
> ++ char *result = NULL;
> ++
> ++ bufsize = sysconf (_SC_GETPW_R_SIZE_MAX);
> ++
> ++ if (bufsize < 0)
> ++ bufsize = 1024;
> ++
> ++ buf = NULL;
> ++
> ++ do {
> ++ free (buf);
> ++ buf = malloc (bufsize);
> ++ if (!buf)
> ++ return NULL;
> ++
> ++ errno = 0;
> ++ error = getpwuid_r (getuid (), &pwd, buf, bufsize, &ppwd);
> ++
> ++ error = (error < 0) ? errno : error;
> ++
> ++ if (!ppwd) {
> ++ if (error == 0 || error == ENOENT)
> ++ break;
> ++ else if (bufsize > 32 * 1024)
> ++ break; /* Unreasonable size; let's bail out */
> ++
> ++ bufsize *= 2;
> ++ }
> ++ } while (!ppwd);
> ++
> ++ if (ppwd && ppwd->pw_dir)
> ++ result = strdup (ppwd->pw_dir);
> ++
> ++ free (buf);
> ++
> ++ return result;
> + }
> +
> + static const char *userpref_get_config_dir()
> + {
> +- if (__config_dir[0]) return __config_dir;
> ++ char *base_config_dir;
> ++ int use_dot_config;
> ++
> ++ if (__config_dir)
> ++ return __config_dir;
> ++
> + #ifdef WIN32
> + wchar_t path[MAX_PATH+1];
> + HRESULT hr;
> +@@ -129,38 +169,45 @@
> + if (hr == S_OK) {
> + b = SHGetPathFromIDListW (pidl, path);
> + if (b) {
> +- char *cdir = userpref_utf16_to_utf8 (path, wcslen(path), NULL, NULL);
> +- strcpy(__config_dir, cdir);
> +- free(cdir);
> ++ base_config_dir = userpref_utf16_to_utf8 (path, wcslen(path), NULL, NULL);
> + CoTaskMemFree (pidl);
> + }
> + }
> ++
> ++ use_dot_config = 0;
> + #else
> + const char *cdir = getenv("XDG_CONFIG_HOME");
> + if (!cdir) {
> + cdir = getenv("HOME");
> + if (!cdir || !cdir[0]) {
> +- const char *tdir = userpref_get_tmp_dir();
> +- strcpy(__config_dir, tdir);
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, "root");
> ++ base_config_dir = get_home_dir_from_system();
> ++ if (!base_config_dir)
> ++ return NULL;
> + } else {
> +- strcpy(__config_dir, cdir);
> ++ base_config_dir = strdup(cdir);
> + }
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, ".config");
> ++
> ++ use_dot_config = 1;
> + } else {
> +- strcpy(__config_dir, cdir);
> ++ base_config_dir = strdup(cdir);
> ++ use_dot_config = 0;
> + }
> + #endif
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, LIBIMOBILEDEVICE_CONF_DIR);
> +
> +- int i = strlen(__config_dir)-1;
> +- while ((i > 0) && (__config_dir[i] == DIR_SEP)) {
> +- __config_dir[i--] = '\0';
> ++ if (use_dot_config)
> ++ __config_dir = string_concat(base_config_dir, DIR_SEP_S, ".config", DIR_SEP_S, LIBIMOBILEDEVICE_CONF_DIR, NULL);
> ++ else
> ++ __config_dir = string_concat(base_config_dir, DIR_SEP_S, LIBIMOBILEDEVICE_CONF_DIR, NULL);
> ++
> ++ if (__config_dir) {
> ++ int i = strlen(__config_dir)-1;
> ++ while ((i > 0) && (__config_dir[i] == DIR_SEP)) {
> ++ __config_dir[i--] = '\0';
> ++ }
> + }
> +
> ++ free(base_config_dir);
> ++
> + return __config_dir;
> + }
> +
> +Index: libimobiledevice-1.1.5/src/utils.c
> +===================================================================
> +--- /dev/null 1970-01-01 00:00:00.000000000 +0000
> ++++ libimobiledevice-1.1.5/src/utils.c 2013-08-13 09:01:07.181925779 -0400
> +@@ -0,0 +1,85 @@
> ++/*
> ++ * utils.c
> ++ * Miscellaneous utilities for string manipulation
> ++ *
> ++ * Copyright (c) 2013 Federico Mena Quintero
> ++ *
> ++ * This library is free software; you can redistribute it and/or
> ++ * modify it under the terms of the GNU Lesser General Public
> ++ * License as published by the Free Software Foundation; either
> ++ * version 2.1 of the License, or (at your option) any later version.
> ++ *
> ++ * This library is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> ++ * Lesser General Public License for more details.
> ++ *
> ++ * You should have received a copy of the GNU Lesser General Public
> ++ * License along with this library; if not, write to the Free Software
> ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> ++ */
> ++
> ++#ifdef HAVE_CONFIG_H
> ++#include <config.h>
> ++#endif
> ++
> ++#include <stdarg.h>
> ++#include <stdlib.h>
> ++#include <string.h>
> ++
> ++#include "utils.h"
> ++
> ++/**
> ++ * Concatenate strings into a newly allocated string
> ++ *
> ++ * @note: Specify NULL for the last string in the varargs list
> ++ *
> ++ * @str: The first string in the list
> ++ * @...: Subsequent strings. Use NULL for the last item.
> ++ *
> ++ * @return a newly allocated string, or NULL if @str is NULL. This will also
> ++ * return NULL and set errno to ENOMEM if memory is exhausted.
> ++ */
> ++char *string_concat(const char *str, ...)
> ++{
> ++ size_t len;
> ++ va_list args;
> ++ char *s;
> ++ char *result;
> ++ char *dest;
> ++
> ++ if (!str)
> ++ return NULL;
> ++
> ++ /* Compute final length */
> ++
> ++ len = strlen(str) + 1; /* plus 1 for the null terminator */
> ++
> ++ va_start(args, str);
> ++ s = va_arg(args, char *);
> ++ while (s) {
> ++ len += strlen(s);
> ++ s = va_arg(args, char*);
> ++ }
> ++ va_end(args);
> ++
> ++ /* Concat each string */
> ++
> ++ result = malloc(len);
> ++ if (!result)
> ++ return NULL; /* errno remains set */
> ++
> ++ dest = result;
> ++
> ++ dest = stpcpy(dest, str);
> ++
> ++ va_start(args, str);
> ++ s = va_arg(args, char *);
> ++ while (s) {
> ++ dest = stpcpy(dest, s);
> ++ s = va_arg(args, char *);
> ++ }
> ++ va_end(args);
> ++
> ++ return result;
> ++}
> +Index: libimobiledevice-1.1.5/src/utils.h
> +===================================================================
> +--- /dev/null 1970-01-01 00:00:00.000000000 +0000
> ++++ libimobiledevice-1.1.5/src/utils.h 2013-08-13 09:01:07.181925779 -0400
> +@@ -0,0 +1,27 @@
> ++/*
> ++ * utils.h
> ++ * Miscellaneous utilities for string manipulation
> ++ *
> ++ * Copyright (c) 2013 Federico Mena Quintero
> ++ *
> ++ * This library is free software; you can redistribute it and/or
> ++ * modify it under the terms of the GNU Lesser General Public
> ++ * License as published by the Free Software Foundation; either
> ++ * version 2.1 of the License, or (at your option) any later version.
> ++ *
> ++ * This library is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> ++ * Lesser General Public License for more details.
> ++ *
> ++ * You should have received a copy of the GNU Lesser General Public
> ++ * License along with this library; if not, write to the Free Software
> ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> ++ */
> ++
> ++#ifndef __UTILS_H
> ++#define __UTILS_H
> ++
> ++char *string_concat(const char *str, ...);
> ++
> ++#endif
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/git_add_utils.patch libimobiledevice-1.1.5/debian/patches/git_add_utils.patch
> --- libimobiledevice-1.1.1/debian/patches/git_add_utils.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/git_add_utils.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,148 @@
> +From 42892465d4522cf19283b8a06bf48104bb387430 Mon Sep 17 00:00:00 2001
> +From: Federico Mena Quintero
> +Date: Sat, 29 Jun 2013 01:02:20 +0000
> +Subject: common: Add utils.[ch] with a string_concat() function
> +
> +Instead of doing malloc() and repeated strcat(), which is an O(n^2) way to concatenate multiple strings,
> +we define a single O(total_len) function that uses stpcpy(). This will also make the rest of the code
> +more legible and safer.
> +---
> +diff --git a/common/Makefile.am b/common/Makefile.am
> +index 664e13b..20bfe4d 100644
> +--- a/common/Makefile.am
> ++++ b/common/Makefile.am
> +@@ -10,7 +10,8 @@ libinternalcommon_la_SOURCES = \
> + socket.c socket.h \
> + thread.c thread.h \
> + debug.c debug.h \
> +- userpref.c userpref.h
> ++ userpref.c userpref.h \
> ++ utils.c utils.h
> +
> + if WIN32
> + libinternalcommon_la_LIBADD += -lole32
> +diff --git a/common/utils.c b/common/utils.c
> +new file mode 100644
> +index 0000000..b2b3768
> +--- /dev/null
> ++++ b/common/utils.c
> +@@ -0,0 +1,85 @@
> ++/*
> ++ * utils.c
> ++ * Miscellaneous utilities for string manipulation
> ++ *
> ++ * Copyright (c) 2013 Federico Mena Quintero
> ++ *
> ++ * This library is free software; you can redistribute it and/or
> ++ * modify it under the terms of the GNU Lesser General Public
> ++ * License as published by the Free Software Foundation; either
> ++ * version 2.1 of the License, or (at your option) any later version.
> ++ *
> ++ * This library is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> ++ * Lesser General Public License for more details.
> ++ *
> ++ * You should have received a copy of the GNU Lesser General Public
> ++ * License along with this library; if not, write to the Free Software
> ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> ++ */
> ++
> ++#ifdef HAVE_CONFIG_H
> ++#include <config.h>
> ++#endif
> ++
> ++#include <stdarg.h>
> ++#include <stdlib.h>
> ++#include <string.h>
> ++
> ++#include "utils.h"
> ++
> ++/**
> ++ * Concatenate strings into a newly allocated string
> ++ *
> ++ * @note: Specify NULL for the last string in the varargs list
> ++ *
> ++ * @str: The first string in the list
> ++ * @...: Subsequent strings. Use NULL for the last item.
> ++ *
> ++ * @return a newly allocated string, or NULL if @str is NULL. This will also
> ++ * return NULL and set errno to ENOMEM if memory is exhausted.
> ++ */
> ++char *string_concat(const char *str, ...)
> ++{
> ++ size_t len;
> ++ va_list args;
> ++ char *s;
> ++ char *result;
> ++ char *dest;
> ++
> ++ if (!str)
> ++ return NULL;
> ++
> ++ /* Compute final length */
> ++
> ++ len = strlen(str) + 1; /* plus 1 for the null terminator */
> ++
> ++ va_start(args, str);
> ++ s = va_arg(args, char *);
> ++ while (s) {
> ++ len += strlen(s);
> ++ s = va_arg(args, char*);
> ++ }
> ++ va_end(args);
> ++
> ++ /* Concat each string */
> ++
> ++ result = malloc(len);
> ++ if (!result)
> ++ return NULL; /* errno remains set */
> ++
> ++ dest = result;
> ++
> ++ dest = stpcpy(dest, str);
> ++
> ++ va_start(args, str);
> ++ s = va_arg(args, char *);
> ++ while (s) {
> ++ dest = stpcpy(dest, s);
> ++ s = va_arg(args, char *);
> ++ }
> ++ va_end(args);
> ++
> ++ return result;
> ++}
> +diff --git a/common/utils.h b/common/utils.h
> +new file mode 100644
> +index 0000000..129f974
> +--- /dev/null
> ++++ b/common/utils.h
> +@@ -0,0 +1,27 @@
> ++/*
> ++ * utils.h
> ++ * Miscellaneous utilities for string manipulation
> ++ *
> ++ * Copyright (c) 2013 Federico Mena Quintero
> ++ *
> ++ * This library is free software; you can redistribute it and/or
> ++ * modify it under the terms of the GNU Lesser General Public
> ++ * License as published by the Free Software Foundation; either
> ++ * version 2.1 of the License, or (at your option) any later version.
> ++ *
> ++ * This library is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> ++ * Lesser General Public License for more details.
> ++ *
> ++ * You should have received a copy of the GNU Lesser General Public
> ++ * License along with this library; if not, write to the Free Software
> ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> ++ */
> ++
> ++#ifndef __UTILS_H
> ++#define __UTILS_H
> ++
> ++char *string_concat(const char *str, ...);
> ++
> ++#endif
> +
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/git_explicitly_cast_ssl_enabled.patch libimobiledevice-1.1.5/debian/patches/git_explicitly_cast_ssl_enabled.patch
> --- libimobiledevice-1.1.1/debian/patches/git_explicitly_cast_ssl_enabled.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/git_explicitly_cast_ssl_enabled.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,20 @@
> +From 62ab50f64fa210304338a5bfccdc6a26fac5f0ec Mon Sep 17 00:00:00 2001
> +From: Dawn K. Isabel
> +Date: Fri, 31 May 2013 03:36:52 +0000
> +Subject: cython: Explicitly cast ssl_enabled when calling lockdownd_start_session
> +
> +---
> +diff --git a/cython/lockdown.pxi b/cython/lockdown.pxi
> +index 6fb49a3..ee674b4 100644
> +--- a/cython/lockdown.pxi
> ++++ b/cython/lockdown.pxi
> +@@ -221,7 +221,7 @@ cdef class LockdownClient(PropertyListService):
> + char* c_session_id = NULL
> + bint ssl_enabled
> + bytes session_id
> +- err = lockdownd_start_session(self._c_client, host_id, &c_session_id, &ssl_enabled)
> ++ err = lockdownd_start_session(self._c_client, host_id, &c_session_id, <int *>&ssl_enabled)
> + try:
> + self.handle_error(err)
> +
> +
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/git_fix_insecure_tmp.patch libimobiledevice-1.1.5/debian/patches/git_fix_insecure_tmp.patch
> --- libimobiledevice-1.1.1/debian/patches/git_fix_insecure_tmp.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/git_fix_insecure_tmp.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,186 @@
> +From a2ddca0916ef776dbd0c6304ea36b4ca7a35302c Mon Sep 17 00:00:00 2001
> +From: Federico Mena Quintero
> +Date: Tue, 02 Jul 2013 18:38:36 +0000
> +Subject: Bug #331 - Don't create a /tmp/root directory insecurely
> +
> +When finding the user's home directory to generate a subdirectory in $HOME/.config, we would
> +fall back to /tmp if there were no environment variables for HOME or XDG_CONFIG_HOME.
> +
> +Since libimobiledevice gets used by upower, and since upowerd runs as root, this would cause
> +a /tmp/root directory to be created insecurely, leaving upowerd vulnerable to a symlink attack.
> +
> +Now we fall back to getpwuid_r() to find the user's home directory if it is not provided
> +in environment variables - this is the case when upowerd gets run via systemd, for example.
> +The result is that we'll end up creating /root/.config, a safe directory, since regular
> +users cannot create symlinks in /root.
> +
> +In the future we'll need a way for libimobiledevice to find where to store its pairing data
> +on behalf of the console user, rather than writing it to /root.
> +
> +http://libiphone.lighthouseapp.com/projects/27916-libiphone/tickets/331-insecure-tmp-directory-use
> +---
> +diff --git a/src/userpref.c b/src/userpref.c
> +index d363b0e..ab3a3cf 100644
> +--- a/src/userpref.c
> ++++ b/src/userpref.c
> +@@ -26,6 +26,9 @@
> + #include <stdint.h>
> + #include <stdlib.h>
> + #include <string.h>
> ++#include <sys/types.h>
> ++#include <pwd.h>
> ++#include <unistd.h>
> + #ifdef HAVE_OPENSSL
> + #include <openssl/pem.h>
> + #include <openssl/rsa.h>
> +@@ -48,6 +51,7 @@
> +
> + #include "userpref.h"
> + #include "debug.h"
> ++#include "utils.h"
> +
> + #define LIBIMOBILEDEVICE_CONF_DIR "libimobiledevice"
> + #define LIBIMOBILEDEVICE_CONF_FILE "libimobiledevicerc"
> +@@ -65,7 +69,7 @@
> + #define DIR_SEP_S "/"
> + #endif
> +
> +-static char __config_dir[512] = {0, };
> ++static char *__config_dir = NULL;
> +
> + #ifdef WIN32
> + static char *userpref_utf16_to_utf8(wchar_t *unistr, long len, long *items_read, long *items_written)
> +@@ -103,22 +107,58 @@ static char *userpref_utf16_to_utf8(wchar_t *unistr, long len, long *items_read,
> + #endif
> +
> +-static const char *userpref_get_tmp_dir()
> ++static char *get_home_dir_from_system(void)
> + {
> +- const char *cdir = getenv("TMPDIR");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- cdir = getenv("TMP");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- cdir = getenv("TEMP");
> +- if (cdir && cdir[0])
> +- return cdir;
> +- return "/tmp";
> ++ long bufsize;
> ++ char *buf;
> ++ int error;
> ++ struct passwd pwd;
> ++ struct passwd *ppwd;
> ++ char *result = NULL;
> ++
> ++ bufsize = sysconf (_SC_GETPW_R_SIZE_MAX);
> ++
> ++ if (bufsize < 0)
> ++ bufsize = 1024;
> ++
> ++ buf = NULL;
> ++
> ++ do {
> ++ free (buf);
> ++ buf = malloc (bufsize);
> ++ if (!buf)
> ++ return NULL;
> ++
> ++ errno = 0;
> ++ error = getpwuid_r (getuid (), &pwd, buf, bufsize, &ppwd);
> ++
> ++ error = (error < 0) ? errno : error;
> ++
> ++ if (!ppwd) {
> ++ if (error == 0 || error == ENOENT)
> ++ break;
> ++ else if (bufsize > 32 * 1024)
> ++ break; /* Unreasonable size; let's bail out */
> ++
> ++ bufsize *= 2;
> ++ }
> ++ } while (!ppwd);
> ++
> ++ if (ppwd && ppwd->pw_dir)
> ++ result = strdup (ppwd->pw_dir);
> ++
> ++ free (buf);
> ++
> ++ return result;
> + }
> +
> + static const char *userpref_get_config_dir()
> + {
> +- if (__config_dir[0]) return __config_dir;
> ++ char *base_config_dir;
> ++ int use_dot_config;
> ++
> ++ if (__config_dir)
> ++ return __config_dir;
> ++
> + #ifdef WIN32
> + wchar_t path[MAX_PATH+1];
> + HRESULT hr;
> +@@ -131,38 +171,45 @@ static const char *userpref_get_config_dir()
> + if (hr == S_OK) {
> + b = SHGetPathFromIDListW (pidl, path);
> + if (b) {
> +- char *cdir = userpref_utf16_to_utf8 (path, wcslen(path), NULL, NULL);
> +- strcpy(__config_dir, cdir);
> +- free(cdir);
> ++ base_config_dir = userpref_utf16_to_utf8 (path, wcslen(path), NULL, NULL);
> + CoTaskMemFree (pidl);
> + }
> + }
> ++
> ++ use_dot_config = 0;
> + #else
> + const char *cdir = getenv("XDG_CONFIG_HOME");
> + if (!cdir) {
> + cdir = getenv("HOME");
> + if (!cdir || !cdir[0]) {
> +- const char *tdir = userpref_get_tmp_dir();
> +- strcpy(__config_dir, tdir);
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, "root");
> ++ base_config_dir = get_home_dir_from_system();
> ++ if (!base_config_dir)
> ++ return NULL;
> + } else {
> +- strcpy(__config_dir, cdir);
> ++ base_config_dir = strdup(cdir);
> + }
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, ".config");
> ++
> ++ use_dot_config = 1;
> + } else {
> +- strcpy(__config_dir, cdir);
> ++ base_config_dir = strdup(cdir);
> ++ use_dot_config = 0;
> + }
> + #endif
> +- strcat(__config_dir, DIR_SEP_S);
> +- strcat(__config_dir, LIBIMOBILEDEVICE_CONF_DIR);
> +
> +- int i = strlen(__config_dir)-1;
> +- while ((i > 0) && (__config_dir[i] == DIR_SEP)) {
> +- __config_dir[i--] = '\0';
> ++ if (use_dot_config)
> ++ __config_dir = string_concat(base_config_dir, DIR_SEP_S, ".config", DIR_SEP_S, LIBIMOBILEDEVICE_CONF_DIR);
> ++ else
> ++ __config_dir = string_concat(base_config_dir, DIR_SEP_S, LIBIMOBILEDEVICE_CONF_DIR);
> ++
> ++ if (__config_dir) {
> ++ int i = strlen(__config_dir)-1;
> ++ while ((i > 0) && (__config_dir[i] == DIR_SEP)) {
> ++ __config_dir[i--] = '\0';
> ++ }
> + }
> +
> ++ free(base_config_dir);
> ++
> + return __config_dir;
> + }
> +
> +
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/link_against_pthread.patch libimobiledevice-1.1.5/debian/patches/link_against_pthread.patch
> --- libimobiledevice-1.1.1/debian/patches/link_against_pthread.patch 1970-01-01 01:00:00.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/link_against_pthread.patch 2013-10-12 17:53:12.000000000 +0200
> @@ -0,0 +1,37 @@
> +Description: Fix underlinking against pthread
> +Author: Jeremy Bicha <jbicha at ubuntu.com>
> +Index: libimobiledevice-1.1.5/dev/Makefile.am
> +===================================================================
> +--- libimobiledevice-1.1.5.orig/dev/Makefile.am 2013-07-31 00:44:44.733867334 -0400
> ++++ libimobiledevice-1.1.5/dev/Makefile.am 2013-07-31 00:44:44.725867335 -0400
> +@@ -18,7 +18,7 @@
> +
> + afccheck_SOURCES = afccheck.c
> + afccheck_CFLAGS = $(AM_CFLAGS)
> +-afccheck_LDFLAGS = $(AM_LDFLAGS)
> ++afccheck_LDFLAGS = $(AM_LDFLAGS) -lpthread
> + afccheck_LDADD = ../src/libimobiledevice.la
> +
> + filerelaytest_SOURCES = filerelaytest.c
> +Index: libimobiledevice-1.1.5/tools/Makefile.am
> +===================================================================
> +--- libimobiledevice-1.1.5.orig/tools/Makefile.am 2013-07-31 00:44:44.733867334 -0400
> ++++ libimobiledevice-1.1.5/tools/Makefile.am 2013-07-31 00:45:26.945865569 -0400
> +@@ -17,7 +17,7 @@
> +
> + idevicesyslog_SOURCES = idevicesyslog.c
> + idevicesyslog_CFLAGS = $(AM_CFLAGS)
> +-idevicesyslog_LDFLAGS = $(AM_LDFLAGS)
> ++idevicesyslog_LDFLAGS = $(AM_LDFLAGS) -lpthread
> + idevicesyslog_LDADD = ../src/libimobiledevice.la
> +
> + idevice_id_SOURCES = idevice_id.c
> +@@ -62,7 +62,7 @@
> +
> + idevicedebugserverproxy_SOURCES = idevicedebugserverproxy.c socket.c thread.c
> + idevicedebugserverproxy_CFLAGS = $(AM_CFLAGS)
> +-idevicedebugserverproxy_LDFLAGS = $(AM_LDFLAGS)
> ++idevicedebugserverproxy_LDFLAGS = $(AM_LDFLAGS) -lpthread
> + idevicedebugserverproxy_LDADD = ../src/libimobiledevice.la
> +
> + idevicediagnostics_SOURCES = idevicediagnostics.c
> diff -NurBbp libimobiledevice-1.1.1/debian/patches/series libimobiledevice-1.1.5/debian/patches/series
> --- libimobiledevice-1.1.1/debian/patches/series 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/patches/series 2013-10-12 17:53:12.000000000 +0200
> @@ -1,7 +1,7 @@
> -00git_ios5_support.patch
> 01-libs.private.patch
> -02-add-missing-linking.patch
> -03_ac_pkg_swig_m4_fixed.patch
> -04_libplist_DSO_linking.patch
> 05_remove_gcry_need.patch
> -06_git_ios5_handle_error.patch
> +09_use_python_config.patch
> +10_libgcrypt_underlinkage.patch
> +link_against_pthread.patch
> +git_explicitly_cast_ssl_enabled.patch
> +CVE-2013-2142.patch
> diff -NurBbp libimobiledevice-1.1.1/debian/python-imobiledevice.install libimobiledevice-1.1.5/debian/python-imobiledevice.install
> --- libimobiledevice-1.1.1/debian/python-imobiledevice.install 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/python-imobiledevice.install 2013-10-12 17:53:12.000000000 +0200
> @@ -1 +1 @@
> -usr/lib/python*/*-packages/imobiledevice
> +usr/lib/python*/*-packages/*.so
> diff -NurBbp libimobiledevice-1.1.1/debian/rules libimobiledevice-1.1.5/debian/rules
> --- libimobiledevice-1.1.1/debian/rules 2012-03-18 16:26:17.000000000 +0100
> +++ libimobiledevice-1.1.5/debian/rules 2013-10-12 17:53:12.000000000 +0200
> @@ -15,7 +15,8 @@ configure_flags += \
> --prefix=/usr \
> --sysconfdir=/etc --host=$(DEB_HOST_GNU_TYPE) \
> --build=$(DEB_BUILD_GNU_TYPE) \
> - --enable-dev-tools
> + --enable-dev-tools \
> + --disable-openssl --disable-silent-rules
>
> %:
> dh --with python2 --with autoreconf $@
> @@ -27,14 +28,16 @@ override_dh_install:
> #Remove .la files.
> rm -rf $(CURDIR)/debian/tmp/usr/lib/*.la
> rm -rf $(CURDIR)/debian/tmp/usr/lib/python*/*-packages/imobiledevice/*.la
> + rm -rf $(CURDIR)/debian/tmp/usr/lib/python*/*-packages/*.la
> #Remove .a files from python bindings.
> rm -rf $(CURDIR)/debian/tmp//usr/lib/python*/dist-packages/imobiledevice/*.a
> + rm -rf $(CURDIR)/debian/tmp//usr/lib/python*/dist-packages/*.a
> #Remove installed man pages, installed by *.manpages
> rm -f $(CURDIR)/debian/tmp/usr/share/man/man1/*.1
> dh_install --fail-missing
>
> override_dh_strip:
> - dh_strip --dbg-package=libimobiledevice2-dbg
> + dh_strip --dbg-package=libimobiledevice4-dbg
>
> override_dh_python2:
> # Only build for the current version of python, not all supported.
--
http://wiki.debian.org/FAQsFromDebianUser
Offtopic discussions among Debian users and developers:
http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic
http://nuvreauspam.ro/gpg-transition.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-gtkpod-devel/attachments/20131013/d07bd34f/attachment-0003.sig>
More information about the Pkg-gtkpod-devel
mailing list