Package: libssh-4
Version: 0.11.1-1
Severity: important
Tags: upstream
Control: affects -1 = qemu-block-extra qemu guestmount guestfish

Dear Maintainer,

With libssh-4 (0.11.1) qemu fails to access remote disk images via
ssh. After downgrading to libssh-4 (0.10.6-3) the VM starts again as
expected.


To reproduce the issue on a amd64 machine
* make sure you have sshd running
* make sure sure can ssh to localhost
* make sure you have ssh-agent running and preloaded with your private key
* apt install qemu-system-x86
* download and unpack the amd64-pc disk image from 
https://people.debian.org/~gio/dqib/
* cd to the dqib_amd64-pc directory resulting from unpacking
* run

    qemu-system-x86_64 -machine 'pc' -enable-kvm -m 1G \
    -drive 
file=ssh://<user>@localhost/home/<user>/.../dqib_amd64-pc/image.qcow2 \
    -kernel kernel -initrd initrd -nographic -append "root=LABEL=rootfs 
console=ttyS0"
 
With libssh-4 (0.11.1-1) qemu-system-x86_64 exits with error message

    Could not read image for determining its format: Input/output error

With libssh-4 (0.10-6-3) the VM starts up.


For guestfish and guestmount downgrading libssh-4 does not help.

Running questmount with libssh-4 (0.11.1-1)

    guestmount -i -a 
ssh://<user>@localhost/home/<user>/.../dqib_amd64-pc/image.qcow2 <mount point>

returns (amongst others)

    libguestfs: error: appliance closed the connection unexpectedly.

