diff options
author | tb <> | 2025-03-09 15:29:56 +0000 |
---|---|---|
committer | tb <> | 2025-03-09 15:29:56 +0000 |
commit | b04c2a1d799fe2ea8751349ab1dc4a8b551ce48d (patch) | |
tree | d09836f242ff268513c1c5d3722c69747b19c32e /src/lib | |
parent | 5e452fbcbaa85718d1cafb0f047a72e9825b28a0 (diff) | |
download | openbsd-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.list | 1 | ||||
-rw-r--r-- | src/lib/libcrypto/crypto.h | 10 | ||||
-rw-r--r-- | src/lib/libcrypto/crypto_memory.c | 15 | ||||
-rw-r--r-- | src/lib/libcrypto/hidden/openssl/crypto.h | 3 |
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 | |||
665 | CRYPTO_set_ex_data | 665 | CRYPTO_set_ex_data |
666 | CRYPTO_set_id_callback | 666 | CRYPTO_set_id_callback |
667 | CRYPTO_set_locking_callback | 667 | CRYPTO_set_locking_callback |
668 | CRYPTO_set_mem_ex_functions | ||
669 | CRYPTO_set_mem_functions | 668 | CRYPTO_set_mem_functions |
670 | CRYPTO_strdup | 669 | CRYPTO_strdup |
671 | CRYPTO_thread_id | 670 | CRYPTO_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 | |||
349 | void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line); | 349 | void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line); |
350 | void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file, int line); | 350 | void (*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 -- | 352 | int 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), |
354 | int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *)); | 354 | void (*f)(void *, const char *, int)); |
355 | int 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 | ||
358 | void *CRYPTO_malloc(size_t num, const char *file, int line); | 356 | void *CRYPTO_malloc(size_t num, const char *file, int line); |
359 | char *CRYPTO_strdup(const char *str, const char *file, int line); | 357 | char *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) | |||
29 | LCRYPTO_ALIAS(OPENSSL_cleanse); | 29 | LCRYPTO_ALIAS(OPENSSL_cleanse); |
30 | 30 | ||
31 | int | 31 | int |
32 | CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), | 32 | CRYPTO_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 | } |
37 | LCRYPTO_ALIAS(CRYPTO_set_mem_functions); | 38 | LCRYPTO_ALIAS(CRYPTO_set_mem_functions); |
38 | 39 | ||
39 | int | ||
40 | CRYPTO_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 | } | ||
45 | LCRYPTO_ALIAS(CRYPTO_set_mem_ex_functions); | ||
46 | |||
47 | void * | 40 | void * |
48 | CRYPTO_malloc(size_t num, const char *file, int line) | 41 | CRYPTO_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); | |||
39 | LCRYPTO_USED(CRYPTO_lock); | 39 | LCRYPTO_USED(CRYPTO_lock); |
40 | LCRYPTO_USED(CRYPTO_add_lock); | 40 | LCRYPTO_USED(CRYPTO_add_lock); |
41 | LCRYPTO_USED(CRYPTO_set_mem_functions); | 41 | LCRYPTO_USED(CRYPTO_set_mem_functions); |
42 | LCRYPTO_USED(CRYPTO_set_mem_ex_functions); | ||
43 | LCRYPTO_USED(OpenSSLDie); | 42 | LCRYPTO_USED(OpenSSLDie); |
44 | LCRYPTO_USED(OPENSSL_cpu_caps); | 43 | LCRYPTO_USED(OPENSSL_cpu_caps); |
45 | LCRYPTO_USED(OPENSSL_init_crypto); | 44 | LCRYPTO_USED(OPENSSL_init_crypto); |