--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: buster-pu: package libimobiledevice/1.2.1~git20181030.92c5462-2
- From: Yves-Alexis Perez <corsac@debian.org>
- Date: Sun, 29 Sep 2019 18:48:30 +0200
- Message-id: <156977571017.14493.2717286457896785794.reportbug@scapa>
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
Hi,
libimobiledevice in Buster has some issue with devices running iOS 13+.
Backup using idevicebackup2 never finishes, apparently because of some
behavior change in newer iOS version.
With coordination with upstream
(https://github.com/libimobiledevice/libimobiledevice/issues/848) a
small fix was identified.
Would it be possible to upload a fixed package to Buster at some point?
The fix is not yet in sid (a previous package is waiting in NEW, I'll
upload a package fix soon) so it's more a pre-approval.
The debdiff is attached for review.
Thanks in advance,
--
Yves-Alexis
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (450, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8), LANGUAGE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Differences in libimobiledevice between 1.2.1~git20181030.92c5462-1 and 1.2.1~git20181030.92c5462-2
diff -Nru libimobiledevice-1.2.1~git20181030.92c5462/debian/changelog libimobiledevice-1.2.1~git20181030.92c5462/debian/changelog
--- libimobiledevice-1.2.1~git20181030.92c5462/debian/changelog 2019-01-08 16:24:55.000000000 +0100
+++ libimobiledevice-1.2.1~git20181030.92c5462/debian/changelog 2019-09-29 17:14:37.000000000 +0200
@@ -1,3 +1,10 @@
+libimobiledevice (1.2.1~git20181030.92c5462-2) UNRELEASED; urgency=medium
+
+ * d/patches: properly handle partial SSL writes
+ * d/gbp.conf: follow buster branch
+
+ -- Yves-Alexis Perez <corsac@debian.org> Sun, 29 Sep 2019 17:14:37 +0200
+
libimobiledevice (1.2.1~git20181030.92c5462-1) unstable; urgency=medium
* New upstream snapshot
diff -Nru libimobiledevice-1.2.1~git20181030.92c5462/debian/gbp.conf libimobiledevice-1.2.1~git20181030.92c5462/debian/gbp.conf
--- libimobiledevice-1.2.1~git20181030.92c5462/debian/gbp.conf 2019-01-08 16:24:55.000000000 +0100
+++ libimobiledevice-1.2.1~git20181030.92c5462/debian/gbp.conf 2019-09-29 17:14:37.000000000 +0200
@@ -1,5 +1,5 @@
[DEFAULT]
-debian-branch = debian/master
+debian-branch = debian/buster
upstream-branch = upstream/master
pristine-tar = True
diff -Nru libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/0003-idevice-properly-handle-partial-SSL-writes.patch libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/0003-idevice-properly-handle-partial-SSL-writes.patch
--- libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/0003-idevice-properly-handle-partial-SSL-writes.patch 1970-01-01 01:00:00.000000000 +0100
+++ libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/0003-idevice-properly-handle-partial-SSL-writes.patch 2019-09-29 17:14:37.000000000 +0200
@@ -0,0 +1,46 @@
+From: Nikias Bassen <nikias@gmx.li>
+Date: Sun, 29 Sep 2019 17:10:46 +0200
+Subject: idevice: properly handle partial SSL writes
+
+---
+ src/idevice.c | 23 +++++++++++++++--------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/src/idevice.c b/src/idevice.c
+index cb9bb5c..dd47e67 100644
+--- a/src/idevice.c
++++ b/src/idevice.c
+@@ -366,18 +366,25 @@ LIBIMOBILEDEVICE_API idevice_error_t idevice_connection_send(idevice_connection_
+ }
+
+ if (connection->ssl_data) {
++ uint32_t sent = 0;
++ while (sent < len) {
+ #ifdef HAVE_OPENSSL
+- int sent = SSL_write(connection->ssl_data->session, (const void*)data, (int)len);
+- debug_info("SSL_write %d, sent %d", len, sent);
++ int s = SSL_write(connection->ssl_data->session, (const void*)(data+sent), (int)(len-sent));
+ #else
+- ssize_t sent = gnutls_record_send(connection->ssl_data->session, (void*)data, (size_t)len);
++ ssize_t s = gnutls_record_send(connection->ssl_data->session, (void*)(data+sent), (size_t)(len-sent));
+ #endif
+- if ((uint32_t)sent == (uint32_t)len) {
+- *sent_bytes = sent;
+- return IDEVICE_E_SUCCESS;
++ if (s < 0) {
++ break;
++ }
++ sent += s;
+ }
+- *sent_bytes = 0;
+- return IDEVICE_E_SSL_ERROR;
++ debug_info("SSL_write %d, sent %d", len, sent);
++ if (sent < len) {
++ *sent_bytes = 0;
++ return IDEVICE_E_SSL_ERROR;
++ }
++ *sent_bytes = sent;
++ return IDEVICE_E_SUCCESS;
+ }
+ return internal_connection_send(connection, data, len, sent_bytes);
+ }
diff -Nru libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/series libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/series
--- libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/series 2019-01-08 16:24:55.000000000 +0100
+++ libimobiledevice-1.2.1~git20181030.92c5462/debian/patches/series 2019-09-29 17:14:37.000000000 +0200
@@ -1,2 +1,3 @@
0001-Drop-obsolete-m4-macros.patch
0002-Use-_LIBS-instead-of-_LDFLAGS-for-cython-link.patch
+0003-idevice-properly-handle-partial-SSL-writes.patch
--- End Message ---