Full_Name: Quanah Gibson-Mount
Submission from: (NULL) (184.108.40.206)
The pcache backend to slapd has the option for attr sets to note if an attribute
that being cached is not defined in the local schema by prefixing it with
"undef:", such as "undef:myattr". While this functionality works
pcache is using back-bdb or back-hdb, it does not work with back-mdb. In the
case where back-mdb is used, an error will be logged if the hidden "pcaache"
loglevel is used, but it will still attempt to answer queries (it will return no
results, but with a success return code).
pcache uses slap_bv2tmp_ad() to register undef attributes. It looks like
there's a bug here in that it doesn't initialize ad->ad_index. (bv2undef
initializes this to zero.) Of course, that still doesn't change the fact that
back-mdb requires schema to be fully defined.
At a minimum, the documentation needs to be updated to note this
incompatibility. It would be additionally useful if either slapd would refuse
to start if undef was used on top of back-mdb, or pcache would log an error that
it could not answer the result from the cache, and fall back to doing a direct
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/