Skip to content

Commit

Permalink
Tidy up docs, remove warning.
Browse files Browse the repository at this point in the history
  • Loading branch information
snhenson committed May 10, 2007
1 parent f8492ff commit ee7ca09
Showing 1 changed file with 21 additions and 26 deletions.
47 changes: 21 additions & 26 deletions crypto/conf/README
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
WARNING WARNING WARNING!!!

This stuff is experimental, may change radically or be deleted altogether
before OpenSSL 0.9.7 release. You have been warned!

Configuration modules. These are a set of modules which can perform
various configuration functions.

Expand All @@ -13,7 +8,7 @@ The routines read a configuration file set up like this:

-----
#default section
openssl_init=init_section
openssl_conf=init_section

[init_section]

Expand All @@ -30,29 +25,27 @@ path=/some/path/to/some/dso.so
other_stuff=other_value
----

When this file is loaded a configuration module with the specified
string (module* in the above example) is looked up and its init
function called as:
When this file is loaded a configuration module with the specified string
(module* in the above example) is looked up and its init function called as:

int conf_init_func(CONF_IMODULE *md, CONF *cnf);

The function can then take whatever action is appropriate, for example
further lookups based on the value. Multiple instances of the same
config module can be loaded.
The function can then take whatever action is appropriate, for example further
lookups based on the value. Multiple instances of the same config module can be
loaded.

When the application closes down the modules are cleaned up by calling
an optional finish function:
When the application closes down the modules are cleaned up by calling an
optional finish function:

void conf_finish_func(CONF_IMODULE *md);

The finish functions are called in reverse order: that is the last module
loaded is the first one cleaned up.

If no module exists with a given name then an attempt is made to load
a DSO with the supplied name. This might mean that "module3" attempts
to load a DSO called libmodule3.so or module3.dll for example. An explicit
DSO name can be given by including a separate section as in the module4 example
above.
If no module exists with a given name then an attempt is made to load a DSO
with the supplied name. This might mean that "module3" attempts to load a DSO
called libmodule3.so or module3.dll for example. An explicit DSO name can be
given by including a separate section as in the module4 example above.

The DSO is expected to at least contain an initialization function:

Expand All @@ -64,15 +57,17 @@ void OPENSSL_finish(CONF_IMODULE *md);

Static modules can also be added using,

int CONF_module_add(char *name, dso_mod_init_func *ifunc, dso_mod_finish_func *ffunc);
int CONF_module_add(char *name, dso_mod_init_func *ifunc, dso_mod_finish_func
*ffunc);

where "name" is the name in the configuration file this function corresponds to.
where "name" is the name in the configuration file this function corresponds
to.

A set of builtin modules (currently only an ASN1 non functional test module) can be
added by calling OPENSSL_load_builtin_modules().
A set of builtin modules (currently only an ASN1 non functional test module)
can be added by calling OPENSSL_load_builtin_modules().

The function OPENSSL_config() is intended as a simple configuration function that
any application can call to perform various default configuration tasks. It uses the
file openssl.cnf in the usual locations.
The function OPENSSL_config() is intended as a simple configuration function
that any application can call to perform various default configuration tasks.
It uses the file openssl.cnf in the usual locations.


0 comments on commit ee7ca09

Please sign in to comment.