X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbind.c;h=7cb354ac1a75e7e6588d7f4d101d79062bc364cc;hb=aec88f98bdc3bee0db6fe819deddb64a8e6a0461;hp=fbffeebc9fae67fd80dc51637beccb11ef1e99be;hpb=238f7361d66d6920c47f9c478f2dba87e276c55d;p=openldap diff --git a/servers/slapd/bind.c b/servers/slapd/bind.c index fbffeebc9f..7cb354ac1a 100644 --- a/servers/slapd/bind.c +++ b/servers/slapd/bind.c @@ -12,15 +12,14 @@ * is provided ``as is'' without express or implied warranty. */ +#include "portable.h" + #include -#include -#include -#include -#include "slap.h" -extern Backend *select_backend(); +#include +#include -extern char *default_referral; +#include "slap.h" void do_bind( @@ -29,7 +28,8 @@ do_bind( ) { BerElement *ber = op->o_ber; - int version, method, len, rc; + int version, method, len; + unsigned long rc; char *dn; struct berval cred; Backend *be; @@ -50,7 +50,7 @@ do_bind( * } */ -#ifdef COMPAT30 +#ifdef LDAP_COMPAT30 /* * in version 3.0 there is an extra SEQUENCE tag after the * BindRequest SEQUENCE tag. @@ -79,13 +79,13 @@ do_bind( "decoding error" ); return; } -#ifdef COMPAT30 +#ifdef LDAP_COMPAT30 if ( conn->c_version == 30 ) { switch ( method ) { case LDAP_AUTH_SIMPLE_30: method = LDAP_AUTH_SIMPLE; break; -#ifdef KERBEROS +#ifdef HAVE_KERBEROS case LDAP_AUTH_KRBV41_30: method = LDAP_AUTH_KRBV41; break; @@ -155,6 +155,9 @@ do_bind( return; } + /* alias suffix */ + dn = suffixAlias ( dn, op, be ); + if ( be->be_bind != NULL ) { if ( (*be->be_bind)( be, conn, op, dn, method, &cred ) == 0 ) { pthread_mutex_lock( &conn->c_dnmutex );