diff --git a/.github/workflows/libressl.yml b/.github/workflows/libressl.yml new file mode 100644 index 00000000..3ed27413 --- /dev/null +++ b/.github/workflows/libressl.yml @@ -0,0 +1,31 @@ +name: LibreSSL + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + libressl: + runs-on: ubuntu-latest + container: + image: alpine:latest + + steps: + - name: Install dependencies + run: apk add binutils --no-cache build-base git readline-dev libressl-dev ncurses-dev git cmake zlib-dev libsodium-dev gnu-libiconv + + - uses: actions/checkout@v6 + with: + submodules: true + + - name: Configure + run: ./configure + + - name: Make + run: make -j $(nproc) -C build + + - name: Test + run: | + .ci/memory-leak-test.sh + .ci/vpntools-check.sh diff --git a/src/Mayaqua/Encrypt.h b/src/Mayaqua/Encrypt.h index 642e2081..a9f39b40 100644 --- a/src/Mayaqua/Encrypt.h +++ b/src/Mayaqua/Encrypt.h @@ -129,7 +129,7 @@ // Macro #define HASHED_DATA(p) (((UCHAR *)p) + 15) -#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3080100L typedef struct PKCS12_st PKCS12; typedef struct evp_md_st EVP_MD; #else diff --git a/src/Mayaqua/Network.c b/src/Mayaqua/Network.c index 990ced79..0ea87fee 100644 --- a/src/Mayaqua/Network.c +++ b/src/Mayaqua/Network.c @@ -11852,7 +11852,7 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char } } -#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3060000L if (sock->SslAcceptSettings.Override_Security_Level) { SSL_CTX_set_security_level(ssl_ctx, sock->SslAcceptSettings.Override_Security_Level_Value); @@ -16262,7 +16262,7 @@ UINT GetOSSecurityLevel() } -#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3060000L security_level_new = SSL_CTX_get_security_level(ctx); #endif @@ -16346,7 +16346,7 @@ TOKEN_LIST *GetCipherList() return ciphers; } -#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x2090100L sk = SSL_get1_supported_ciphers(ssl); #else sk = SSL_get_ciphers(ssl);