summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/conf
diff options
context:
space:
mode:
authortb <>2024-08-31 09:26:18 +0000
committertb <>2024-08-31 09:26:18 +0000
commitfa06106840d12417b65b1d797ece2e162f6ca2f7 (patch)
tree2d0e6a77bd6951db3389273540c9f34d62df1eb7 /src/lib/libcrypto/conf
parente47979e7652d27e7b364efb7a46ac39336b4cf87 (diff)
downloadopenbsd-fa06106840d12417b65b1d797ece2e162f6ca2f7.tar.gz
openbsd-fa06106840d12417b65b1d797ece2e162f6ca2f7.tar.bz2
openbsd-fa06106840d12417b65b1d797ece2e162f6ca2f7.zip
Unexport some conf layers unused outside of libcrypto
imodules are called imodules because they contain Information about modules that have been Initialized. Which one of these two I it is is anyone's best guess. Why anything outside of libcrypto would ever possibly care will also remain a mystery. Remove the old way of adding a conf module, user data, stop allowing to set a method (it's opaque now, remember?) and drop a couple bits more from the public api interface. ok beck jsing
Diffstat (limited to 'src/lib/libcrypto/conf')
-rw-r--r--src/lib/libcrypto/conf/conf.h18
-rw-r--r--src/lib/libcrypto/conf/conf_lib.c22
-rw-r--r--src/lib/libcrypto/conf/conf_local.h18
-rw-r--r--src/lib/libcrypto/conf/conf_mod.c13
4 files changed, 20 insertions, 51 deletions
diff --git a/src/lib/libcrypto/conf/conf.h b/src/lib/libcrypto/conf/conf.h
index 5129a259b3..feccaafb05 100644
--- a/src/lib/libcrypto/conf/conf.h
+++ b/src/lib/libcrypto/conf/conf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: conf.h,v 1.18 2024/08/31 09:21:44 tb Exp $ */ 1/* $OpenBSD: conf.h,v 1.19 2024/08/31 09:26:18 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 *
@@ -138,7 +138,6 @@ void NCONF_free(CONF *conf);
138void NCONF_free_data(CONF *conf); 138void NCONF_free_data(CONF *conf);
139 139
140int NCONF_load(CONF *conf, const char *file, long *eline); 140int NCONF_load(CONF *conf, const char *file, long *eline);
141int NCONF_load_fp(CONF *conf, FILE *fp, long *eline);
142int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); 141int NCONF_load_bio(CONF *conf, BIO *bp, long *eline);
143STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, const char *section); 142STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, const char *section);
144char *NCONF_get_string(const CONF *conf, const char *group, const char *name); 143char *NCONF_get_string(const CONF *conf, const char *group, const char *name);
@@ -156,24 +155,9 @@ int CONF_modules_load_file(const char *filename, const char *appname,
156void CONF_modules_unload(int all); 155void CONF_modules_unload(int all);
157void CONF_modules_finish(void); 156void CONF_modules_finish(void);
158void CONF_modules_free(void); 157void CONF_modules_free(void);
159int CONF_module_add(const char *name, conf_init_func *ifunc,
160 conf_finish_func *ffunc);
161
162const char *CONF_imodule_get_name(const CONF_IMODULE *md);
163const char *CONF_imodule_get_value(const CONF_IMODULE *md);
164void *CONF_imodule_get_usr_data(const CONF_IMODULE *md);
165void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data);
166CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md);
167unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md);
168void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags);
169void *CONF_module_get_usr_data(CONF_MODULE *pmod);
170void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data);
171 158
172char *CONF_get1_default_config_file(void); 159char *CONF_get1_default_config_file(void);
173 160
174int CONF_parse_list(const char *list, int sep, int nospc,
175 int (*list_cb)(const char *elem, int len, void *usr), void *arg);
176
177void OPENSSL_load_builtin_modules(void); 161void OPENSSL_load_builtin_modules(void);
178 162
179void ERR_load_CONF_strings(void); 163void ERR_load_CONF_strings(void);
diff --git a/src/lib/libcrypto/conf/conf_lib.c b/src/lib/libcrypto/conf/conf_lib.c
index fca7486de3..abeea5588f 100644
--- a/src/lib/libcrypto/conf/conf_lib.c
+++ b/src/lib/libcrypto/conf/conf_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: conf_lib.c,v 1.19 2024/08/31 09:21:44 tb Exp $ */ 1/* $OpenBSD: conf_lib.c,v 1.20 2024/08/31 09:26:18 tb Exp $ */
2/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL 2/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -77,7 +77,6 @@ CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash)
77 default_CONF_method->init(conf); 77 default_CONF_method->init(conf);
78 conf->data = hash; 78 conf->data = hash;
79} 79}
80LCRYPTO_ALIAS(CONF_set_nconf);
81 80
82/* The following section contains the "CONF classic" functions, 81/* The following section contains the "CONF classic" functions,
83 rewritten in terms of the new CONF interface. */ 82 rewritten in terms of the new CONF interface. */
@@ -88,7 +87,6 @@ CONF_set_default_method(CONF_METHOD *meth)
88 default_CONF_method = meth; 87 default_CONF_method = meth;
89 return 1; 88 return 1;
90} 89}
91LCRYPTO_ALIAS(CONF_set_default_method);
92 90
93LHASH_OF(CONF_VALUE) * 91LHASH_OF(CONF_VALUE) *
94CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, long *eline) 92CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, long *eline)
@@ -123,7 +121,6 @@ CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, long *eline)
123 BIO_free(btmp); 121 BIO_free(btmp);
124 return ltmp; 122 return ltmp;
125} 123}
126LCRYPTO_ALIAS(CONF_load_fp);
127 124
128LHASH_OF(CONF_VALUE) * 125LHASH_OF(CONF_VALUE) *
129CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline) 126CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline)
@@ -138,7 +135,6 @@ CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline)
138 return ctmp.data; 135 return ctmp.data;
139 return NULL; 136 return NULL;
140} 137}
141LCRYPTO_ALIAS(CONF_load_bio);
142 138
143STACK_OF(CONF_VALUE) * 139STACK_OF(CONF_VALUE) *
144CONF_get_section(LHASH_OF(CONF_VALUE) *conf, const char *section) 140CONF_get_section(LHASH_OF(CONF_VALUE) *conf, const char *section)
@@ -255,22 +251,6 @@ NCONF_load(CONF *conf, const char *file, long *eline)
255LCRYPTO_ALIAS(NCONF_load); 251LCRYPTO_ALIAS(NCONF_load);
256 252
257int 253int
258NCONF_load_fp(CONF *conf, FILE *fp, long *eline)
259{
260 BIO *btmp;
261 int ret;
262
263 if (!(btmp = BIO_new_fp(fp, BIO_NOCLOSE))) {
264 CONFerror(ERR_R_BUF_LIB);
265 return 0;
266 }
267 ret = NCONF_load_bio(conf, btmp, eline);
268 BIO_free(btmp);
269 return ret;
270}
271LCRYPTO_ALIAS(NCONF_load_fp);
272
273int
274NCONF_load_bio(CONF *conf, BIO *bp, long *eline) 254NCONF_load_bio(CONF *conf, BIO *bp, long *eline)
275{ 255{
276 if (conf == NULL) { 256 if (conf == NULL) {
diff --git a/src/lib/libcrypto/conf/conf_local.h b/src/lib/libcrypto/conf/conf_local.h
index dec0d3c0c1..cf5941ed50 100644
--- a/src/lib/libcrypto/conf/conf_local.h
+++ b/src/lib/libcrypto/conf/conf_local.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: conf_local.h,v 1.1 2024/08/31 09:21:44 tb Exp $ */ 1/* $OpenBSD: conf_local.h,v 1.2 2024/08/31 09:26:18 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 *
@@ -74,6 +74,22 @@ struct conf_method_st {
74 int (*load)(CONF *conf, const char *name, long *eline); 74 int (*load)(CONF *conf, const char *name, long *eline);
75}; 75};
76 76
77int CONF_module_add(const char *name, conf_init_func *ifunc,
78 conf_finish_func *ffunc);
79
80const char *CONF_imodule_get_name(const CONF_IMODULE *md);
81const char *CONF_imodule_get_value(const CONF_IMODULE *md);
82void *CONF_imodule_get_usr_data(const CONF_IMODULE *md);
83void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data);
84CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md);
85unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md);
86void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags);
87void *CONF_module_get_usr_data(CONF_MODULE *pmod);
88void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data);
89
90int CONF_parse_list(const char *list, int sep, int nospc,
91 int (*list_cb)(const char *elem, int len, void *usr), void *arg);
92
77__END_HIDDEN_DECLS 93__END_HIDDEN_DECLS
78 94
79#endif /* HEADER_CONF_LOCAL_H */ 95#endif /* HEADER_CONF_LOCAL_H */
diff --git a/src/lib/libcrypto/conf/conf_mod.c b/src/lib/libcrypto/conf/conf_mod.c
index 4bde9eb376..3477bc71b1 100644
--- a/src/lib/libcrypto/conf/conf_mod.c
+++ b/src/lib/libcrypto/conf/conf_mod.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: conf_mod.c,v 1.38 2024/04/09 13:56:30 beck Exp $ */ 1/* $OpenBSD: conf_mod.c,v 1.39 2024/08/31 09:26:18 tb Exp $ */
2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL 2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -413,7 +413,6 @@ CONF_module_add(const char *name, conf_init_func *ifunc, conf_finish_func *ffunc
413{ 413{
414 return module_add(name, ifunc, ffunc); 414 return module_add(name, ifunc, ffunc);
415} 415}
416LCRYPTO_ALIAS(CONF_module_add);
417 416
418void 417void
419CONF_modules_free(void) 418CONF_modules_free(void)
@@ -430,63 +429,54 @@ CONF_imodule_get_name(const CONF_IMODULE *imod)
430{ 429{
431 return imod->name; 430 return imod->name;
432} 431}
433LCRYPTO_ALIAS(CONF_imodule_get_name);
434 432
435const char * 433const char *
436CONF_imodule_get_value(const CONF_IMODULE *imod) 434CONF_imodule_get_value(const CONF_IMODULE *imod)
437{ 435{
438 return imod->value; 436 return imod->value;
439} 437}
440LCRYPTO_ALIAS(CONF_imodule_get_value);
441 438
442void * 439void *
443CONF_imodule_get_usr_data(const CONF_IMODULE *imod) 440CONF_imodule_get_usr_data(const CONF_IMODULE *imod)
444{ 441{
445 return imod->usr_data; 442 return imod->usr_data;
446} 443}
447LCRYPTO_ALIAS(CONF_imodule_get_usr_data);
448 444
449void 445void
450CONF_imodule_set_usr_data(CONF_IMODULE *imod, void *usr_data) 446CONF_imodule_set_usr_data(CONF_IMODULE *imod, void *usr_data)
451{ 447{
452 imod->usr_data = usr_data; 448 imod->usr_data = usr_data;
453} 449}
454LCRYPTO_ALIAS(CONF_imodule_set_usr_data);
455 450
456CONF_MODULE * 451CONF_MODULE *
457CONF_imodule_get_module(const CONF_IMODULE *imod) 452CONF_imodule_get_module(const CONF_IMODULE *imod)
458{ 453{
459 return imod->mod; 454 return imod->mod;
460} 455}
461LCRYPTO_ALIAS(CONF_imodule_get_module);
462 456
463unsigned long 457unsigned long
464CONF_imodule_get_flags(const CONF_IMODULE *imod) 458CONF_imodule_get_flags(const CONF_IMODULE *imod)
465{ 459{
466 return imod->flags; 460 return imod->flags;
467} 461}
468LCRYPTO_ALIAS(CONF_imodule_get_flags);
469 462
470void 463void
471CONF_imodule_set_flags(CONF_IMODULE *imod, unsigned long flags) 464CONF_imodule_set_flags(CONF_IMODULE *imod, unsigned long flags)
472{ 465{
473 imod->flags = flags; 466 imod->flags = flags;
474} 467}
475LCRYPTO_ALIAS(CONF_imodule_set_flags);
476 468
477void * 469void *
478CONF_module_get_usr_data(CONF_MODULE *mod) 470CONF_module_get_usr_data(CONF_MODULE *mod)
479{ 471{
480 return mod->usr_data; 472 return mod->usr_data;
481} 473}
482LCRYPTO_ALIAS(CONF_module_get_usr_data);
483 474
484void 475void
485CONF_module_set_usr_data(CONF_MODULE *mod, void *usr_data) 476CONF_module_set_usr_data(CONF_MODULE *mod, void *usr_data)
486{ 477{
487 mod->usr_data = usr_data; 478 mod->usr_data = usr_data;
488} 479}
489LCRYPTO_ALIAS(CONF_module_set_usr_data);
490 480
491/* Return default config file name */ 481/* Return default config file name */
492 482
@@ -547,4 +537,3 @@ CONF_parse_list(const char *list_, int sep, int nospc,
547 lstart = p + 1; 537 lstart = p + 1;
548 } 538 }
549} 539}
550LCRYPTO_ALIAS(CONF_parse_list);