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

Re: commit: ldap/servers/slapd/overlays pcache.c

Pierangelo Masarati wrote:

Also, is it okay not to call acl_append() when non-NULL be is given to
backend_startup() ?

I guess it is. As long as backend_startup() is called with NULL when all the -regular- databases exist, global ACLs get appended to database specific ones. The only case of backend_startup() called for a specific database should be that of special purpose, internal databases like pcache, so they should not need ACLs. In any case I wonder if it would be

The internal databases can be used with non-root user although it's not likely.

I mean: if a database is defined as internal, i.e. it does not belong to
the regular database structure, it is very likely that it is used only by
those who created it (e.g. proxy cache); of course, if one needs to create
a database that is directly visible to regular users, there might be
access control issues.  In that case, the creator of the database should
take care of it, or try to make the internal database fit into the
standard, front-end managed infrastructure.

the case to split backend_startup() in backendInfo_startup(BackendInfo
and backendDB_startup(BackendDB *) and call each of them from inside
backend_startup(void) for all regular backends first and for all regular
databases then.  This way, we would have the possibility to startup each
special or internal database that we add, and we could even add backends
and start them up separately.

I've added a backend_startup_one() to condense some of this code. Some more refinement may be nice. But I agree, the creator of the internal database ought to control what other features it needs.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support