summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2004-03-01 19:15:24 +0000
committerDr. Stephen Henson <steve@openssl.org>2004-03-01 19:15:24 +0000
commitf2c18125607f0871df4cb5dfbeaf830f57811184 (patch)
tree7e408ef2228314b12e4be4f291cc926aca0f4f26 /doc
parent4cfa4ae820c24462c916a43d36d5daaeaf85345e (diff)
More autoconfig docs.
Diffstat (limited to 'doc')
-rw-r--r--doc/apps/config.pod81
1 files changed, 78 insertions, 3 deletions
diff --git a/doc/apps/config.pod b/doc/apps/config.pod
index cc102a9689..8f823fa6d6 100644
--- a/doc/apps/config.pod
+++ b/doc/apps/config.pod
@@ -87,8 +87,8 @@ section containing configuration module specific information. E.g.
... engine stuff here ...
-Currently there are two supported configuration modules supported. One for
-ASN1 objects another for ENGINE configuration.
+Currently there are two configuration modules. One for ASN1 objects another
+for ENGINE configuration.
=head2 ASN1 OBJECT CONFIGURATION MODULE
@@ -107,7 +107,82 @@ as any compliant applications. For example:
=head2 ENGINE CONFIGURATION MODULE
-To be continued...
+This ENGINE configuration module has the name B<engines>. The value of this
+variable points to a section containing further ENGINE configuration
+information.
+
+The section pointed to by B<engines> is a table of engine names (though see
+B<engine_id> below) and further sections containing configuration informations
+specific to each ENGINE.
+
+Each ENGINE specific section is used to set default algorithms, load
+dynamic, perform initialization and send ctrls. The actual operation performed
+depends on the I<command> name which is the name of the name value pair. The
+currently supported commands are listed below.
+
+For example:
+
+ [engine_section]
+
+ # Configure ENGINE named "foo"
+ foo = foo_section
+ # Configure ENGINE named "bar"
+ bar = bar_section
+
+ [foo_section]
+ ... foo ENGINE specific commands ...
+
+ [bar_section]
+ ... "bar" ENGINE specific commands ...
+
+The command B<engine_id> is used to give the ENGINE name. If used this
+command must be first. For example:
+
+ [engine_section]
+ # This would normally handle an ENGINE named "foo"
+ foo = foo_section
+
+ [foo_section]
+ # Override default name and use "myfoo" instead.
+ engine_id = myfoo
+
+The command B<dynamic_path> loads and adds an ENGINE from the given path. It
+is equivalent to sending the ctrls B<SO_PATH> with the path argument followed
+by B<LIST_ADD> with value 2 and B<LOAD> to the dynamic ENGINE. If this is
+not the required behaviour then alternative ctrls can be sent directly
+to the dynamic ENGINE using ctrl commands.
+
+The command B<init> determines whether to initialize the ENGINE. If the value
+is B<0> the ENGINE will not be initialized, if B<1> and attempt it made to
+initialized the ENGINE immediately. If the B<init> command is not present
+then an attempt will be made to initialize the ENGINE after all commands in
+its section have been processed.
+
+The command B<default_algorithms> sets the default algorithms an ENGINE will
+supply using the functions B<ENGINE_set_default_string()>
+
+If the name matches none of the above command names it is assumed to be a
+ctrl command which is sent to the ENGINE. The value of the command is the
+argument to the ctrl command. If the value is the string B<EMPTY> then no
+value is sent to the command.
+
+For example:
+
+
+ [engine_section]
+
+ # Configure ENGINE named "foo"
+ foo = foo_section
+
+ [foo_section]
+ # Load engine from DSO
+ dynamic_path = /some/path/fooengine.so
+ # A foo specific ctrl.
+ some_ctrl = some_value
+ # Another ctrl that doesn't take a value.
+ other_ctrl = EMPTY
+ # Supply all default algorithms
+ default_algorithms = ALL
=head1 NOTES