Running questmount with libssh-4 (0.10-6-3) returns

    guestmount: /lib/x86_64-linux-gnu/libssh.so.4: version `LIBSSH_4_10_0' not 
found (required by /lib/x86_64-linux-gnu/libvirt.so.0)


The attached report, generated using abi-compliance-checker, reveals
problematic changes to data types
    ssh_callbacks_struct, ssh_channel_callbacks_struct in callbacks.h
    sftp_session_struct in sftp.h

Hope this helps to fix the issue.

Sven

-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.2-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8),
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libssh-4 depends on:
ii  libc6             2.40-3
ii  libgssapi-krb5-2  1.21.3-3
ii  libssl3t64        3.3.2-1
ii  zlib1g            1:1.3.dfsg+really1.3.1-1

libssh-4 recommends no packages.

libssh-4 suggests no packages.

-- no debconf information

-- 
GPG Fingerprint
3DF5 E8AA 43FC 9FDF D086 F195 ADF5 0EDA F8AD D585
Title: libssh: 1.10.6 to 1.11.0 compatibility report

API compatibility report for the libssh library between 1.10.6 and 1.11.0 versions on x86_64


Test Info


Library Namelibssh
Version #11.10.6
Version #21.11.0
Archx86_64
GCC Version14
SubjectBinary Compatibility

Test Results


Total Header Files8
Total Libraries1
Total Symbols / Types424 / 156
Compatibility 100%

Problem Summary


SeverityCount
Added Symbols-18
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium0
Low7
Problems with
Symbols
High0
Medium0
Low0
Problems with
Constants
Low0
Other Changes
in Data Types
-8

Added Symbols  18 


libssh.h, libssh.so.4.10.1
ssh_channel_get_exit_state ( ssh_channel channel, uint32_t* pexit_code, char** pexit_signal, int* pcore_dumped ) @@ LIBSSH_4_10_0
ssh_channel_request_pty_size_modes ( ssh_channel channel, char const* term, int cols, int rows, unsigned char const* modes, size_t modes_len ) @@ LIBSSH_4_10_0
ssh_pki_export_privkey_base64_format ( ssh_key const privkey, char const* passphrase, ssh_auth_callback auth_fn, void* auth_data, char** b64_key, enum ssh_file_format_e format ) @@ LIBSSH_4_10_0
ssh_pki_export_privkey_file_format ( ssh_key const privkey, char const* passphrase, ssh_auth_callback auth_fn, void* auth_data, char const* filename, enum ssh_file_format_e format ) @@ LIBSSH_4_10_0
ssh_request_no_more_sessions ( ssh_session session ) @@ LIBSSH_4_10_0

sftp.h, libssh.so.4.10.1
sftp_aio_begin_read ( sftp_file file, size_t len, sftp_aio* aio ) @@ LIBSSH_4_10_0
sftp_aio_begin_write ( sftp_file file, void const* buf, size_t len, sftp_aio* aio ) @@ LIBSSH_4_10_0
sftp_aio_free ( sftp_aio aio ) @@ LIBSSH_4_10_0
sftp_aio_wait_read ( sftp_aio* aio, void* buf, size_t buf_size ) @@ LIBSSH_4_10_0
sftp_aio_wait_write ( sftp_aio* aio ) @@ LIBSSH_4_10_0
sftp_expand_path ( sftp_session sftp, char const* path ) @@ LIBSSH_4_10_0
sftp_hardlink ( sftp_session sftp, char const* oldpath, char const* newpath ) @@ LIBSSH_4_10_0
sftp_home_directory ( sftp_session sftp, char const* username ) @@ LIBSSH_4_10_0
sftp_limits ( sftp_session sftp ) @@ LIBSSH_4_10_0
sftp_limits_free ( sftp_limits_t limits ) @@ LIBSSH_4_10_0
sftp_lsetstat ( sftp_session sftp, char const* file, sftp_attributes attr ) @@ LIBSSH_4_10_0

sftpserver.h, libssh.so.4.10.1
sftp_channel_default_data_callback ( ssh_session session, ssh_channel channel, void* data, uint32_t len, int is_stderr, void* userdata ) @@ LIBSSH_4_10_0
sftp_channel_default_subsystem_request ( ssh_session session, ssh_channel channel, char const* subsystem, void* userdata ) @@ LIBSSH_4_10_0

to the top

Problems with Data Types, Low Severity  7 


callbacks.h
[+] struct ssh_callbacks_struct  2 
[+] struct ssh_channel_callbacks_struct  3 

sftp.h
[+] struct sftp_session_struct  2 

to the top

Other Changes in Data Types  8 


libssh.h
[+] enum ssh_keycmp_e  1 
[+] enum ssh_options_e  6 

server.h
[+] enum ssh_bind_options_e  1 

to the top

Header Files  8 


callbacks.h
legacy.h
libssh.h
libssh_version.h
libsshpp.hpp
server.h
sftp.h
ssh2.h

to the top

Libraries  1 


libssh.so.4.9.6

to the top



Test Info


Library Namelibssh
Version #11.10.6
Version #21.11.0
Archx86_64
SubjectSource Compatibility

Test Results


Total Header Files8
Total Libraries1
Total Symbols / Types502 / 163
Compatibility 100%

Problem Summary


SeverityCount
Added Symbols-18
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium0
Low4
Problems with
Symbols
High0
Medium0
Low0
Problems with
Constants
Low2
Other Changes
in Data Types
-8

Added Symbols  18 


libssh.h
ssh_channel_get_exit_state ( ssh_channel channel, uint32_t* pexit_code, char** pexit_signal, int* pcore_dumped )
ssh_channel_request_pty_size_modes ( ssh_channel channel, char const* term, int cols, int rows, unsigned char const* modes, size_t modes_len )
ssh_pki_export_privkey_base64_format ( ssh_key const privkey, char const* passphrase, ssh_auth_callback auth_fn, void* auth_data, char** b64_key, enum ssh_file_format_e format )
ssh_pki_export_privkey_file_format ( ssh_key const privkey, char const* passphrase, ssh_auth_callback auth_fn, void* auth_data, char const* filename, enum ssh_file_format_e format )
ssh_request_no_more_sessions ( ssh_session session )

sftp.h
sftp_aio_begin_read ( sftp_file file, size_t len, sftp_aio* aio )
sftp_aio_begin_write ( sftp_file file, void const* buf, size_t len, sftp_aio* aio )
sftp_aio_free ( sftp_aio aio )
sftp_aio_wait_read ( sftp_aio* aio, void* buf, size_t buf_size )
sftp_aio_wait_write ( sftp_aio* aio )
sftp_expand_path ( sftp_session sftp, char const* path )
sftp_hardlink ( sftp_session sftp, char const* oldpath, char const* newpath )
sftp_home_directory ( sftp_session sftp, char const* username )
sftp_limits ( sftp_session sftp )
sftp_limits_free ( sftp_limits_t limits )
sftp_lsetstat ( sftp_session sftp, char const* file, sftp_attributes attr )

sftpserver.h
sftp_channel_default_data_callback ( ssh_session session, ssh_channel channel, void* data, uint32_t len, int is_stderr, void* userdata )
sftp_channel_default_subsystem_request ( ssh_session session, ssh_channel channel, char const* subsystem, void* userdata )

to the top

Problems with Data Types, Low Severity  4 


callbacks.h
[+] struct ssh_callbacks_struct  1 
[+] struct ssh_channel_callbacks_struct  2 

sftp.h
[+] struct sftp_session_struct  1 

to the top

Problems with Constants, Low Severity  2 


libssh_version.h
[+] LIBSSH_VERSION_MICRO
[+] LIBSSH_VERSION_MINOR

to the top

Other Changes in Data Types  8 


libssh.h
[+] enum ssh_keycmp_e  1 
[+] enum ssh_options_e  6 

server.h
[+] enum ssh_bind_options_e  1 

to the top

Header Files  8 


callbacks.h
legacy.h
libssh.h
libssh_version.h
libsshpp.hpp
server.h
sftp.h
ssh2.h

to the top

Libraries  1 


libssh.so.4.9.6

to the top





Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to