CRYPTO_set_locking_callback() hasn't done anything since forever and
I'm going to remove it from libcrypto.

ASN1_STRING_data() has long been deprecated and has been removed from
OpenSSL after 3.6 and will be removed from LibreSSL. Use its const
correct non-deprecated spelling.

ssl_compat.h has a strange ASN1_STRING_get0_data define which falls back
to ASN1_STRING_data(). This is incorrectly guarded (ASN1_STRING_get0_data
was never a macro) and unused, so I didn't touch it.

Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/mariadb/Makefile,v
diff -u -p -r1.159 Makefile
--- Makefile    19 Jan 2026 22:37:02 -0000      1.159
+++ Makefile    21 Jan 2026 07:13:13 -0000
@@ -8,6 +8,8 @@ VERSION=        11.4.9
 DISTNAME=      mariadb-${VERSION}
 PKGNAME-main=  mariadb-client-${VERSION}
 EPOCH=         1
+REVISION=      0
+
 CATEGORIES=    databases
 SITES=         https://archive.mariadb.org/${DISTNAME}/source/ \
                https://ftp.osuosl.org/pub/mariadb/${DISTNAME}/source/
Index: patches/patch-libmariadb_libmariadb_secure_openssl_c
===================================================================
RCS file: patches/patch-libmariadb_libmariadb_secure_openssl_c
diff -N patches/patch-libmariadb_libmariadb_secure_openssl_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-libmariadb_libmariadb_secure_openssl_c        21 Jan 2026 
07:16:29 -0000
@@ -0,0 +1,22 @@
+Avoid use of long-deprecated functions.
+
+Index: libmariadb/libmariadb/secure/openssl.c
+--- libmariadb/libmariadb/secure/openssl.c.orig
++++ libmariadb/libmariadb/secure/openssl.c
+@@ -285,7 +285,6 @@ void ma_tls_end()
+     {
+       int i;
+       CRYPTO_set_locking_callback(NULL);
+-      CRYPTO_THREADID_set_callback(NULL);
+ 
+       for (i=0; i < CRYPTO_num_locks(); i++)
+         pthread_mutex_destroy(&LOCK_crypto[i]);
+@@ -842,7 +841,7 @@ int ma_tls_verify_server_cert(MARIADB_TLS *ctls, unsig
+       goto error;
+     }
+ 
+-    cn_str = (char *)ASN1_STRING_data(cn_asn1);
++    cn_str = (char *)ASN1_STRING_get0_data(cn_asn1);
+ 
+     /* Make sure there is no embedded \0 in the CN */
+     if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn_str))

Reply via email to