Merge branch 'modular-load'
authorTobias Brunner <tobias@strongswan.org>
Wed, 12 Feb 2014 14:24:47 +0000 (15:24 +0100)
committerTobias Brunner <tobias@strongswan.org>
Wed, 12 Feb 2014 14:51:42 +0000 (15:51 +0100)
commit55015036183c47692c2e2349a4c59bf00c107986
tree14873410282a6bf80f2f6a4462f0df4bb1b87189
parent4f8bd6d4049e2c1ce9aa33dd61522414fb078ec0
parentefce4559e86cc145500fbd6373e68e500d6d6b44
Merge branch 'modular-load'

Introduces a new configuration file layout. strongswan.conf is now only
very simple and mainly includes the config snippets from the strongswan.d
and strongswan.d/charon directories (the latter containing snippets for
individual plugins).

Config snippets with commented defaults are generated for all currently
defined settings and are installed if they don't exist yet and the
respective plugin/component is enabled.  Similarly, the strongswan.conf(5)
man page, which documents all these settings, is automatically generated
from the same source.
The config snippets are also installed in $prefix/share/strongswan so
existing files can be compared to the most current defaults.

As an alternative to the non-extensible charon.load option, the plugins
to load can now be determined via the respective charon.plugins.<name>.load
setting.  This functionality is enabled by the new default strongswan.conf
file (via the charon.load_modular option) and the load setting in the
generated config snippets of all enabled plugins.  The load setting
optionally takes a numeric priority value that allows reordering the
plugins (plugins with the same priority are ordered according to the
default plugin order).

Additionally, all settings that were formerly defined in library
specific "global" sections are now application specific.  For instance,
instead of configuring libstrongswan.plugins.random.random and affecting
charon, charon-cmd, pki, basically every application using libstrongswan,
the option can now be set individually for each application (e.g.
pki.plugins.random.random to affect only pki).  The old options are still
supported though, which actually allows to define defaults for all
applications in the libstrongswan section.

The libtls options are mapped to <app>.tls. The libimcv and libtnccs options
are mapped to <app>.imcv and <app>.tnc, respectively (while their plugin's
options are now under <app>.plugins together with all the others).

Fixes #475.