From 1ccf67d6469aa5773cdb68794de1f9a1f6192966 Mon Sep 17 00:00:00 2001 From: orbea Date: Tue, 12 Nov 2024 14:15:59 -0800 Subject: net-misc/stunnel: fix for libressl 4.0.0 Signed-off-by: orbea --- net-misc/stunnel/files/stunnel-5.59-libressl.patch | 12 ++++++++++++ net-misc/stunnel/files/stunnel-5.65-libressl.patch | 12 ++++++++++++ net-misc/stunnel/files/stunnel-5.68-libressl.patch | 13 +++++++++++++ net-misc/stunnel/files/stunnel-5.71-libressl.patch | 13 +++++++++++++ 4 files changed, 50 insertions(+) diff --git a/net-misc/stunnel/files/stunnel-5.59-libressl.patch b/net-misc/stunnel/files/stunnel-5.59-libressl.patch index 1e61881..5950745 100644 --- a/net-misc/stunnel/files/stunnel-5.59-libressl.patch +++ b/net-misc/stunnel/files/stunnel-5.59-libressl.patch @@ -99,6 +99,18 @@ Index: src/ctx.c OSSL_HANDSHAKE_STATE state=SSL_get_state(ssl); #else int state=SSL_get_state((SSL *)ssl); +@@ -1575,7 +1575,10 @@ NOEXPORT void info_callback(const SSL *ssl, int where, int ret) { + if(state==TLS_ST_SR_CLNT_HELLO) { + #else + if(state==SSL3_ST_SR_CLNT_HELLO_A +- || state==SSL23_ST_SR_CLNT_HELLO_A) { ++#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x4000000fL ++ || state==SSL23_ST_SR_CLNT_HELLO_A ++#endif ++ ) { + #endif + /* client hello received after initial handshake, + * this means renegotiation -> mark it */ Index: src/options.c --- a/src/options.c.orig +++ b/src/options.c diff --git a/net-misc/stunnel/files/stunnel-5.65-libressl.patch b/net-misc/stunnel/files/stunnel-5.65-libressl.patch index ac878f6..f00bc1c 100644 --- a/net-misc/stunnel/files/stunnel-5.65-libressl.patch +++ b/net-misc/stunnel/files/stunnel-5.65-libressl.patch @@ -102,6 +102,18 @@ index a2202b7..a39ee4c 100644 OSSL_HANDSHAKE_STATE state=SSL_get_state(ssl); #else int state=SSL_get_state((SSL *)ssl); +@@ -1575,7 +1575,10 @@ NOEXPORT void info_callback(const SSL *ssl, int where, int ret) { + if(state==TLS_ST_SR_CLNT_HELLO) { + #else + if(state==SSL3_ST_SR_CLNT_HELLO_A +- || state==SSL23_ST_SR_CLNT_HELLO_A) { ++#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x4000000fL ++ || state==SSL23_ST_SR_CLNT_HELLO_A ++#endif ++ ) { + #endif + /* client hello received after initial handshake, + * this means renegotiation -> mark it */ diff --git a/src/options.c b/src/options.c index 9ac9c7e..dfcf8b2 100644 --- a/src/options.c diff --git a/net-misc/stunnel/files/stunnel-5.68-libressl.patch b/net-misc/stunnel/files/stunnel-5.68-libressl.patch index 7bae42f..7dfef31 100644 --- a/net-misc/stunnel/files/stunnel-5.68-libressl.patch +++ b/net-misc/stunnel/files/stunnel-5.68-libressl.patch @@ -124,6 +124,19 @@ index 6a42a6b..90d6273 100644 OSSL_HANDSHAKE_STATE state=SSL_get_state(ssl); #else int state=SSL_get_state((SSL *)ssl); +@@ -1622,8 +1622,11 @@ NOEXPORT void info_callback(const SSL *ssl, int where, int ret) { + if(state==TLS_ST_SR_CLNT_HELLO) { + #else + if(state==SSL3_ST_SR_CLNT_HELLO_A +- || state==SSL23_ST_SR_CLNT_HELLO_A) { ++#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x4000000fL ++ || state==SSL23_ST_SR_CLNT_HELLO_A + #endif ++#endif ++ ) { + /* client hello received after initial handshake, + * this means renegotiation -> mark it */ + c->reneg_state=RENEG_DETECTED; diff --git a/src/prototypes.h b/src/prototypes.h index 0ecd719..1084ce2 100644 --- a/src/prototypes.h diff --git a/net-misc/stunnel/files/stunnel-5.71-libressl.patch b/net-misc/stunnel/files/stunnel-5.71-libressl.patch index cd29227..0016560 100644 --- a/net-misc/stunnel/files/stunnel-5.71-libressl.patch +++ b/net-misc/stunnel/files/stunnel-5.71-libressl.patch @@ -114,6 +114,19 @@ Rebased from an OpenBSD patch. OSSL_HANDSHAKE_STATE state=SSL_get_state(ssl); #else int state=SSL_get_state((SSL *)ssl); +@@ -1622,8 +1622,11 @@ NOEXPORT void info_callback(const SSL *ssl, int where, int ret) { + if(state==TLS_ST_SR_CLNT_HELLO) { + #else + if(state==SSL3_ST_SR_CLNT_HELLO_A +- || state==SSL23_ST_SR_CLNT_HELLO_A) { ++#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x4000000fL ++ || state==SSL23_ST_SR_CLNT_HELLO_A + #endif ++#endif ++ ) { + /* client hello received after initial handshake, + * this means renegotiation -> mark it */ + c->reneg_state=RENEG_DETECTED; --- a/src/ocsp.c +++ b/src/ocsp.c @@ -108,7 +108,7 @@ int ocsp_init(SERVICE_OPTIONS *section) { -- cgit v1.2.3-65-gdbad