The manageDSAit control (2.16.840.1.113730.3.4.2) seems to be the key
to the issue you're facing; in fact, when selecting the appropriate
database, if a request is done with the local suffix select_backend()
fails when manageDSAit is set. I don't quite understand this, but it
results in selecting the only remaining database that matches the
request DN, namely the "" database. The offending code is
if( manageDSAit && len == dnlen &&
!SLAP_GLUE_SUBORDINATE( be ) ) {
continue;
}
in backend.c; to me, it looks a bit obscure.