diff options
Diffstat (limited to 'src/lib/libcrypto/conf')
-rw-r--r-- | src/lib/libcrypto/conf/README | 73 | ||||
-rw-r--r-- | src/lib/libcrypto/conf/conf_def.c | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/conf/conf_lib.c | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/conf/conf_mod.c | 5 |
4 files changed, 7 insertions, 79 deletions
diff --git a/src/lib/libcrypto/conf/README b/src/lib/libcrypto/conf/README deleted file mode 100644 index 96e53b34ed..0000000000 --- a/src/lib/libcrypto/conf/README +++ /dev/null | |||
@@ -1,73 +0,0 @@ | |||
1 | Configuration modules. These are a set of modules which can perform | ||
2 | various configuration functions. | ||
3 | |||
4 | Currently the routines should be called at most once when an application | ||
5 | starts up: that is before it starts any threads. | ||
6 | |||
7 | The routines read a configuration file set up like this: | ||
8 | |||
9 | ----- | ||
10 | #default section | ||
11 | openssl_conf=init_section | ||
12 | |||
13 | [init_section] | ||
14 | |||
15 | module1=value1 | ||
16 | #Second instance of module1 | ||
17 | module1.1=valueX | ||
18 | module2=value2 | ||
19 | module3=dso_literal | ||
20 | module4=dso_section | ||
21 | |||
22 | [dso_section] | ||
23 | |||
24 | path=/some/path/to/some/dso.so | ||
25 | other_stuff=other_value | ||
26 | ---- | ||
27 | |||
28 | When this file is loaded a configuration module with the specified string | ||
29 | (module* in the above example) is looked up and its init function called as: | ||
30 | |||
31 | int conf_init_func(CONF_IMODULE *md, CONF *cnf); | ||
32 | |||
33 | The function can then take whatever action is appropriate, for example further | ||
34 | lookups based on the value. Multiple instances of the same config module can be | ||
35 | loaded. | ||
36 | |||
37 | When the application closes down the modules are cleaned up by calling an | ||
38 | optional finish function: | ||
39 | |||
40 | void conf_finish_func(CONF_IMODULE *md); | ||
41 | |||
42 | The finish functions are called in reverse order: that is the last module | ||
43 | loaded is the first one cleaned up. | ||
44 | |||
45 | If no module exists with a given name then an attempt is made to load a DSO | ||
46 | with the supplied name. This might mean that "module3" attempts to load a DSO | ||
47 | called libmodule3.so or module3.dll for example. An explicit DSO name can be | ||
48 | given by including a separate section as in the module4 example above. | ||
49 | |||
50 | The DSO is expected to at least contain an initialization function: | ||
51 | |||
52 | int OPENSSL_init(CONF_IMODULE *md, CONF *cnf); | ||
53 | |||
54 | and may also include a finish function: | ||
55 | |||
56 | void OPENSSL_finish(CONF_IMODULE *md); | ||
57 | |||
58 | Static modules can also be added using, | ||
59 | |||
60 | int CONF_module_add(char *name, dso_mod_init_func *ifunc, dso_mod_finish_func | ||
61 | *ffunc); | ||
62 | |||
63 | where "name" is the name in the configuration file this function corresponds | ||
64 | to. | ||
65 | |||
66 | A set of builtin modules (currently only an ASN1 non functional test module) | ||
67 | can be added by calling OPENSSL_load_builtin_modules(). | ||
68 | |||
69 | The function OPENSSL_config() is intended as a simple configuration function | ||
70 | that any application can call to perform various default configuration tasks. | ||
71 | It uses the file openssl.cnf in the usual locations. | ||
72 | |||
73 | |||
diff --git a/src/lib/libcrypto/conf/conf_def.c b/src/lib/libcrypto/conf/conf_def.c index 0173a7117c..fe9391685d 100644 --- a/src/lib/libcrypto/conf/conf_def.c +++ b/src/lib/libcrypto/conf/conf_def.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: conf_def.c,v 1.44 2024/08/31 09:46:17 tb Exp $ */ | 1 | /* $OpenBSD: conf_def.c,v 1.45 2025/05/10 05:54:38 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 | * |
@@ -63,12 +63,12 @@ | |||
63 | 63 | ||
64 | #include <openssl/buffer.h> | 64 | #include <openssl/buffer.h> |
65 | #include <openssl/conf.h> | 65 | #include <openssl/conf.h> |
66 | #include <openssl/err.h> | ||
67 | #include <openssl/lhash.h> | 66 | #include <openssl/lhash.h> |
68 | #include <openssl/stack.h> | 67 | #include <openssl/stack.h> |
69 | 68 | ||
70 | #include "conf_def.h" | 69 | #include "conf_def.h" |
71 | #include "conf_local.h" | 70 | #include "conf_local.h" |
71 | #include "err_local.h" | ||
72 | 72 | ||
73 | #define MAX_CONF_VALUE_LENGTH 65536 | 73 | #define MAX_CONF_VALUE_LENGTH 65536 |
74 | 74 | ||
diff --git a/src/lib/libcrypto/conf/conf_lib.c b/src/lib/libcrypto/conf/conf_lib.c index 863e1c9475..84b4f8b0a7 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.25 2025/03/08 09:35:53 tb Exp $ */ | 1 | /* $OpenBSD: conf_lib.c,v 1.26 2025/05/10 05:54:38 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 | */ |
@@ -58,11 +58,11 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include <openssl/crypto.h> | 60 | #include <openssl/crypto.h> |
61 | #include <openssl/err.h> | ||
62 | #include <openssl/conf.h> | 61 | #include <openssl/conf.h> |
63 | #include <openssl/lhash.h> | 62 | #include <openssl/lhash.h> |
64 | 63 | ||
65 | #include "conf_local.h" | 64 | #include "conf_local.h" |
65 | #include "err_local.h" | ||
66 | 66 | ||
67 | static const CONF_METHOD *default_CONF_method = NULL; | 67 | static const CONF_METHOD *default_CONF_method = NULL; |
68 | 68 | ||
diff --git a/src/lib/libcrypto/conf/conf_mod.c b/src/lib/libcrypto/conf/conf_mod.c index 0e07bb3ea5..6e697cc478 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.40 2024/10/10 06:51:22 tb Exp $ */ | 1 | /* $OpenBSD: conf_mod.c,v 1.41 2025/05/10 05:54:38 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 | */ |
@@ -63,9 +63,10 @@ | |||
63 | 63 | ||
64 | #include <openssl/conf.h> | 64 | #include <openssl/conf.h> |
65 | #include <openssl/crypto.h> | 65 | #include <openssl/crypto.h> |
66 | #include <openssl/err.h> | ||
67 | #include <openssl/x509.h> | 66 | #include <openssl/x509.h> |
68 | 67 | ||
68 | #include "err_local.h" | ||
69 | |||
69 | /* This structure contains data about supported modules. */ | 70 | /* This structure contains data about supported modules. */ |
70 | struct conf_module_st { | 71 | struct conf_module_st { |
71 | /* Name of the module */ | 72 | /* Name of the module */ |