Re: Plugins and configuration
"Henry B. Hotz" <[email protected]>
| Newsgroups | gmane.comp.encryption.kerberos.heimdal.general |
|---|---|
| Message-ID | <[email protected]> |
I think it ought to be consistent with how password quality plugins are configured.
It might also be desirable to have some hierarchical plugin config parameter syntax so if two plugins use the same config parameter name it's still unambiguous. As one possible example:
[plugindefaults]
aname2lname:bdb = {
rewrite_rule = ...
}
aname2lname:cdb = {
rewrite_rule = ...
}
On Oct 25, 2011, at 3:30 PM, Nico Williams wrote:
> 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
> --
------------------------------------------------------
The opinions expressed in this message are mine,
not those of Caltech, JPL, NASA, or the US Government.
[email protected], or [email protected]