diff options
| author | tb <> | 2024-03-02 09:47:16 +0000 |
|---|---|---|
| committer | tb <> | 2024-03-02 09:47:16 +0000 |
| commit | 348fad0a9df90c576a11c7beeef17fa70cae611f (patch) | |
| tree | ce2dec82c7515bd7d45b198100f4e3ec4290b89b /src | |
| parent | 3f22814f63ba66035d2e72f3a89f12dab47db39b (diff) | |
| download | openbsd-348fad0a9df90c576a11c7beeef17fa70cae611f.tar.gz openbsd-348fad0a9df90c576a11c7beeef17fa70cae611f.tar.bz2 openbsd-348fad0a9df90c576a11c7beeef17fa70cae611f.zip | |
Remove OBJ_bsearch_()
The only reason this has still been part of the public API was that libssl
used it for cipher lookup. This was fixed by replacing the lookup by proper
bsearch() -- why OpenSSL felt the need to reinvent ANSI C API badly will
forever remain a mystery.
The stack code in libcrypto still uses a version of this. This should
be rewritten. It will be a bit easier once sk_find_ex() is removed.
ok jsing
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/Symbols.list | 1 | ||||
| -rw-r--r-- | src/lib/libcrypto/Symbols.namespace | 1 | ||||
| -rw-r--r-- | src/lib/libcrypto/hidden/openssl/objects.h | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 19 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/objects.h | 14 | ||||
| -rw-r--r-- | src/lib/libcrypto/stack/stack.c | 5 |
6 files changed, 7 insertions, 36 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index 85ee8bf071..ee69864df5 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
| @@ -1689,7 +1689,6 @@ NOTICEREF_new | |||
| 1689 | OBJ_NAME_do_all | 1689 | OBJ_NAME_do_all |
| 1690 | OBJ_NAME_do_all_sorted | 1690 | OBJ_NAME_do_all_sorted |
| 1691 | OBJ_add_object | 1691 | OBJ_add_object |
| 1692 | OBJ_bsearch_ | ||
| 1693 | OBJ_cleanup | 1692 | OBJ_cleanup |
| 1694 | OBJ_cmp | 1693 | OBJ_cmp |
| 1695 | OBJ_create | 1694 | OBJ_create |
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace index 936526085c..b7d9e75569 100644 --- a/src/lib/libcrypto/Symbols.namespace +++ b/src/lib/libcrypto/Symbols.namespace | |||
| @@ -2408,7 +2408,6 @@ _libre_OBJ_txt2nid | |||
| 2408 | _libre_OBJ_ln2nid | 2408 | _libre_OBJ_ln2nid |
| 2409 | _libre_OBJ_sn2nid | 2409 | _libre_OBJ_sn2nid |
| 2410 | _libre_OBJ_cmp | 2410 | _libre_OBJ_cmp |
| 2411 | _libre_OBJ_bsearch_ | ||
| 2412 | _libre_OBJ_new_nid | 2411 | _libre_OBJ_new_nid |
| 2413 | _libre_OBJ_add_object | 2412 | _libre_OBJ_add_object |
| 2414 | _libre_OBJ_create | 2413 | _libre_OBJ_create |
diff --git a/src/lib/libcrypto/hidden/openssl/objects.h b/src/lib/libcrypto/hidden/openssl/objects.h index 80c0644137..5b39cd8215 100644 --- a/src/lib/libcrypto/hidden/openssl/objects.h +++ b/src/lib/libcrypto/hidden/openssl/objects.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: objects.h,v 1.3 2024/03/02 09:41:02 tb Exp $ */ | 1 | /* $OpenBSD: objects.h,v 1.4 2024/03/02 09:47:16 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2023 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2023 Bob Beck <beck@openbsd.org> |
| 4 | * | 4 | * |
| @@ -38,7 +38,6 @@ LCRYPTO_USED(OBJ_txt2nid); | |||
| 38 | LCRYPTO_USED(OBJ_ln2nid); | 38 | LCRYPTO_USED(OBJ_ln2nid); |
| 39 | LCRYPTO_USED(OBJ_sn2nid); | 39 | LCRYPTO_USED(OBJ_sn2nid); |
| 40 | LCRYPTO_USED(OBJ_cmp); | 40 | LCRYPTO_USED(OBJ_cmp); |
| 41 | LCRYPTO_USED(OBJ_bsearch_); | ||
| 42 | LCRYPTO_USED(OBJ_new_nid); | 41 | LCRYPTO_USED(OBJ_new_nid); |
| 43 | LCRYPTO_USED(OBJ_add_object); | 42 | LCRYPTO_USED(OBJ_add_object); |
| 44 | LCRYPTO_USED(OBJ_create); | 43 | LCRYPTO_USED(OBJ_create); |
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index 1719cc73e2..bfa9ba3cc8 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: obj_dat.c,v 1.86 2024/02/26 15:00:30 tb Exp $ */ | 1 | /* $OpenBSD: obj_dat.c,v 1.87 2024/03/02 09:47:16 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -436,23 +436,6 @@ OBJ_ln2nid(const char *ln) | |||
| 436 | } | 436 | } |
| 437 | LCRYPTO_ALIAS(OBJ_ln2nid); | 437 | LCRYPTO_ALIAS(OBJ_ln2nid); |
| 438 | 438 | ||
| 439 | const void * | ||
| 440 | OBJ_bsearch_(const void *key, const void *base, int num, int size, | ||
| 441 | int (*cmp)(const void *, const void *)) | ||
| 442 | { | ||
| 443 | OBJerror(ERR_R_DISABLED); | ||
| 444 | return NULL; | ||
| 445 | } | ||
| 446 | LCRYPTO_ALIAS(OBJ_bsearch_); | ||
| 447 | |||
| 448 | const void * | ||
| 449 | OBJ_bsearch_ex_(const void *key, const void *base_, int num, int size, | ||
| 450 | int (*cmp)(const void *, const void *), int flags) | ||
| 451 | { | ||
| 452 | OBJerror(ERR_R_DISABLED); | ||
| 453 | return NULL; | ||
| 454 | } | ||
| 455 | |||
| 456 | /* Convert an object name into an ASN1_OBJECT | 439 | /* Convert an object name into an ASN1_OBJECT |
| 457 | * if "noname" is not set then search for short and long names first. | 440 | * if "noname" is not set then search for short and long names first. |
| 458 | * This will convert the "dotted" form into an object: unlike OBJ_txt2nid | 441 | * This will convert the "dotted" form into an object: unlike OBJ_txt2nid |
diff --git a/src/lib/libcrypto/objects/objects.h b/src/lib/libcrypto/objects/objects.h index 2d3aa986d5..ef6fc233bf 100644 --- a/src/lib/libcrypto/objects/objects.h +++ b/src/lib/libcrypto/objects/objects.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: objects.h,v 1.25 2024/03/02 09:43:10 tb Exp $ */ | 1 | /* $OpenBSD: objects.h,v 1.26 2024/03/02 09:47:16 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -77,10 +77,6 @@ | |||
| 77 | 77 | ||
| 78 | #define OBJ_NAME_ALIAS 0x8000 | 78 | #define OBJ_NAME_ALIAS 0x8000 |
| 79 | 79 | ||
| 80 | #define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 | ||
| 81 | #define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 | ||
| 82 | |||
| 83 | |||
| 84 | #ifdef __cplusplus | 80 | #ifdef __cplusplus |
| 85 | extern "C" { | 81 | extern "C" { |
| 86 | #endif | 82 | #endif |
| @@ -111,14 +107,6 @@ int OBJ_ln2nid(const char *s); | |||
| 111 | int OBJ_sn2nid(const char *s); | 107 | int OBJ_sn2nid(const char *s); |
| 112 | int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); | 108 | int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); |
| 113 | 109 | ||
| 114 | #if defined(LIBRESSL_INTERNAL) | ||
| 115 | const void * OBJ_bsearch_(const void *key, const void *base, int num, | ||
| 116 | int size, int (*cmp)(const void *, const void *)); | ||
| 117 | const void * OBJ_bsearch_ex_(const void *key, const void *base, int num, | ||
| 118 | int size, int (*cmp)(const void *, const void *), | ||
| 119 | int flags); | ||
| 120 | #endif | ||
| 121 | |||
| 122 | int OBJ_new_nid(int num); | 110 | int OBJ_new_nid(int num); |
| 123 | int OBJ_add_object(const ASN1_OBJECT *obj); | 111 | int OBJ_add_object(const ASN1_OBJECT *obj); |
| 124 | int OBJ_create(const char *oid, const char *sn, const char *ln); | 112 | int OBJ_create(const char *oid, const char *sn, const char *ln); |
diff --git a/src/lib/libcrypto/stack/stack.c b/src/lib/libcrypto/stack/stack.c index 818e738447..86117f07a7 100644 --- a/src/lib/libcrypto/stack/stack.c +++ b/src/lib/libcrypto/stack/stack.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: stack.c,v 1.25 2024/02/26 15:00:30 tb Exp $ */ | 1 | /* $OpenBSD: stack.c,v 1.26 2024/03/02 09:47:16 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -66,6 +66,9 @@ | |||
| 66 | #undef MIN_NODES | 66 | #undef MIN_NODES |
| 67 | #define MIN_NODES 4 | 67 | #define MIN_NODES 4 |
| 68 | 68 | ||
| 69 | #define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 | ||
| 70 | #define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 | ||
| 71 | |||
| 69 | int | 72 | int |
| 70 | (*sk_set_cmp_func(_STACK *sk, int (*c)(const void *, const void *)))( | 73 | (*sk_set_cmp_func(_STACK *sk, int (*c)(const void *, const void *)))( |
| 71 | const void *, const void *) | 74 | const void *, const void *) |
