On Wed, 9 Nov 2016, 19:11 Dave Taflin, <dtaflin_at_msn.com> wrote:
> I'm considering using libssh2 in software I'm developing. I've configured
> with CMake and built on Windows Vista with Visual Studio 2013. The build
> went fine, but all the tests (building the RUN_TESTS target) failed.
> Running them verbosely in a command shell, I observed that they require
> Docker--all the test commands are something like:
> docker build -t libssh2/openssh_server openssh_server
> So I installed Docker (that took awhile!) and ran the tests in the Docker
> Quickstart Terminal. They all fail with the following message:
> libssh2_session_handshake failed (-5): Unable to exchange encryption keys
At a guess, you compiled libssh2 without OpenSSL, so it uses the WinCNG
crypto backend. That backend doesn't support any of the ciphers required by
the recent version of OpenSSL that's in the docker container. The tests
that build and run in appveyor on every commit are built using OpenSSL and
> So, a question and a suggestion...
> Question: Should I be concerned about the failed tests?
Only if you compiled using OpenSSL and they still don't pass.
> Suggestion: Document the requirement for Docker to run the tests, and/or
> make the CMake BUILD_TESTING flag default to off so developers don't see
> the tests and expect them to work like I did.
That seems sensible, though the flag should only be disabled by default if
using the WinCNG backend. Patches welcome.
Received on 2016-11-09