Package: release.debian.org Severity: normal Tags: buster User: release.debian....@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 <cor...@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 <nik...@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