[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#3429) Contrib : automatic schema download



Raphael,

I think your patch is really well contained, and can be of use to many
people.  My suggestion is to rearrange it as a dynamically loadable
module; then all one needs to do is load it __after__ all schema reading
(including loading those backends, modules and overlays that register
schema items of their own).  This would greatly simplify its use, and
eliminate any merging problem with the main branch.  You may move the
config options to a list of args preceded by their name, much like in the
replica/syncrepl statements, e.g.

moduleload downloadschema.so
        uri=ldap://remote:389
        binddn=cn=someone
        bindpw=secret
        ignore-unknown-syntaxes=yes

One point I caught by quickly surfing your code is that you install very
plain generic routines for processing unknown items.  I think a better
approach would be to use those of the "undefined" attributeType, that you
find in slap_schema.si_at_undefined; it used to refer to the
distinguishedName syntax, but recently, in HEAD, it was pointed to
octetString, which is very neutral and may serve your purpose.  I'd also
add the possibility to ignore attributeTypes with undefined syntaxes.

If you develop it as a module, I think we can host it in
contrib/slapd-modules.  I note the directory
contrib/slapd-modules/dsaschema already contains a module that reads
schema files; I don't see much difference from directly including those
files in slapd.conf, but I might be missing something.  You may follow
that as a guideline; your module would add some value by performing the
operation via LDAP.

p.

-- 
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it


    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497