git: 36dad620780f - main - security/openssl: Fix for POSIX_VERSION 200809L

From: Bernard Spil <brnrd_at_FreeBSD.org>
Date: Sun, 31 Mar 2024 13:07:52 UTC
The branch main has been updated by brnrd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=36dad620780f4b8b5c523c05c57b1c82dbd42202

commit 36dad620780f4b8b5c523c05c57b1c82dbd42202
Author:     Bernard Spil <brnrd@FreeBSD.org>
AuthorDate: 2024-03-31 13:04:52 +0000
Commit:     Bernard Spil <brnrd@FreeBSD.org>
CommitDate: 2024-03-31 13:04:52 +0000

    security/openssl: Fix for POSIX_VERSION 200809L
    
     * See https://github.com/openssl/openssl/pull/23885
    
    PR:             273869
    Reported by:    imp
    Submitted by:   vvd
---
 security/openssl-quictls/Makefile                  |  4 ++-
 security/openssl/Makefile                          |  2 +-
 .../files/patch-crypto_async_arch_async__posix.h   | 32 ++++++++++++++++++++++
 security/openssl111/Makefile                       |  4 ++-
 security/openssl31-quictls/Makefile                |  3 ++
 security/openssl31/Makefile                        |  4 ++-
 security/openssl32/Makefile                        |  4 ++-
 7 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/security/openssl-quictls/Makefile b/security/openssl-quictls/Makefile
index 88be5ac5db70..22f04cf8ea2d 100644
--- a/security/openssl-quictls/Makefile
+++ b/security/openssl-quictls/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	openssl
 DISTVERSIONPREFIX=	${PORTNAME}-
 DISTVERSION=	3.0.13
-PORTREVISION=	1
+PORTREVISION=	2
 DISTVERSIONSUFFIX=	-quic1
 CATEGORIES=	security devel
 PKGNAMESUFFIX=	-${GH_ACCOUNT}
@@ -35,6 +35,8 @@ LDFLAGS_i386=	-Wl,-znotext
 MAKE_ARGS+=	WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
 
+EXTRA_PATCHES+=	${.CURDIR}/../openssl/files/patch-crypto_async_arch_async__posix.h
+
 OPTIONS_GROUP=		CIPHERS HASHES MODULES OPTIMIZE PROTOCOLS
 OPTIONS_GROUP_CIPHERS=	ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS
 OPTIONS_GROUP_HASHES=	MD2 MD4 MDC2 RMD160 SM2 SM3
diff --git a/security/openssl/Makefile b/security/openssl/Makefile
index ddae244b16b5..f87321fdb628 100644
--- a/security/openssl/Makefile
+++ b/security/openssl/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	openssl
 PORTVERSION=	3.0.13
-PORTREVISION=	1
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.openssl.org/source/ \
diff --git a/security/openssl/files/patch-crypto_async_arch_async__posix.h b/security/openssl/files/patch-crypto_async_arch_async__posix.h
new file mode 100644
index 000000000000..b544aed6932a
--- /dev/null
+++ b/security/openssl/files/patch-crypto_async_arch_async__posix.h
@@ -0,0 +1,32 @@
+commit e883812f463c1623249e038698ccaddf2baa34d8
+Author: Warner Losh <imp@FreeBSD.org>
+Date:   Mon Mar 18 19:48:22 2024 -0600
+
+    posix_async: FreeBSD also defines {make|swap|get|set}context
+
+    FreeBSD also defines {make|swap|get|set}context for backward
+    compatibility, despite also exposing POSIX_VERSION 200809L
+    in FreeBSD 15-current.
+
+    Note: There's no fallback for POSIX_VERSION 200809 without these
+    routines, so maybe that should be a #error? ... But that's a questionf
+    or upstream.
+
+    FreeBSD has defined these interfaces since FreeBSD 4.7, released over 20
+    years ago, so no further nuance in FreeBSD version number is necessary.
+
+    Pull Request:           https://github.com/openssl/openssl/pull/23885
+
+diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h
+index a17c6b8e68af..2d97ec3acc9b 100644
+--- crypto/async/arch/async_posix.h
++++ crypto/async/arch/async_posix.h
+@@ -18,7 +18,7 @@
+ # include <unistd.h>
+ 
+ # if _POSIX_VERSION >= 200112L \
+-     && (_POSIX_VERSION < 200809L || defined(__GLIBC__))
++     && (_POSIX_VERSION < 200809L || defined(__GLIBC__) || defined(__FreeBSD__))
+ 
+ # include <pthread.h>
+ 
diff --git a/security/openssl111/Makefile b/security/openssl111/Makefile
index a0d1289fc06b..d076b697b980 100644
--- a/security/openssl111/Makefile
+++ b/security/openssl111/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	openssl
 PORTVERSION=	1.1.1w
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.openssl.org/source/ \
 		ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
