Full_Name: Matt Hamilton
Submission from: (NULL) (18.104.22.168)
I am using the meta backend to query multiple LDAP (AD) backends. This is to
consolidate several directories in different departments into one. We attempt
both simple binds with username/password and also anon binds to look up user
suffixmassage "DC=hscic,DC=nhs,DC=uk" "OU=Accounts - Active Users,
objects, DC=npfit, DC=nhs, DC=uk"
binddn="CN=webuser,OU=Surnames Q to Z,OU=Accounts - Active
At the moment, trying to do an authenticated simple bind to slapd caused an
Operational Error to be propagated to the client regardless of the setting of
'onerr'. Even when a result is successfully found. This is due to one server in
the backend succeeding and the other returning an operational error due to an
invalid bind (as would be expected as the credentials supplied from the client
will only work with one of the backends).
Looking at servers/slapd/back-meta/search.c at around line 1903 it appears that
the code is not checking for 'Operational Error' as a specific case above and so
uses the default case (line 1665). Hence sres is set to 'Operational Error' too
at line 1934.
The server should be changing this to LDAP_SUCCESS somewhere in that logic