diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 68a2482..f7b8877 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,9 +12,10 @@ jobs: strategy: matrix: library: - - libressl - - openssl - - wolfssl + - "libressl" + - "openssl" + - "wolfssl" + - "aws-lc" steps: - name: Checkout from GitHub uses: actions/checkout@v3 diff --git a/Dockerfile b/Dockerfile index 97a794e..5cc1f3c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SSL_LIBRARY ENV OPENSSL_QUIC_TAG=opernssl-3.1.5-quic1 \ LIBRESSL_TAG=v3.8.2 \ - BORINGSSL_COMMIT=608becc67282174594fdaf0ec9c96daca9710d2f \ + AWS_LC_TAG=v1.21.0 \ WOLFSSL_TAG=v5.6.6 \ LIBSLZ_TAG=v1.2.1 \ LUA_VERSION=5.4.6 \ @@ -68,9 +68,9 @@ if [ "${SSL_LIBRARY}" = "openssl" ]; then curl --silent --location https://githu if [ "${SSL_LIBRARY}" = "libressl" ]; then curl --silent --location https://github.com/libressl-portable/portable/archive/refs/tags/${LIBRESSL_TAG}.tar.gz | tar xz -C /usr/src --one-top-level=libressl --strip-components=1; fi # -# BoringSSL +# AWS-LC # -if [ "${SSL_LIBRARY}" = "boringssl" ]; then curl --silent --location https://api.github.com/repos/google/boringssl/tarball/${BORINGSSL_COMMIT} | tar xz -C /usr/src --one-top-level=boringssl --strip-components=1 || exit 1; fi +if [ "${SSL_LIBRARY}" = "aws-lc" ]; then curl --silent --location https://github.com/aws/aws-lc/archive/refs/tags/${AWS_LC_TAG}.tar.gz | tar xz -C /usr/src --one-top-level=aws-lc --strip-components=1; fi # # WolfSSL @@ -122,16 +122,16 @@ if [ "${SSL_LIBRARY}" = "libressl" ]; then SSL_COMMIT="libressl-${LIBRESSL_TAG}" fi # -# BoringSSL +# AWS-LC # -if [ "${SSL_LIBRARY}" = "boringssl" ]; then - cd /usr/src/boringssl - CC=clang CXX=clang++ cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo . - ninja || exit 1 - mkdir /opt/boringssl /opt/boringssl/lib - cp -r include /opt/boringssl - cp ssl/libssl.a crypto/libcrypto.a /opt/boringssl/lib - SSL_COMMIT="boringssl-${BORINGSSL_COMMIT:0:7}" +if [ "${SSL_LIBRARY}" = "aws-lc" ]; then + cd /usr/src/aws-lc + mkdir -p .openssl/lib .openssl/include + ln -sf /usr/src/aws-lc/include/openssl /usr/src/aws-lc/.openssl/include/openssl + CC=clang CXX=clang++ cmake -GNinja -B build -DCMAKE_BUILD_TYPE=Release + ninja -C build || exit 1 + cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib + SSL_COMMIT="AWS-LC-${AWS_LC_TAG}" fi # # WolfSSL @@ -173,63 +173,10 @@ RUN <