@@ -34,6 +34,8 @@ LDFLAGS_i386=	-Wl,-znotext
 MAKE_ARGS+=	WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
 
+EXTRA_PATCHES+=	${.CURDIR}/../openssl/files/patch-crypto_async_arch_async__posix.h
+
 OPTIONS_GROUP=		CIPHERS HASHES OPTIMIZE PROTOCOLS
 OPTIONS_GROUP_CIPHERS=	ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS
 OPTIONS_GROUP_HASHES=	MD2 MD4 MDC2 RMD160 SM2 SM3
diff --git a/security/openssl31-quictls/Makefile b/security/openssl31-quictls/Makefile
index 366b7b265689..e37460731417 100644
--- a/security/openssl31-quictls/Makefile
+++ b/security/openssl31-quictls/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	openssl
 DISTVERSIONPREFIX=	${PORTNAME}-
 DISTVERSION=	3.1.5
+PORTREVISION=	1
 DISTVERSIONSUFFIX=	-quic1
 CATEGORIES=	security devel
 PKGNAMESUFFIX=	31-quictls
@@ -34,6 +35,8 @@ LDFLAGS_i386=	-Wl,-znotext
 MAKE_ARGS+=	WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
 
+EXTRA_PATCHES+=	${.CURDIR}/../openssl/files/patch-crypto_async_arch_async__posix.h
+
 OPTIONS_GROUP=		CIPHERS HASHES MODULES OPTIMIZE PROTOCOLS
 OPTIONS_GROUP_CIPHERS=	ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS
 OPTIONS_GROUP_HASHES=	MD2 MD4 MDC2 RMD160 SM2 SM3
diff --git a/security/openssl31/Makefile b/security/openssl31/Makefile
index 4e8821af1d5f..30cfce427510 100644
--- a/security/openssl31/Makefile
+++ b/security/openssl31/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	openssl
 PORTVERSION=	3.1.5
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.openssl.org/source/ \
 		ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
@@ -32,6 +32,8 @@ LDFLAGS_i386=	-Wl,-znotext
 MAKE_ARGS+=	WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
 
+EXTRA_PATCHES+=	${.CURDIR}/../openssl/files/patch-crypto_async_arch_async__posix.h
+
 OPTIONS_GROUP=		CIPHERS HASHES MODULES OPTIMIZE PROTOCOLS
 OPTIONS_GROUP_CIPHERS=	ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS
 OPTIONS_GROUP_HASHES=	MD2 MD4 MDC2 RMD160 SM2 SM3
diff --git a/security/openssl32/Makefile b/security/openssl32/Makefile
index f110a9ebf574..eba26a7554a9 100644
--- a/security/openssl32/Makefile
+++ b/security/openssl32/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	openssl
 DISTVERSION=	3.2.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.openssl.org/source/ \
 		ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
@@ -30,6 +30,8 @@ LDFLAGS_i386=	-Wl,-znotext
 MAKE_ARGS+=	WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
 
+EXTRA_PATCHES+=	${.CURDIR}/../openssl/files/patch-crypto_async_arch_async__posix.h
+
 OPTIONS_GROUP=		CIPHERS COMPRESSION HASHES MODULES OPTIMIZE PROTOCOLS
 OPTIONS_GROUP_CIPHERS=	ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS
 OPTIONS_GROUP_COMPRESSION=	BROTLI ZLIB ZSTD