summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2023-07-08 12:27:51 +0000
committerbeck <>2023-07-08 12:27:51 +0000
commit58b8e86504ee990d53dee75f82e5650298fb8fae (patch)
treefc4a56499fa135830ac3a4de1d3e9df82e09577d /src
parent2c1948ab61cef09c8a7c3306a9b8f7c311bb5c82 (diff)
downloadopenbsd-58b8e86504ee990d53dee75f82e5650298fb8fae.tar.gz
openbsd-58b8e86504ee990d53dee75f82e5650298fb8fae.tar.bz2
openbsd-58b8e86504ee990d53dee75f82e5650298fb8fae.zip
Hide symbols in objects
ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.namespace32
-rw-r--r--src/lib/libcrypto/hidden/openssl/objects.h61
-rw-r--r--src/lib/libcrypto/objects/o_names.c10
-rw-r--r--src/lib/libcrypto/objects/obj_dat.c19
-rw-r--r--src/lib/libcrypto/objects/obj_err.c3
-rw-r--r--src/lib/libcrypto/objects/obj_lib.c4
-rw-r--r--src/lib/libcrypto/objects/obj_xref.c6
7 files changed, 130 insertions, 5 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index da7ad8dbe7..63f9e7c6f0 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2525,3 +2525,35 @@ _libre_RSA_meth_set_sign
2525_libre_RSA_meth_get_verify 2525_libre_RSA_meth_get_verify
2526_libre_RSA_meth_set_verify 2526_libre_RSA_meth_set_verify
2527_libre_ERR_load_RSA_strings 2527_libre_ERR_load_RSA_strings
2528_libre_OBJ_NAME_init
2529_libre_OBJ_NAME_new_index
2530_libre_OBJ_NAME_get
2531_libre_OBJ_NAME_add
2532_libre_OBJ_NAME_remove
2533_libre_OBJ_NAME_cleanup
2534_libre_OBJ_NAME_do_all
2535_libre_OBJ_NAME_do_all_sorted
2536_libre_OBJ_dup
2537_libre_OBJ_nid2obj
2538_libre_OBJ_nid2ln
2539_libre_OBJ_nid2sn
2540_libre_OBJ_obj2nid
2541_libre_OBJ_txt2obj
2542_libre_OBJ_obj2txt
2543_libre_OBJ_txt2nid
2544_libre_OBJ_ln2nid
2545_libre_OBJ_sn2nid
2546_libre_OBJ_cmp
2547_libre_OBJ_bsearch_
2548_libre_OBJ_new_nid
2549_libre_OBJ_add_object
2550_libre_OBJ_create
2551_libre_OBJ_cleanup
2552_libre_OBJ_create_objects
2553_libre_OBJ_length
2554_libre_OBJ_get0_data
2555_libre_OBJ_find_sigid_algs
2556_libre_OBJ_find_sigid_by_algs
2557_libre_OBJ_add_sigid
2558_libre_OBJ_sigid_free
2559_libre_ERR_load_OBJ_strings
diff --git a/src/lib/libcrypto/hidden/openssl/objects.h b/src/lib/libcrypto/hidden/openssl/objects.h
new file mode 100644
index 0000000000..f658a7cfa5
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/objects.h
@@ -0,0 +1,61 @@
1/* $OpenBSD: objects.h,v 1.1 2023/07/08 12:27:51 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_OBJECTS_H
19#define _LIBCRYPTO_OBJECTS_H
20
21#ifndef _MSC_VER
22#include_next <openssl/objects.h>
23#else
24#include "../include/openssl/objects.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(OBJ_NAME_init);
29LCRYPTO_USED(OBJ_NAME_new_index);
30LCRYPTO_USED(OBJ_NAME_get);
31LCRYPTO_USED(OBJ_NAME_add);
32LCRYPTO_USED(OBJ_NAME_remove);
33LCRYPTO_USED(OBJ_NAME_cleanup);
34LCRYPTO_USED(OBJ_NAME_do_all);
35LCRYPTO_USED(OBJ_NAME_do_all_sorted);
36LCRYPTO_USED(OBJ_dup);
37LCRYPTO_USED(OBJ_nid2obj);
38LCRYPTO_USED(OBJ_nid2ln);
39LCRYPTO_USED(OBJ_nid2sn);
40LCRYPTO_USED(OBJ_obj2nid);
41LCRYPTO_USED(OBJ_txt2obj);
42LCRYPTO_USED(OBJ_obj2txt);
43LCRYPTO_USED(OBJ_txt2nid);
44LCRYPTO_USED(OBJ_ln2nid);
45LCRYPTO_USED(OBJ_sn2nid);
46LCRYPTO_USED(OBJ_cmp);
47LCRYPTO_USED(OBJ_bsearch_);
48LCRYPTO_USED(OBJ_new_nid);
49LCRYPTO_USED(OBJ_add_object);
50LCRYPTO_USED(OBJ_create);
51LCRYPTO_USED(OBJ_cleanup);
52LCRYPTO_USED(OBJ_create_objects);
53LCRYPTO_USED(OBJ_length);
54LCRYPTO_USED(OBJ_get0_data);
55LCRYPTO_USED(OBJ_find_sigid_algs);
56LCRYPTO_USED(OBJ_find_sigid_by_algs);
57LCRYPTO_USED(OBJ_add_sigid);
58LCRYPTO_USED(OBJ_sigid_free);
59LCRYPTO_USED(ERR_load_OBJ_strings);
60
61#endif /* _LIBCRYPTO_OBJECTS_H */
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c
index 2cdd2f3aa6..48b95d6767 100644
--- a/src/lib/libcrypto/objects/o_names.c
+++ b/src/lib/libcrypto/objects/o_names.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: o_names.c,v 1.23 2022/11/08 23:19:09 mbuhl Exp $ */ 1/* $OpenBSD: o_names.c,v 1.24 2023/07/08 12:27:51 beck Exp $ */
2#include <stdio.h> 2#include <stdio.h>
3#include <stdlib.h> 3#include <stdlib.h>
4#include <string.h> 4#include <string.h>
@@ -47,6 +47,7 @@ OBJ_NAME_init(void)
47 names_lh = lh_OBJ_NAME_new(); 47 names_lh = lh_OBJ_NAME_new();
48 return (names_lh != NULL); 48 return (names_lh != NULL);
49} 49}
50LCRYPTO_ALIAS(OBJ_NAME_init);
50 51
51int 52int
52OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), 53OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
@@ -88,6 +89,7 @@ OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
88 name_funcs->free_func = free_func; 89 name_funcs->free_func = free_func;
89 return (ret); 90 return (ret);
90} 91}
92LCRYPTO_ALIAS(OBJ_NAME_new_index);
91 93
92/* static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) */ 94/* static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) */
93static int 95static int
@@ -157,6 +159,7 @@ OBJ_NAME_get(const char *name, int type)
157 } 159 }
158 } 160 }
159} 161}
162LCRYPTO_ALIAS(OBJ_NAME_get);
160 163
161int 164int
162OBJ_NAME_add(const char *name, int type, const char *data) 165OBJ_NAME_add(const char *name, int type, const char *data)
@@ -204,6 +207,7 @@ OBJ_NAME_add(const char *name, int type, const char *data)
204 } 207 }
205 return (1); 208 return (1);
206} 209}
210LCRYPTO_ALIAS(OBJ_NAME_add);
207 211
208int 212int
209OBJ_NAME_remove(const char *name, int type) 213OBJ_NAME_remove(const char *name, int type)
@@ -234,6 +238,7 @@ OBJ_NAME_remove(const char *name, int type)
234 } else 238 } else
235 return (0); 239 return (0);
236} 240}
241LCRYPTO_ALIAS(OBJ_NAME_remove);
237 242
238struct doall { 243struct doall {
239 int type; 244 int type;
@@ -262,6 +267,7 @@ OBJ_NAME_do_all(int type, void (*fn)(const OBJ_NAME *, void *arg), void *arg)
262 lh_OBJ_NAME_doall_arg(names_lh, LHASH_DOALL_ARG_FN(do_all_fn), 267 lh_OBJ_NAME_doall_arg(names_lh, LHASH_DOALL_ARG_FN(do_all_fn),
263 struct doall, &d); 268 struct doall, &d);
264} 269}
270LCRYPTO_ALIAS(OBJ_NAME_do_all);
265 271
266struct doall_sorted { 272struct doall_sorted {
267 int type; 273 int type;
@@ -311,6 +317,7 @@ OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg),
311 free(d.names); 317 free(d.names);
312 } 318 }
313} 319}
320LCRYPTO_ALIAS(OBJ_NAME_do_all_sorted);
314 321
315static int free_type; 322static int free_type;
316 323
@@ -353,3 +360,4 @@ OBJ_NAME_cleanup(int type)
353 } else 360 } else
354 lh_OBJ_NAME_down_load(names_lh) = down_load; 361 lh_OBJ_NAME_down_load(names_lh) = down_load;
355} 362}
363LCRYPTO_ALIAS(OBJ_NAME_cleanup);
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c
index 7516a6d09a..ff06177451 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.53 2023/05/23 11:51:12 tb Exp $ */ 1/* $OpenBSD: obj_dat.c,v 1.54 2023/07/08 12:27:51 beck 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 *
@@ -280,6 +280,7 @@ OBJ_cleanup(void)
280 lh_ADDED_OBJ_free(added); 280 lh_ADDED_OBJ_free(added);
281 added = NULL; 281 added = NULL;
282} 282}
283LCRYPTO_ALIAS(OBJ_cleanup);
283 284
284int 285int
285OBJ_new_nid(int num) 286OBJ_new_nid(int num)
@@ -290,6 +291,7 @@ OBJ_new_nid(int num)
290 new_nid += num; 291 new_nid += num;
291 return (i); 292 return (i);
292} 293}
294LCRYPTO_ALIAS(OBJ_new_nid);
293 295
294int 296int
295OBJ_add_object(const ASN1_OBJECT *obj) 297OBJ_add_object(const ASN1_OBJECT *obj)
@@ -338,6 +340,7 @@ OBJ_add_object(const ASN1_OBJECT *obj)
338 ASN1_OBJECT_free(o); 340 ASN1_OBJECT_free(o);
339 return (NID_undef); 341 return (NID_undef);
340} 342}
343LCRYPTO_ALIAS(OBJ_add_object);
341 344
342ASN1_OBJECT * 345ASN1_OBJECT *
343OBJ_nid2obj(int n) 346OBJ_nid2obj(int n)
@@ -366,6 +369,7 @@ OBJ_nid2obj(int n)
366 } 369 }
367 } 370 }
368} 371}
372LCRYPTO_ALIAS(OBJ_nid2obj);
369 373
370const char * 374const char *
371OBJ_nid2sn(int n) 375OBJ_nid2sn(int n)
@@ -394,6 +398,7 @@ OBJ_nid2sn(int n)
394 } 398 }
395 } 399 }
396} 400}
401LCRYPTO_ALIAS(OBJ_nid2sn);
397 402
398const char * 403const char *
399OBJ_nid2ln(int n) 404OBJ_nid2ln(int n)
@@ -422,6 +427,7 @@ OBJ_nid2ln(int n)
422 } 427 }
423 } 428 }
424} 429}
430LCRYPTO_ALIAS(OBJ_nid2ln);
425 431
426static int 432static int
427obj_cmp(const ASN1_OBJECT * const *ap, const unsigned int *bp) 433obj_cmp(const ASN1_OBJECT * const *ap, const unsigned int *bp)
@@ -475,6 +481,7 @@ OBJ_obj2nid(const ASN1_OBJECT *a)
475 return (NID_undef); 481 return (NID_undef);
476 return (nid_objs[*op].nid); 482 return (nid_objs[*op].nid);
477} 483}
484LCRYPTO_ALIAS(OBJ_obj2nid);
478 485
479/* Convert an object name into an ASN1_OBJECT 486/* Convert an object name into an ASN1_OBJECT
480 * if "noname" is not set then search for short and long names first. 487 * if "noname" is not set then search for short and long names first.
@@ -495,12 +502,14 @@ OBJ_txt2obj(const char *s, int no_name)
495 502
496 return t2i_ASN1_OBJECT_internal(s); 503 return t2i_ASN1_OBJECT_internal(s);
497} 504}
505LCRYPTO_ALIAS(OBJ_txt2obj);
498 506
499int 507int
500OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *aobj, int no_name) 508OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *aobj, int no_name)
501{ 509{
502 return i2t_ASN1_OBJECT_internal(aobj, buf, buf_len, no_name); 510 return i2t_ASN1_OBJECT_internal(aobj, buf, buf_len, no_name);
503} 511}
512LCRYPTO_ALIAS(OBJ_obj2txt);
504 513
505int 514int
506OBJ_txt2nid(const char *s) 515OBJ_txt2nid(const char *s)
@@ -513,6 +522,7 @@ OBJ_txt2nid(const char *s)
513 ASN1_OBJECT_free(obj); 522 ASN1_OBJECT_free(obj);
514 return nid; 523 return nid;
515} 524}
525LCRYPTO_ALIAS(OBJ_txt2nid);
516 526
517int 527int
518OBJ_ln2nid(const char *s) 528OBJ_ln2nid(const char *s)
@@ -535,6 +545,7 @@ OBJ_ln2nid(const char *s)
535 return (NID_undef); 545 return (NID_undef);
536 return (nid_objs[*op].nid); 546 return (nid_objs[*op].nid);
537} 547}
548LCRYPTO_ALIAS(OBJ_ln2nid);
538 549
539int 550int
540OBJ_sn2nid(const char *s) 551OBJ_sn2nid(const char *s)
@@ -557,6 +568,7 @@ OBJ_sn2nid(const char *s)
557 return (NID_undef); 568 return (NID_undef);
558 return (nid_objs[*op].nid); 569 return (nid_objs[*op].nid);
559} 570}
571LCRYPTO_ALIAS(OBJ_sn2nid);
560 572
561const void * 573const void *
562OBJ_bsearch_(const void *key, const void *base, int num, int size, 574OBJ_bsearch_(const void *key, const void *base, int num, int size,
@@ -564,6 +576,7 @@ OBJ_bsearch_(const void *key, const void *base, int num, int size,
564{ 576{
565 return OBJ_bsearch_ex_(key, base, num, size, cmp, 0); 577 return OBJ_bsearch_ex_(key, base, num, size, cmp, 0);
566} 578}
579LCRYPTO_ALIAS(OBJ_bsearch_);
567 580
568const void * 581const void *
569OBJ_bsearch_ex_(const void *key, const void *base_, int num, int size, 582OBJ_bsearch_ex_(const void *key, const void *base_, int num, int size,
@@ -646,6 +659,7 @@ OBJ_create_objects(BIO *in)
646 } 659 }
647 /* return(num); */ 660 /* return(num); */
648} 661}
662LCRYPTO_ALIAS(OBJ_create_objects);
649 663
650int 664int
651OBJ_create(const char *oid, const char *sn, const char *ln) 665OBJ_create(const char *oid, const char *sn, const char *ln)
@@ -676,6 +690,7 @@ OBJ_create(const char *oid, const char *sn, const char *ln)
676 free(buf); 690 free(buf);
677 return (ok); 691 return (ok);
678} 692}
693LCRYPTO_ALIAS(OBJ_create);
679 694
680size_t 695size_t
681OBJ_length(const ASN1_OBJECT *obj) 696OBJ_length(const ASN1_OBJECT *obj)
@@ -688,6 +703,7 @@ OBJ_length(const ASN1_OBJECT *obj)
688 703
689 return obj->length; 704 return obj->length;
690} 705}
706LCRYPTO_ALIAS(OBJ_length);
691 707
692const unsigned char * 708const unsigned char *
693OBJ_get0_data(const ASN1_OBJECT *obj) 709OBJ_get0_data(const ASN1_OBJECT *obj)
@@ -697,3 +713,4 @@ OBJ_get0_data(const ASN1_OBJECT *obj)
697 713
698 return obj->data; 714 return obj->data;
699} 715}
716LCRYPTO_ALIAS(OBJ_get0_data);
diff --git a/src/lib/libcrypto/objects/obj_err.c b/src/lib/libcrypto/objects/obj_err.c
index 50e2a0e0c4..04cb4218c2 100644
--- a/src/lib/libcrypto/objects/obj_err.c
+++ b/src/lib/libcrypto/objects/obj_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: obj_err.c,v 1.13 2022/07/12 14:42:49 kn Exp $ */ 1/* $OpenBSD: obj_err.c,v 1.14 2023/07/08 12:27:51 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -88,3 +88,4 @@ ERR_load_OBJ_strings(void)
88 } 88 }
89#endif 89#endif
90} 90}
91LCRYPTO_ALIAS(ERR_load_OBJ_strings);
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c
index eb06adfb92..83575c16c9 100644
--- a/src/lib/libcrypto/objects/obj_lib.c
+++ b/src/lib/libcrypto/objects/obj_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: obj_lib.c,v 1.17 2022/11/26 16:08:53 tb Exp $ */ 1/* $OpenBSD: obj_lib.c,v 1.18 2023/07/08 12:27:51 beck 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 *
@@ -119,6 +119,7 @@ OBJ_dup(const ASN1_OBJECT *o)
119 free(r); 119 free(r);
120 return (NULL); 120 return (NULL);
121} 121}
122LCRYPTO_ALIAS(OBJ_dup);
122 123
123int 124int
124OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b) 125OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
@@ -130,3 +131,4 @@ OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
130 return (ret); 131 return (ret);
131 return (memcmp(a->data, b->data, a->length)); 132 return (memcmp(a->data, b->data, a->length));
132} 133}
134LCRYPTO_ALIAS(OBJ_cmp);
diff --git a/src/lib/libcrypto/objects/obj_xref.c b/src/lib/libcrypto/objects/obj_xref.c
index 3e8730d1c6..2318c86ce2 100644
--- a/src/lib/libcrypto/objects/obj_xref.c
+++ b/src/lib/libcrypto/objects/obj_xref.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: obj_xref.c,v 1.8 2017/01/21 04:44:43 jsing Exp $ */ 1/* $OpenBSD: obj_xref.c,v 1.9 2023/07/08 12:27:51 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -151,6 +151,7 @@ OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid)
151 *ppkey_nid = rv->pkey_id; 151 *ppkey_nid = rv->pkey_id;
152 return 1; 152 return 1;
153} 153}
154LCRYPTO_ALIAS(OBJ_find_sigid_algs);
154 155
155int 156int
156OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid) 157OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
@@ -182,6 +183,7 @@ OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
182 *psignid = (*rv)->sign_id; 183 *psignid = (*rv)->sign_id;
183 return 1; 184 return 1;
184} 185}
186LCRYPTO_ALIAS(OBJ_find_sigid_by_algs);
185 187
186int 188int
187OBJ_add_sigid(int signid, int dig_id, int pkey_id) 189OBJ_add_sigid(int signid, int dig_id, int pkey_id)
@@ -216,6 +218,7 @@ OBJ_add_sigid(int signid, int dig_id, int pkey_id)
216 218
217 return 1; 219 return 1;
218} 220}
221LCRYPTO_ALIAS(OBJ_add_sigid);
219 222
220static void 223static void
221sid_free(nid_triple *tt) 224sid_free(nid_triple *tt)
@@ -235,3 +238,4 @@ OBJ_sigid_free(void)
235 sigx_app = NULL; 238 sigx_app = NULL;
236 } 239 }
237} 240}
241LCRYPTO_ALIAS(OBJ_sigid_free);