Home | History | Annotate | only in /external/openssl/crypto/conf
Up to higher level directory
NameDateSize
cnf_save.c03-Jun-20144K
conf.h03-Jun-20149.6K
conf_api.c03-Jun-20148.3K
conf_api.h03-Jun-20144K
conf_def.c03-Jun-201415.7K
conf_def.h03-Jun-20149K
conf_err.c03-Jun-20145.5K
conf_lib.c03-Jun-20149.3K
conf_mall.c03-Jun-20143.1K
conf_mod.c03-Jun-201414.1K
conf_sap.c03-Jun-20143.8K
keysets.pl03-Jun-20146.8K
README03-Jun-20142.2K
ssleay.cnf03-Jun-20141.6K
test.c03-Jun-20144K

README

      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 
     74