From 10f53bb6b8ab4697789593b7537a34f12050a120 Mon Sep 17 00:00:00 2001
From: Joe Garcia <joe.garcia@ssec.wisc.edu>
Date: Mon, 7 Oct 2024 10:41:37 -0500
Subject: [PATCH] 3.4.0 beta1 ssl

---
 ShellB3/shallbethree.sh                    | 71 +++++++++++++++++++++-
 ShellB3/src/sys/openssl-3.4.0-beta1.tar.gz |  3 +
 2 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 ShellB3/src/sys/openssl-3.4.0-beta1.tar.gz

diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh
index 8541c1c8..6208c833 100755
--- a/ShellB3/shallbethree.sh
+++ b/ShellB3/shallbethree.sh
@@ -1495,7 +1495,7 @@ export OPENSSL300VER=3.0.0
 export OPENSSL300FILESUFFIX=.so.3
 export OPENSSL300ALTFILESUFFIX=""
 
-export OPENSSLBUNDLEDVER=3.3.2 #this is actually the latest stable version. used if explicitly bundled. not considered secure long-term
+export OPENSSLBUNDLEDVER=3.4.0-beta1 #this is actually the latest stable version. used if explicitly bundled. not considered secure long-term
 
 export M4VER=1.4.19
 export AUTOCONFVER=2.71
@@ -6780,7 +6780,8 @@ _mk_openssl() {
     loadSSLVersion bundled
     _find_cots_lib BUILT_SSL libssl $BASE && return 0 #already built
     DIRNAMECOUNT=2
-    make_patch openssl <<PATCH
+    if false ; then
+      make_patch openssl <<PATCH
 diff -ru crypto/cversion.c crypto/cversion.c
 --- crypto/cversion.c 2022-11-01 09:14:36
 +++ crypto/cversion.c 2022-11-13 18:55:26
@@ -6912,6 +6913,72 @@ diff -ru crypto/provider_core.c crypto/provider_core.c
  #  define X509_CERT_AREA          "OSSL$DATAROOT:[000000]"
  #  define X509_CERT_DIR           "OSSL$DATAROOT:[CERTS]"
 PATCH
+      else
+        make_patch openssl <<PATCH
+diff -ru crypto/defaults.c crypto/defaults.c
+--- crypto/defaults.c  2024-10-07 08:15:43
++++ crypto/defaults.c 2024-10-07 09:54:11
+@@ -137,6 +137,10 @@
+ }
+ #endif /* defined(_WIN32) && defined(OSSL_WINCTX) */
+ 
++extern const char *openssld(void);
++extern const char *enginesd(void);
++extern const char *modulesd(void);
++
+ /**
+  * @brief Get the directory where OpenSSL is installed.
+  *
+@@ -149,7 +153,7 @@
+         return NULL;
+     return (const char *)openssldirptr;
+ # else
+-    return OPENSSLDIR;
++    return openssld();
+ #endif
+ }
+ 
+@@ -165,7 +169,7 @@
+         return NULL;
+     return (const char *)enginesdirptr;
+ #else
+-    return ENGINESDIR;
++    return enginesd();
+ #endif
+ }
+ 
+@@ -181,7 +185,7 @@
+         return NULL;
+     return (const char *)modulesdirptr;
+ #else
+-    return MODULESDIR;
++    return modulesd();
+ #endif
+ }
+ 
+--- include/internal/common.h 2024-01-30 22:19:50
++++ include/internal/common.h  2024-01-30 22:19:22
+@@ -81,11 +81,13 @@
+ # define OPENSSL_CONF             "openssl.cnf"
+ 
+ # ifndef OPENSSL_SYS_VMS
+-#  define X509_CERT_AREA          OPENSSLDIR
+-#  define X509_CERT_DIR           OPENSSLDIR "/certs"
+-#  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
+-#  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
+-#  define CTLOG_FILE              OPENSSLDIR "/ct_log_list.cnf"
++extern const char *openssld(void);
++extern const char *openssldsuff(unsigned int enm,const char *suff);
++#  define X509_CERT_AREA          openssld()
++#  define X509_CERT_DIR           openssldsuff(1,"/certs")
++#  define X509_CERT_FILE          openssldsuff(2,"/cert.pem")
++#  define X509_PRIVATE_DIR        openssldsuff(3,"/private")
++#  define CTLOG_FILE              openssldsuff(4,"/ct_log_list.cnf")
+ # else
+ #  define X509_CERT_AREA          "OSSL$DATAROOT:[000000]"
+ #  define X509_CERT_DIR           "OSSL$DATAROOT:[CERTS]"
+PATCH
+      fi
       make_script openssl <<SCRIPT
 cat >>crypto/cversion.c <<RELATIVESB3
 #define _GNU_SOURCE
diff --git a/ShellB3/src/sys/openssl-3.4.0-beta1.tar.gz b/ShellB3/src/sys/openssl-3.4.0-beta1.tar.gz
new file mode 100644
index 00000000..cf242809
--- /dev/null
+++ b/ShellB3/src/sys/openssl-3.4.0-beta1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0da6e9fe3cf192f8837878ddbb04ec3015694ef2ab6e64d34d16bbc17f7228a4
+size 18318324
-- 
GitLab