Plugins and configuration

Nico Williams <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.heimdal.general
Message-ID <CAK3OfOgKTqa-KvS5hw2-AKwgzT1MkQDe0_2h43uaACCtd2bSLw@mail.gmail.com>
Currently Heimdal loads all plugins found in a common directory.
These then get invoked in some order.

This is not very satisfying, at least for me, but I think others as
well (Roland?).  For one the lack of control over invocation order
makes it difficult to get desired semantics when more than one plugin
is required for any pluggable module.  There's also a concern that
installation of packages that install Heimdal plugins can change the
behavior of the running system without having to make an explicit
configuration modification.

I'd like to have more control over which plugins get loaded and
invocation order.  I'd also like a consistent, agreed-upon convention
for configuring plugins.

Some ideas:

1) Add a per-plugin module configuration parameter listing plugins.
Plugins that need configuration have their own krb5.conf parameters.

Something like:

[plugins]
    aname2lname = bdb cdb rewrite_rules default
    ...
[libdefaults]
    aname2lname-bdb = /etc/an2ln.db

or all of that in [libdefaults].

2) Add a configuration parameter listing plugins [regardless of
module].  Plugins that need configuration have their own krb5.conf
parameters.

Something like:

[libdefaults]
    plugins = ...
    aname2lname-bdb = /etc/an2ln.db

3a) For each plugin module add a configuration parameter listing
plugins by some short-form name and plugin configuration parameters.
This means loading them all as we do today at krb5_init_context()
time, but having invocation order specified in the configuration.  All
plugins get invoked, but ones not mentioned in the config are expected
to do nothing.

Something like;

[libdefaults]
    aname2lname = BDB:/etc/an2ln.db RULES:/etc/an2ln-rules DEFAULT

3b) For each plugin module add a configuration parameter listing
plugins by some short-form name and plugin configuration parameters.
This means loading them all as we do today at krb5_init_context()
time, but having invocation order specified in the configuration.
Only plugins mentioned in the config are invoked.

4) ??

Preferences?

Nico
--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.