quanah@zimbra.com wrote:
The example config is invalid.
### include schema/core.schema include schema/cosine.schema include schema/inetorgperson.schema # modulepath ../servers/slapd/overlays moduleload pcache.la
database ldap uri ldap://example.com suffix dc=example,dc=com rootdn dc=example,dc=com rootpw xxx
overlay pcache directory /tmp/testr/db.1.a pcache mdb 50000 2 500 3600 pcacheAttrset 0 mail uid pcacheAttrset 1 cn telephoneNumber pcachePersist TRUE pcacheTemplate (mail=) 0 10800 7200 pcacheTemplate (uid=) 1 10800 7200 index objectclass pres index mail,uid,telephoneNumber pres,eq
database monitor ###
"directory" is not a valid config keyword for the pcache overlay. It is a valid keyword for back-mdb, but here it was given before the "pcache mdb..." line so slapd doesn't yet know that back-mdb will be used. The slapo-pcache(5) manpage clearly states what directives are valid.
Personally I'd be fine with leaving this to SEGV as it does. Catching user errors doesn't help much in the long run; either way slapd will fail to start so there's no difference either way.
But in this case, the SEGV is now prevented in git master.