Ralf Haferkamp wrote:
On Wednesday 02 March 2005 06:10, Howard Chu wrote:Heh, yes, my announcement was premature, that's not implemented yet but of course will be.
Now that I've got all of the frontend and back-bdb config keywordsIt's great to see this feature getting implemented. One thing I was missing during a quick test is the "index" directive for back-bdb. But maybe that just not implemented right now.
implemented (read-only) I'd appreciate some feedback on the schema
etc. before moving ahead to doing the write operations.
One thing I currently don't quite understand in the purpose of the olcIncludeFiles Objects. Is it planned to have the contents of include file available in the future as well? Or is it just to have the possibility to add/delete the includes? As long as one has only schema definitions in includes files this might be enough, but some people like to have other stuff there (e.g. to have the access rules in a separate file).I guess for now the only purpose is add/delete. I have a couple other items stashed in there (modload/modpath, rootdse) simply because they had no other storage location yet, but overall I'd rather not have the (physical) include file hierarchy affect the (logical) configuration hierarchy. It's especially problematic since there's no structure enforced in include files, so clauses that constitute a single config object can be scattered across many files. A direct representation of that layout would result in a lot of incomplete object slices scattered across the include tree, too incoherent for manageability.
Just using cn=access,olcdatabase={0}frontend for the global ACLs would make things easier, yes.Yes, and IMO the same applies for the access control directives. I think that would make it more clearly laid out.Having gone thru all of this config stuff, a lot of other ideas came to mind:
slurpd replica configuration should probably have both an included and excluded attrs list, like syncrepl does. It would greatly simplify the exclusion processing in repl.c. Also, deleting the an_oc_exclude flag from the AttributeName structure would simplify things too.
I wonder if replication (syncrepl and slurpd) directives should be in
their own objects, subordinate to the database object.
E.g. having "cn=access,olcDatabase={1}bdb,cn=config" for database specific ACLs and either "cn=access,olcDatabase={0}frontend,cn=config"
or "cn=access,cn=config" for global ACLs.
Hmm, I just recognized that at the moment global ACLs show up in both Objects (cn=config, and olcDatabase={0}frontend,cn=config). I guess this isn't wanted?
Nope. I'll remove the access attribute from the cn=config objectclass.
I find writing schemas unbearable without using OID macros. It would be nice to use them more overtly, using unqualified names (e.g., DirectoryString instead of my current OMsDirectoryString).
Some of the back-config retrieval functions will no-op if they're in
their default values, but many of them just return a value, default
or not. The goal was to to return only as much text as would have
been in the slapd.conf file originally, but more consistency would
probably be better here.
-- -- Howard Chu Chief Architect, Symas Corp. Director, Highland Sun http://www.symas.com http://highlandsun.com/hyc Symas: Premier OpenSource Development and Support