The proxy instance of
.BR slapd (8)
must contain schema information for the attributes and objectClasses
-used in filters, request DN and request-related data in general.
+used in filters, request DNs and request-related data in general.
It should also contain schema information for the data returned
by the proxied server.
It is the responsibility of the proxy administrator to keep the schema
LDAP server to use. Multiple URIs can be set in a single
.B ldapurl
argument, resulting in the underlying library automatically
-call the first server of the list that responds, e.g.
+calling the first server of the list that responds, e.g.
\fBuri "ldap://host/ ldap://backup\-host/"\fP
Whenever the server that responds is not the first one in the list,
the list is rearranged and the responsive server is moved to the head,
so that it will be first contacted the next time a connection
-needs be created.
+needs to be created.
.HP
.hy 0
.B acl\-bind
associated to this identity is cached regardless of the lifespan
of the client-proxy connection that first established it.
-.B This identity is by no means implicitly used by the proxy
+.B This identity is not implicitly used by the proxy
.B when the client connects anonymously.
The
.B idassert\-bind
.TP
.B conn\-ttl <time>
-This directive causes a cached connection to be dropped an recreated
+This directive causes a cached connection to be dropped and recreated
after a given ttl, regardless of being idle or not.
.TP
Allows to define the parameters of the authentication method that is
internally used by the proxy to authorize connections that are
authenticated by other databases.
+Direct binds are always proxied without any idassert handling.
+
The identity defined by this directive, according to the properties
associated to the authentication method, is supposed to have auth access
on the target server to attributes used on the proxy for authentication
or a SASL bind as the
.I authcID
and assert the client's identity when it is not anonymous.
-Direct binds are always proxied.
The other modes imply that the proxy will always either perform a simple bind
as the
.IR authcDN
ndn = op->o_ndn;
}
+ if ( !( li->li_idassert_flags & LDAP_BACK_AUTH_OVERRIDE )) {
+ if ( op->o_tag == LDAP_REQ_BIND ) {
+ if ( !BER_BVISEMPTY( &ndn )) {
+ dobind = 0;
+ goto done;
+ }
+ } else if ( SLAP_IS_AUTHZ_BACKEND( op )) {
+ dobind = 0;
+ goto done;
+ }
+ }
+
switch ( li->li_idassert_mode ) {
case LDAP_BACK_IDASSERT_LEGACY:
if ( !BER_BVISNULL( &ndn ) && !BER_BVISEMPTY( &ndn ) ) {