openssl/crypto/conf
Richard Levitte 1b8403889b Fix the update target and remove duplicate file updates
We had updates of certain header files in both Makefile.org and the
Makefile in the directory the header file lived in.  This is error
prone and also sometimes generates slightly different results (usually
just a comment that differs) depending on which way the update was
done.

This removes the file update targets from the top level Makefile, adds
an update: target in all Makefiles and has it depend on the depend: or
local_depend: targets, whichever is appropriate, so we don't get a
double run through the whole file tree.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 0f539dc1a2)

Conflicts:
	Makefile.org
	apps/Makefile
	test/Makefile
	crypto/cmac/Makefile
	crypto/srp/Makefile
2015-05-23 11:17:35 +02:00
..
.cvsignore Add emacs cache files to .cvsignore. 2005-04-11 14:17:07 +00:00
cnf_save.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf.h Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_api.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_api.h Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_def.c Re-align some comments after running the reformat script. 2015-01-22 09:46:52 +00:00
conf_def.h Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_err.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_lib.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_mall.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_mod.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
conf_sap.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00
keysets.pl Allow 8-bit characters. This is not really complete, it only marks 2002-01-02 11:06:02 +00:00
Makefile Fix the update target and remove duplicate file updates 2015-05-23 11:17:35 +02:00
README Tidy up docs, remove warning. 2007-05-10 17:35:37 +00:00
ssleay.cnf Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
test.c Run util/openssl-format-source -v -c . 2015-01-22 09:46:18 +00:00

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

Currently the routines should be called at most once when an application
starts up: that is before it starts any threads.

The routines read a configuration file set up like this:

-----
#default section
openssl_conf=init_section

[init_section]

module1=value1
#Second instance of module1
module1.1=valueX
module2=value2
module3=dso_literal
module4=dso_section

[dso_section]

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:

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.

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.

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

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

and may also include a finish function:

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);

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(). 

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.