1 | =pod
|
---|
2 |
|
---|
3 | =head1 NAME
|
---|
4 |
|
---|
5 | NCONF_new_ex, NCONF_new, NCONF_free, NCONF_default, NCONF_load,
|
---|
6 | NCONF_get0_libctx, NCONF_get_section, NCONF_get_section_names
|
---|
7 | - functionality to Load and parse configuration files manually
|
---|
8 |
|
---|
9 | =head1 SYNOPSIS
|
---|
10 |
|
---|
11 | #include <openssl/conf.h>
|
---|
12 |
|
---|
13 | typedef struct {
|
---|
14 | char *section;
|
---|
15 | char *name;
|
---|
16 | char *value;
|
---|
17 | } CONF_VALUE;
|
---|
18 |
|
---|
19 | CONF *NCONF_new_ex(OSSL_LIB_CTX *libctx, CONF_METHOD *meth);
|
---|
20 | CONF *NCONF_new(CONF_METHOD *meth);
|
---|
21 | void NCONF_free(CONF *conf);
|
---|
22 | CONF_METHOD *NCONF_default(void);
|
---|
23 | int NCONF_load(CONF *conf, const char *file, long *eline);
|
---|
24 | OSSL_LIB_CTX *NCONF_get0_libctx(const CONF *conf);
|
---|
25 |
|
---|
26 | STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, const char *name);
|
---|
27 | STACK_OF(OPENSSL_CSTRING) *NCONF_get_section_names(const CONF *conf);
|
---|
28 |
|
---|
29 | =head1 DESCRIPTION
|
---|
30 |
|
---|
31 | NCONF_new_ex() creates a new CONF object in heap memory and assigns to
|
---|
32 | it a context I<libctx> that can be used during loading. If the method table
|
---|
33 | I<meth> is set to NULL then the default value of NCONF_default() is used.
|
---|
34 |
|
---|
35 | NCONF_new() is similar to NCONF_new_ex() but sets the I<libctx> to NULL.
|
---|
36 |
|
---|
37 | NCONF_free() frees the data associated with I<conf> and then frees the I<conf>
|
---|
38 | object.
|
---|
39 |
|
---|
40 | NCONF_load() parses the file named I<filename> and adds the values found to
|
---|
41 | I<conf>. If an error occurs I<file> and I<eline> list the file and line that
|
---|
42 | the load failed on if they are not NULL.
|
---|
43 |
|
---|
44 | NCONF_default() gets the default method table for processing a configuration file.
|
---|
45 |
|
---|
46 | NCONF_get0_libctx() gets the library context associated with the I<conf>
|
---|
47 | parameter.
|
---|
48 |
|
---|
49 | NCONF_get_section_names() gets the names of the sections associated with
|
---|
50 | the I<conf> as B<STACK_OF(OPENSSL_CSTRING)> strings. The individual strings
|
---|
51 | are associated with the I<conf> and will be invalid after I<conf> is
|
---|
52 | freed. The returned stack must be freed with sk_OPENSSL_CSTRING_free().
|
---|
53 |
|
---|
54 | NCONF_get_section() gets the config values associated with the I<conf> from
|
---|
55 | the config section I<name> as B<STACK_OF(CONF_VALUE)> structures. The returned
|
---|
56 | stack is associated with the I<conf> and will be invalid after I<conf>
|
---|
57 | is freed. It must not be freed by the caller.
|
---|
58 |
|
---|
59 | =head1 RETURN VALUES
|
---|
60 |
|
---|
61 | NCONF_load() returns 1 on success or 0 on error.
|
---|
62 |
|
---|
63 | NCONF_new_ex() and NCONF_new() return a newly created I<CONF> object
|
---|
64 | or NULL if an error occurs.
|
---|
65 |
|
---|
66 | =head1 SEE ALSO
|
---|
67 |
|
---|
68 | L<CONF_modules_load_file(3)>,
|
---|
69 |
|
---|
70 | =head1 HISTORY
|
---|
71 |
|
---|
72 | NCONF_new_ex(), NCONF_get0_libctx(), and NCONF_get_section_names() were added
|
---|
73 | in OpenSSL 3.0.
|
---|
74 |
|
---|
75 | =head1 COPYRIGHT
|
---|
76 |
|
---|
77 | Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
|
---|
78 |
|
---|
79 | Licensed under the Apache License 2.0 (the "License"). You may not use
|
---|
80 | this file except in compliance with the License. You can obtain a copy
|
---|
81 | in the file LICENSE in the source distribution or at
|
---|
82 | L<https://www.openssl.org/source/license.html>.
|
---|
83 |
|
---|
84 | =cut
|
---|