File 0448-fix-rename-openssl-md5.h-to-avoid-include-conflicts-.patch of Package erlang
From eace72dfda7e6452dc82b884f0385a78a9d65d10 Mon Sep 17 00:00:00 2001
From: Paul Swartz <paul@paulswartz.net>
Date: Sun, 31 Dec 2023 13:12:02 -0500
Subject: [PATCH 1/3] fix: rename `openssl/md5.h` to avoid include conflicts
with OpenSSL
Ref: #7987
---
erts/emulator/openssl/README | 2 +-
erts/emulator/openssl/crypto/md5/md5_local.h | 2 +-
erts/emulator/openssl/include/erl_md5.h | 2 +-
.../emulator/openssl/include/{openssl => openssl_local}/md5.h | 0
erts/emulator/openssl/openssl.diff | 4 ++--
erts/emulator/openssl/openssl.mk | 2 +-
lib/erl_interface/src/openssl/README | 2 +-
lib/erl_interface/src/openssl/crypto/md5/md5_local.h | 2 +-
lib/erl_interface/src/openssl/include/erl_md5.h | 2 +-
.../src/openssl/include/{openssl => openssl_local}/md5.h | 0
lib/erl_interface/src/openssl/openssl.diff | 4 ++--
11 files changed, 11 insertions(+), 11 deletions(-)
rename erts/emulator/openssl/include/{openssl => openssl_local}/md5.h (100%)
rename lib/erl_interface/src/openssl/include/{openssl => openssl_local}/md5.h (100%)
diff --git a/erts/emulator/openssl/README b/erts/emulator/openssl/README
index 942d294daa..aa61112efe 100644
--- a/erts/emulator/openssl/README
+++ b/erts/emulator/openssl/README
@@ -7,7 +7,7 @@ The files that has been taken from the 3.1.4 version of OpenSSL:
./crypto/md5/md5_local.h
./crypto/md5/md5_dgst.c
./include/crypto/md32_common.h
-./include/openssl/md5.h
+./include/openssl_local/md5.h (renamed from include/openssl/md5.h)
The openssl.diff file contains the diff between the original files and the ones
included in OTP.
diff --git a/erts/emulator/openssl/crypto/md5/md5_local.h b/erts/emulator/openssl/crypto/md5/md5_local.h
index 7ec6b3595e..54c8aa7e55 100644
--- a/erts/emulator/openssl/crypto/md5/md5_local.h
+++ b/erts/emulator/openssl/crypto/md5/md5_local.h
@@ -10,7 +10,7 @@
#include <stdlib.h>
#include <string.h>
#if defined(ERLANG_OPENSSL_INTEGRATION)
-#include "openssl/md5.h"
+#include "openssl_local/md5.h"
#define md5_block_data_order MD5_BLOCK_DATA_ORDER_FUNCTION_NAME
#undef MD5_ASM
#else
diff --git a/erts/emulator/openssl/include/erl_md5.h b/erts/emulator/openssl/include/erl_md5.h
index ad3d5dd9d5..3723665bed 100644
--- a/erts/emulator/openssl/include/erl_md5.h
+++ b/erts/emulator/openssl/include/erl_md5.h
@@ -30,6 +30,6 @@
#define MD5_TRANSFORM_FUNCTION_NAME MD5Transform
#define MD5_BLOCK_DATA_ORDER_FUNCTION_NAME MD5BlockDataOrder
-#include "openssl/md5.h"
+#include "openssl_local/md5.h"
#endif
diff --git a/erts/emulator/openssl/include/openssl/md5.h b/erts/emulator/openssl/include/openssl_local/md5.h
similarity index 100%
rename from erts/emulator/openssl/include/openssl/md5.h
rename to erts/emulator/openssl/include/openssl_local/md5.h
diff --git a/erts/emulator/openssl/openssl.diff b/erts/emulator/openssl/openssl.diff
index 0e1d154582..15494d73c2 100644
--- a/erts/emulator/openssl/openssl.diff
+++ b/erts/emulator/openssl/openssl.diff
@@ -46,7 +46,7 @@ diff -u original/crypto/md5/md5_local.h crypto/md5/md5_local.h
#include <stdlib.h>
#include <string.h>
+#if defined(ERLANG_OPENSSL_INTEGRATION)
-+#include "openssl/md5.h"
++#include "openssl_local/md5.h"
+#define md5_block_data_order MD5_BLOCK_DATA_ORDER_FUNCTION_NAME
+#undef MD5_ASM
+#else
@@ -116,7 +116,7 @@ diff -u original/include/crypto/md32_common.h include/crypto/md32_common.h
# error "HASH_MAKE_STRING must be defined!"
diff -u original/include/openssl/md5.h include/openssl/md5.h
--- original/include/openssl/md5.h 2023-11-24 15:58:28.610171865 +0100
-+++ include/openssl/md5.h 2023-11-24 23:10:52.570854593 +0100
++++ include/openssl_local/md5.h 2023-11-24 23:10:52.570854593 +0100
@@ -11,6 +11,15 @@
# define OPENSSL_MD5_H
# pragma once
diff --git a/erts/emulator/openssl/openssl.mk b/erts/emulator/openssl/openssl.mk
index a084a42720..1f04ba7116 100644
--- a/erts/emulator/openssl/openssl.mk
+++ b/erts/emulator/openssl/openssl.mk
@@ -50,4 +50,4 @@ $(OPENSSL_OBJDIR)/%.o: $(OPENSSL_DIR)/crypto/md5/%.c
$(OPENSSL_OBJDIR)/md5_dgst.o: $(OPENSSL_DIR)/crypto/md5/md5_dgst.c \
$(OPENSSL_DIR)/crypto/md5/md5_local.h \
$(OPENSSL_DIR)/include/crypto/md32_common.h \
- $(OPENSSL_DIR)/include/openssl/md5.h
+ $(OPENSSL_DIR)/include/openssl_local/md5.h
diff --git a/lib/erl_interface/src/openssl/README b/lib/erl_interface/src/openssl/README
index 942d294daa..aa61112efe 100644
--- a/lib/erl_interface/src/openssl/README
+++ b/lib/erl_interface/src/openssl/README
@@ -7,7 +7,7 @@ The files that has been taken from the 3.1.4 version of OpenSSL:
./crypto/md5/md5_local.h
./crypto/md5/md5_dgst.c
./include/crypto/md32_common.h
-./include/openssl/md5.h
+./include/openssl_local/md5.h (renamed from include/openssl/md5.h)
The openssl.diff file contains the diff between the original files and the ones
included in OTP.
diff --git a/lib/erl_interface/src/openssl/crypto/md5/md5_local.h b/lib/erl_interface/src/openssl/crypto/md5/md5_local.h
index 7ec6b3595e..54c8aa7e55 100644
--- a/lib/erl_interface/src/openssl/crypto/md5/md5_local.h
+++ b/lib/erl_interface/src/openssl/crypto/md5/md5_local.h
@@ -10,7 +10,7 @@
#include <stdlib.h>
#include <string.h>
#if defined(ERLANG_OPENSSL_INTEGRATION)
-#include "openssl/md5.h"
+#include "openssl_local/md5.h"
#define md5_block_data_order MD5_BLOCK_DATA_ORDER_FUNCTION_NAME
#undef MD5_ASM
#else
diff --git a/lib/erl_interface/src/openssl/include/erl_md5.h b/lib/erl_interface/src/openssl/include/erl_md5.h
index 4f8df4870f..68f91ad114 100644
--- a/lib/erl_interface/src/openssl/include/erl_md5.h
+++ b/lib/erl_interface/src/openssl/include/erl_md5.h
@@ -30,6 +30,6 @@
#define MD5_TRANSFORM_FUNCTION_NAME ei_MD5Transform
#define MD5_BLOCK_DATA_ORDER_FUNCTION_NAME ei_MD5BlockDataOrder
-#include "openssl/md5.h"
+#include "openssl_local/md5.h"
#endif
diff --git a/lib/erl_interface/src/openssl/include/openssl/md5.h b/lib/erl_interface/src/openssl/include/openssl_local/md5.h
similarity index 100%
rename from lib/erl_interface/src/openssl/include/openssl/md5.h
rename to lib/erl_interface/src/openssl/include/openssl_local/md5.h
diff --git a/lib/erl_interface/src/openssl/openssl.diff b/lib/erl_interface/src/openssl/openssl.diff
index 0e1d154582..15494d73c2 100644
--- a/lib/erl_interface/src/openssl/openssl.diff
+++ b/lib/erl_interface/src/openssl/openssl.diff
@@ -46,7 +46,7 @@ diff -u original/crypto/md5/md5_local.h crypto/md5/md5_local.h
#include <stdlib.h>
#include <string.h>
+#if defined(ERLANG_OPENSSL_INTEGRATION)
-+#include "openssl/md5.h"
++#include "openssl_local/md5.h"
+#define md5_block_data_order MD5_BLOCK_DATA_ORDER_FUNCTION_NAME
+#undef MD5_ASM
+#else
@@ -116,7 +116,7 @@ diff -u original/include/crypto/md32_common.h include/crypto/md32_common.h
# error "HASH_MAKE_STRING must be defined!"
diff -u original/include/openssl/md5.h include/openssl/md5.h
--- original/include/openssl/md5.h 2023-11-24 15:58:28.610171865 +0100
-+++ include/openssl/md5.h 2023-11-24 23:10:52.570854593 +0100
++++ include/openssl_local/md5.h 2023-11-24 23:10:52.570854593 +0100
@@ -11,6 +11,15 @@
# define OPENSSL_MD5_H
# pragma once
--
2.35.3