summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authortb <>2025-03-09 15:29:56 +0000
committertb <>2025-03-09 15:29:56 +0000
commitb04c2a1d799fe2ea8751349ab1dc4a8b551ce48d (patch)
treed09836f242ff268513c1c5d3722c69747b19c32e /src/lib
parent5e452fbcbaa85718d1cafb0f047a72e9825b28a0 (diff)
downloadopenbsd-b04c2a1d799fe2ea8751349ab1dc4a8b551ce48d.tar.gz
openbsd-b04c2a1d799fe2ea8751349ab1dc4a8b551ce48d.tar.bz2
openbsd-b04c2a1d799fe2ea8751349ab1dc4a8b551ce48d.zip
Align CRYPTO_set_mem*_functions with OpenSSL 1.1
CRYPTO_set_mem_ex_functions() was renamed to CRYPTO_set_mem_functions(), replacing the latter while also correcting the arguments for the free pointer. The backstory is that a commit that was never compiled was fixed the wrong way an hour later (both committed without review, obviously), and here we are, still cleaning up the mess 23 years later. We carry patches in cjose and stunnel for this; dovecot and links+ have autoconf checks and will adapt. Oh, and then there's the mariadb configure time insanity passing wrong function pointers... ok jsing
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.list1
-rw-r--r--src/lib/libcrypto/crypto.h10
-rw-r--r--src/lib/libcrypto/crypto_memory.c15
-rw-r--r--src/lib/libcrypto/hidden/openssl/crypto.h3
4 files changed, 9 insertions, 20 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index faf4fb135f..cae2ac924d 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -665,7 +665,6 @@ CRYPTO_set_dynlock_lock_callback
665CRYPTO_set_ex_data 665CRYPTO_set_ex_data
666CRYPTO_set_id_callback 666CRYPTO_set_id_callback
667CRYPTO_set_locking_callback 667CRYPTO_set_locking_callback
668CRYPTO_set_mem_ex_functions
669CRYPTO_set_mem_functions 668CRYPTO_set_mem_functions
670CRYPTO_strdup 669CRYPTO_strdup
671CRYPTO_thread_id 670CRYPTO_thread_id
diff --git a/src/lib/libcrypto/crypto.h b/src/lib/libcrypto/crypto.h
index 6ddcaff338..b4230f1b28 100644
--- a/src/lib/libcrypto/crypto.h
+++ b/src/lib/libcrypto/crypto.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto.h,v 1.78 2025/03/09 15:12:18 tb Exp $ */ 1/* $OpenBSD: crypto.h,v 1.79 2025/03/09 15:29:56 tb Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -349,11 +349,9 @@ struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const c
349void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line); 349void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line);
350void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file, int line); 350void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file, int line);
351 351
352/* CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- 352int CRYPTO_set_mem_functions(void *(*m)(size_t, const char *, int),
353 * call the latter last if you need different functions */ 353 void *(*r)(void *, size_t, const char *, int),
354int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *)); 354 void (*f)(void *, const char *, int));
355int CRYPTO_set_mem_ex_functions(void *(*m)(size_t, const char *, int),
356 void *(*r)(void *, size_t, const char *, int), void (*f)(void *));
357 355
358void *CRYPTO_malloc(size_t num, const char *file, int line); 356void *CRYPTO_malloc(size_t num, const char *file, int line);
359char *CRYPTO_strdup(const char *str, const char *file, int line); 357char *CRYPTO_strdup(const char *str, const char *file, int line);
diff --git a/src/lib/libcrypto/crypto_memory.c b/src/lib/libcrypto/crypto_memory.c
index 773927b831..8c7bb5fe16 100644
--- a/src/lib/libcrypto/crypto_memory.c
+++ b/src/lib/libcrypto/crypto_memory.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_memory.c,v 1.3 2024/11/06 04:18:42 tb Exp $ */ 1/* $OpenBSD: crypto_memory.c,v 1.4 2025/03/09 15:29:56 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Bob Beck 3 * Copyright (c) 2014 Bob Beck
4 * 4 *
@@ -29,21 +29,14 @@ OPENSSL_cleanse(void *ptr, size_t len)
29LCRYPTO_ALIAS(OPENSSL_cleanse); 29LCRYPTO_ALIAS(OPENSSL_cleanse);
30 30
31int 31int
32CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), 32CRYPTO_set_mem_functions(void *(*m)(size_t, const char *, int),
33 void (*f)(void *)) 33 void *(*r)(void *, size_t, const char *, int),
34 void (*f)(void *, const char *, int))
34{ 35{
35 return 0; 36 return 0;
36} 37}
37LCRYPTO_ALIAS(CRYPTO_set_mem_functions); 38LCRYPTO_ALIAS(CRYPTO_set_mem_functions);
38 39
39int
40CRYPTO_set_mem_ex_functions(void *(*m)(size_t, const char *, int),
41 void *(*r)(void *, size_t, const char *, int), void (*f)(void *))
42{
43 return 0;
44}
45LCRYPTO_ALIAS(CRYPTO_set_mem_ex_functions);
46
47void * 40void *
48CRYPTO_malloc(size_t num, const char *file, int line) 41CRYPTO_malloc(size_t num, const char *file, int line)
49{ 42{
diff --git a/src/lib/libcrypto/hidden/openssl/crypto.h b/src/lib/libcrypto/hidden/openssl/crypto.h
index 1b2d8cbbe7..fcaea05d48 100644
--- a/src/lib/libcrypto/hidden/openssl/crypto.h
+++ b/src/lib/libcrypto/hidden/openssl/crypto.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto.h,v 1.8 2024/07/09 07:16:44 beck Exp $ */ 1/* $OpenBSD: crypto.h,v 1.9 2025/03/09 15:29:56 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -39,7 +39,6 @@ LCRYPTO_USED(CRYPTO_cleanup_all_ex_data);
39LCRYPTO_USED(CRYPTO_lock); 39LCRYPTO_USED(CRYPTO_lock);
40LCRYPTO_USED(CRYPTO_add_lock); 40LCRYPTO_USED(CRYPTO_add_lock);
41LCRYPTO_USED(CRYPTO_set_mem_functions); 41LCRYPTO_USED(CRYPTO_set_mem_functions);
42LCRYPTO_USED(CRYPTO_set_mem_ex_functions);
43LCRYPTO_USED(OpenSSLDie); 42LCRYPTO_USED(OpenSSLDie);
44LCRYPTO_USED(OPENSSL_cpu_caps); 43LCRYPTO_USED(OPENSSL_cpu_caps);
45LCRYPTO_USED(OPENSSL_init_crypto); 44LCRYPTO_USED(OPENSSL_init_crypto);