#1076544 Built with wrong SSL lib, won't talk to iOS 5

Package:
libimobiledevice6
Source:
libimobiledevice6
Description:
Library for communicating with iPhone and other Apple devices
Submitter:
Adam Goldman
Date:
2026-01-12 06:35:02 UTC
Severity:
normal
#1076544#5
Date:
2024-07-18 09:42:04 UTC
From:
To:
On Debian Bookworm, idevice* will communicate with an iOS 17 device, but
not with an iOS 5 device.

When running usbmuxd in the foreground, it prints the following error
when the iOS 5 device is plugged in:

[15:58:20.277][1] preflight_worker_handle_device_add: ERROR StartSession failed on device 6e8c5ae7c41b3fc71a6be705f1303343c7db53c6, lockdown error -5

From that point, "idevice_id -l" produces no output, and ideviceinfo
says "ERROR: No device found!".

Apparently this is because iOS 5 uses SSLv3 to encrypt communications
over the USB cable, but OpenSSL has intentionally removed SSLv3
interoperability.

I installed libgnutls28-dev and libgcrypt20-dev, downloaded the
libimobiledevice source package, added --disable-openssl to
configure_flags, and built the libimobiledevice6 package. After I
installed the modified libimobiledevice6 package and restarted usbmuxd,
it no longer printed an error when the iOS 5 device was plugged in, and
I was able to back up the device with idevicebackup2. I also tested the
modified libimobiledevice6 with an iOS 17 device, and I was able to see
that device with idevice_id, mount it with ifuse and copy files from the
camera roll.

I believe this is a regression that was introduced in 1.3.0-4 by
changing from GnuTLS to OpenSSL. The corresponding 1.3.0-4 change should
be reverted. To prevent this from happening again, a comment should be
added to debian/rules above configure_flags, explaining why we build
against GnuTLS instead of OpenSSL.

#1076544#10
Date:
2026-01-12 06:32:55 UTC
From:
To:
Dear Maintainer,

After following the steps in the initial report, I can confirm that they fix
the issue for my iPod Touch (2nd Generation) which uses iOS 4.

I've attached a diff with the needed debian/control and debian/rules changes.
It would be nice if this was fixed in the archive, so people with legacy iOS
devices don't have to try and hunt down what "lockdown error -5" means.

(Maintainer Note: The changed dependencies in this reply are because I rebuilt
and
installed the fixed package on my system with the attached diff.

libgcrypt20 and libgnutls30, as of this reply, are *NOT* dependencies of
libimobiledevice6 in
the Debian archive, and they *need to be* for this bug to be fixed.)