gentoo-ebuilds/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch
Sam James a3a11cfe96
sys-apps/coreutils: fix build w/ <openssl-3
Closes: https://bugs.gentoo.org/913368
Signed-off-by: Sam James <sam@gentoo.org>
2023-09-01 15:04:53 +01:00

165 lines
5.9 KiB
Diff

https://bugs.gentoo.org/913368
https://debbugs.gnu.org/65674
https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=ce20e238f0b4448a098bd7c076c131edbc759764
From ce20e238f0b4448a098bd7c076c131edbc759764 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Fri, 1 Sep 2023 12:55:30 +0200
Subject: crypto/{sha*,md5,sm3}-buffer: Fix --with-openssl (regr. 2023-08-26).
Reported by Agostino Sarubbo via Sam James <sam@gentoo.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00000.html>.
* lib/sha1.h: Test the OpenSSL major version before attempting to
include <openssl/configuration.h>.
* lib/sha256.h: Likewise.
* lib/sha512.h: Likewise.
* lib/md5.h: Likewise.
* lib/sm3.h: Likewise.
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -33,14 +33,18 @@
# define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
# endif
/* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
-# include <openssl/configuration.h>
-# if (OPENSSL_CONFIGURED_API \
- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
-# undef HAVE_OPENSSL_MD5
-# else
+# include <openssl/opensslv.h>
+# if OPENSSL_VERSION_MAJOR >= 3
+# include <openssl/configuration.h>
+# if (OPENSSL_CONFIGURED_API \
+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+# undef HAVE_OPENSSL_MD5
+# endif
+# endif
+# if HAVE_OPENSSL_MD5
# include <openssl/md5.h>
# endif
# endif
--- a/lib/sha1.h
+++ b/lib/sha1.h
@@ -32,14 +32,18 @@
# define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
# endif
/* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
-# include <openssl/configuration.h>
-# if (OPENSSL_CONFIGURED_API \
- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
-# undef HAVE_OPENSSL_SHA1
-# else
+# include <openssl/opensslv.h>
+# if OPENSSL_VERSION_MAJOR >= 3
+# include <openssl/configuration.h>
+# if (OPENSSL_CONFIGURED_API \
+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+# undef HAVE_OPENSSL_SHA1
+# endif
+# endif
+# if HAVE_OPENSSL_SHA1
# include <openssl/sha.h>
# endif
# endif
--- a/lib/sha256.h
+++ b/lib/sha256.h
@@ -31,14 +31,18 @@
# define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
# endif
/* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
-# include <openssl/configuration.h>
-# if (OPENSSL_CONFIGURED_API \
- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
-# undef HAVE_OPENSSL_SHA256
-# else
+# include <openssl/opensslv.h>
+# if OPENSSL_VERSION_MAJOR >= 3
+# include <openssl/configuration.h>
+# if (OPENSSL_CONFIGURED_API \
+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+# undef HAVE_OPENSSL_SHA256
+# endif
+# endif
+# if HAVE_OPENSSL_SHA256
# include <openssl/sha.h>
# endif
# endif
--- a/lib/sha512.h
+++ b/lib/sha512.h
@@ -31,14 +31,18 @@
# define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
# endif
/* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
-# include <openssl/configuration.h>
-# if (OPENSSL_CONFIGURED_API \
- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
-# undef HAVE_OPENSSL_SHA512
-# else
+# include <openssl/opensslv.h>
+# if OPENSSL_VERSION_MAJOR >= 3
+# include <openssl/configuration.h>
+# if (OPENSSL_CONFIGURED_API \
+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+# undef HAVE_OPENSSL_SHA512
+# endif
+# endif
+# if HAVE_OPENSSL_SHA512
# include <openssl/sha.h>
# endif
# endif
--- a/lib/sm3.h
+++ b/lib/sm3.h
@@ -40,14 +40,18 @@
# define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
# endif
/* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
-# include <openssl/configuration.h>
-# if (OPENSSL_CONFIGURED_API \
- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
-# undef HAVE_OPENSSL_SM3
-# else
+# include <openssl/opensslv.h>
+# if OPENSSL_VERSION_MAJOR >= 3
+# include <openssl/configuration.h>
+# if (OPENSSL_CONFIGURED_API \
+ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+# undef HAVE_OPENSSL_SM3
+# endif
+# endif
+# if HAVE_OPENSSL_SM3
# include <openssl/sm3.h>
# endif
# endif
--
cgit v1.1