[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

0.9.3 version regressions


Hello,
we have been experiencing some major behavior changes compared to previous versions (0.9.2 still worked fine) and I would really appreciate some help because I have tried debugging these problems without much success.

1)
We have a test where an SSH key is used for authentication. Some time ago it stopped working because "ssh-dss" key type was no longer accepted by default (at least that was my conclusion) so a call

ssh_options_set(session, SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES, "ssh-ed25519,ecdsa-sha2-nistp256,"
            "ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-512,rsa-sha2-256,ssh-dss");

was added (to allow all publickey types) and the problem was fixed. After updating to libssh 0.9.3, however, this problem appeared again. After some trial-and-error debugging I have learned that if I set the aforementioned options before ssh_connect(), they get reset and the problem disappeared when I put this call after ssh_connect(). Was this, by any chance, an intentional change?

2)
After fixing this issue, another one manifested, namely a call to ssh_channel_poll_timeout() returns 0 (timeout) even though there should be some data available. Even after some in-depth debugging I failed to learn the cause of this and have only checked that poll() system call correctly returned that there are data available on the underlying file descriptor.

Now, we are using OpenSUSE build service to build packages on various distributions and these 2 problems manifest on only some of them depending on libssh version but not only that:

Debian 10: success
Debian Unstable: only problem 2)
Fedora 30: success
Fedora 31: problem 1)
Fedora Rawhide: problem 1)
OpenSUSE Leap 15.1: success
OpenSUSE Tumbleweed: only problem 2)
Ubuntu 18.04: success
Ubuntu 19.04: success
Ubuntu 19.10: success

Finally, I just want to add that I started looking into these problems after we got a report that there are some problems on CentOS 8 and have debugged it in a virtual machine. So, CentOS 8 has both problems 1) and 2) after manually updating libssh to 0.9.3. It is also interesting to note that I am using OpenSUSE Tumbleweed myself with libssh 0.9.3 and it works fine except some memory leaks from ssh_connect() and ssh_handle_key_exchange(). I can provide any other additional information (all our code is open-source) that may be of some help. Thank you for any assistance.

Regards,
Michal

Follow-Ups:
Re: 0.9.3 version regressionsJakub Jelen <jjelen@xxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org