Commit 9f91d57e23d0ab101b4b83596767ffc7fa4a8224

Patrick Steinhardt 2019-08-02T14:25:02

docker: install libssh2 1.8.2 on Xenial While Xenial provides libssh2 in its repositories, it only has version 1.5.0 available. This version will unfortunately not be able to connect to GitHub due to their removal of weak cryptographic standards [1]. To still enable our CI to execute tests against GitHub, we thus have to update the provided libssh2 version to a newer one. Manually install libssh2 1.8.2 on Xenial. There's no need to do the same for Bionic, as it already provides libssh2 1.8.0. [1]: https://github.blog/2018-02-01-crypto-removal-notice/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/azure-pipelines/docker/xenial b/azure-pipelines/docker/xenial
index f50854b..847e201 100644
--- a/azure-pipelines/docker/xenial
+++ b/azure-pipelines/docker/xenial
@@ -16,3 +16,13 @@ RUN cd /tmp && \
     make install && \
     cd .. && \
     rm -rf mbedtls-2.16.2
+
+RUN cd /tmp && \
+    curl -LO https://www.libssh2.org/download/libssh2-1.8.2.tar.gz && \
+    tar -xf libssh2-1.8.2.tar.gz && \
+    rm -f libssh2-1.8.2.tar.gz && \
+    cd libssh2-1.8.2 && \
+    CFLAGS=-fPIC cmake -G Ninja -DCRYPTO_BACKEND=Libgcrypt . && \
+    ninja install && \
+    cd .. && \
+    rm -rf libssh2-1.8.2