summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.list5
-rw-r--r--src/lib/libcrypto/conf/conf.h15
-rw-r--r--src/lib/libcrypto/conf/conf_lib.c126
-rw-r--r--src/lib/libcrypto/hidden/openssl/conf.h10
4 files changed, 3 insertions, 153 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index 290850eebc..d76ab68db6 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -589,12 +589,7 @@ CMS_unsigned_get_attr_by_OBJ
589CMS_unsigned_get_attr_count 589CMS_unsigned_get_attr_count
590CMS_verify 590CMS_verify
591CMS_verify_receipt 591CMS_verify_receipt
592CONF_free
593CONF_get1_default_config_file 592CONF_get1_default_config_file
594CONF_get_number
595CONF_get_section
596CONF_get_string
597CONF_load
598CONF_modules_finish 593CONF_modules_finish
599CONF_modules_free 594CONF_modules_free
600CONF_modules_load 595CONF_modules_load
diff --git a/src/lib/libcrypto/conf/conf.h b/src/lib/libcrypto/conf/conf.h
index 28b5f9d583..5796ee29ac 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.24 2024/08/31 09:44:00 tb Exp $ */ 1/* $OpenBSD: conf.h,v 1.25 2024/08/31 09:50:52 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 *
@@ -104,20 +104,7 @@ typedef void conf_finish_func(CONF_IMODULE *md);
104#define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 104#define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10
105#define CONF_MFLAGS_DEFAULT_SECTION 0x20 105#define CONF_MFLAGS_DEFAULT_SECTION 0x20
106 106
107int CONF_set_default_method(CONF_METHOD *meth);
108void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); 107void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash);
109LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file,
110 long *eline);
111LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp,
112 long *eline);
113LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline);
114STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf,
115 const char *section);
116char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,
117 const char *name);
118long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group,
119 const char *name);
120void CONF_free(LHASH_OF(CONF_VALUE) *conf);
121 108
122void OPENSSL_config(const char *config_name); 109void OPENSSL_config(const char *config_name);
123void OPENSSL_no_config(void); 110void OPENSSL_no_config(void);
diff --git a/src/lib/libcrypto/conf/conf_lib.c b/src/lib/libcrypto/conf/conf_lib.c
index 4440cfe6fd..7d426d56b2 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.23 2024/08/31 09:41:53 tb Exp $ */ 1/* $OpenBSD: conf_lib.c,v 1.24 2024/08/31 09:50:52 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,130 +77,6 @@ CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash)
77 conf->data = hash; 77 conf->data = hash;
78} 78}
79 79
80/* The following section contains the "CONF classic" functions,
81 rewritten in terms of the new CONF interface. */
82
83int
84CONF_set_default_method(CONF_METHOD *meth)
85{
86 default_CONF_method = meth;
87 return 1;
88}
89
90LHASH_OF(CONF_VALUE) *
91CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, long *eline)
92{
93 LHASH_OF(CONF_VALUE) *ltmp;
94 BIO *in = NULL;
95
96 in = BIO_new_file(file, "rb");
97 if (in == NULL) {
98 CONFerror(ERR_R_SYS_LIB);
99 return NULL;
100 }
101
102 ltmp = CONF_load_bio(conf, in, eline);
103 BIO_free(in);
104
105 return ltmp;
106}
107LCRYPTO_ALIAS(CONF_load);
108
109LHASH_OF(CONF_VALUE) *
110CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, long *eline)
111{
112 BIO *btmp;
113 LHASH_OF(CONF_VALUE) *ltmp;
114
115 if (!(btmp = BIO_new_fp(fp, BIO_NOCLOSE))) {
116 CONFerror(ERR_R_BUF_LIB);
117 return NULL;
118 }
119 ltmp = CONF_load_bio(conf, btmp, eline);
120 BIO_free(btmp);
121 return ltmp;
122}
123
124LHASH_OF(CONF_VALUE) *
125CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline)
126{
127 CONF ctmp;
128 int ret;
129
130 CONF_set_nconf(&ctmp, conf);
131
132 ret = NCONF_load_bio(&ctmp, bp, eline);
133 if (ret)
134 return ctmp.data;
135 return NULL;
136}
137
138STACK_OF(CONF_VALUE) *
139CONF_get_section(LHASH_OF(CONF_VALUE) *conf, const char *section)
140{
141 if (conf == NULL) {
142 return NULL;
143 } else {
144 CONF ctmp;
145 CONF_set_nconf(&ctmp, conf);
146 return NCONF_get_section(&ctmp, section);
147 }
148}
149LCRYPTO_ALIAS(CONF_get_section);
150
151char *
152CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,
153 const char *name)
154{
155 if (conf == NULL) {
156 return NCONF_get_string(NULL, group, name);
157 } else {
158 CONF ctmp;
159 CONF_set_nconf(&ctmp, conf);
160 return NCONF_get_string(&ctmp, group, name);
161 }
162}
163LCRYPTO_ALIAS(CONF_get_string);
164
165long
166CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group,
167 const char *name)
168{
169 int status;
170 long result = 0;
171
172 if (conf == NULL) {
173 status = NCONF_get_number_e(NULL, group, name, &result);
174 } else {
175 CONF ctmp;
176 CONF_set_nconf(&ctmp, conf);
177 status = NCONF_get_number_e(&ctmp, group, name, &result);
178 }
179
180 if (status == 0) {
181 /* This function does not believe in errors... */
182 ERR_clear_error();
183 }
184 return result;
185}
186LCRYPTO_ALIAS(CONF_get_number);
187
188void
189CONF_free(LHASH_OF(CONF_VALUE) *conf)
190{
191 CONF ctmp;
192
193 CONF_set_nconf(&ctmp, conf);
194 ctmp.meth->destroy_data(&ctmp);
195}
196LCRYPTO_ALIAS(CONF_free);
197
198/* The following section contains the "New CONF" functions. They are
199 completely centralised around a new CONF structure that may contain
200 basically anything, but at least a method pointer and a table of data.
201 These functions are also written in terms of the bridge functions used
202 by the "CONF classic" functions, for consistency. */
203
204CONF * 80CONF *
205NCONF_new(const CONF_METHOD *meth) 81NCONF_new(const CONF_METHOD *meth)
206{ 82{
diff --git a/src/lib/libcrypto/hidden/openssl/conf.h b/src/lib/libcrypto/hidden/openssl/conf.h
index 346fba1c4b..adb9b38548 100644
--- a/src/lib/libcrypto/hidden/openssl/conf.h
+++ b/src/lib/libcrypto/hidden/openssl/conf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: conf.h,v 1.6 2024/08/31 09:44:00 tb Exp $ */ 1/* $OpenBSD: conf.h,v 1.7 2024/08/31 09:50:52 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2024 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -25,15 +25,7 @@
25#endif 25#endif
26#include "crypto_namespace.h" 26#include "crypto_namespace.h"
27 27
28LCRYPTO_USED(CONF_set_default_method);
29LCRYPTO_USED(CONF_set_nconf); 28LCRYPTO_USED(CONF_set_nconf);
30LCRYPTO_USED(CONF_load);
31LCRYPTO_USED(CONF_load_fp);
32LCRYPTO_USED(CONF_load_bio);
33LCRYPTO_USED(CONF_get_section);
34LCRYPTO_USED(CONF_get_string);
35LCRYPTO_USED(CONF_get_number);
36LCRYPTO_USED(CONF_free);
37LCRYPTO_USED(OPENSSL_config); 29LCRYPTO_USED(OPENSSL_config);
38LCRYPTO_USED(OPENSSL_no_config); 30LCRYPTO_USED(OPENSSL_no_config);
39LCRYPTO_USED(NCONF_new); 31LCRYPTO_USED(NCONF_new);