Okay, I figured it out -- This is definitely a misconfiguration type scenario...
The database is something like:
database bdb base "dc=example,dc=com"
...
Then the syncrepl config has: searchbase=""
I'm not sure this is something that should be allowed -- where the search base is broader than the database.
I'm not sure either, but in any case this is triggering a bug: an internal search is performed with base "" and scope "sub"; even though the database is configured to serve "dc=example,dc=com", it answers "success" with no data, since it erroneously treats itself as if handling the empty suffix. I think the bug here is that an internal search should never be invoked without making sure whether the base is within the naming context of the database. If the above configuration does not make sense, the check can be done at configuration; otherwise, it needs to be dealt with from within syncrepl_entry(). I vote for the first.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------