X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbind.c;h=8c261489e8657f7226c542a45dc2ff66458db421;hb=4361a942abb69d6b3dbae637cddb4055080fe6fa;hp=1c1d4db1f198dbea9ba4a11c6218df8972b223f9;hpb=ea92291cb63f7c61e3ec254962634a92592f3a6b;p=openldap diff --git a/servers/slapd/bind.c b/servers/slapd/bind.c index 1c1d4db1f1..8c261489e8 100644 --- a/servers/slapd/bind.c +++ b/servers/slapd/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -223,6 +223,7 @@ int fe_op_bind( Operation *op, SlapReply *rs ) { struct berval mech = op->orb_tmp_mech; + BackendDB *bd = op->o_bd; /* check for inappropriate controls */ if( get_manageDSAit( op ) == SLAP_CONTROL_CRITICAL ) { @@ -387,9 +388,8 @@ fe_op_bind( Operation *op, SlapReply *rs ) /* don't return referral for bind requests */ /* noSuchObject is not allowed to be returned by bind */ rs->sr_err = LDAP_INVALID_CREDENTIALS; - op->o_bd = frontendDB; + op->o_bd = bd; send_ldap_result( op, rs ); - op->o_bd = NULL; goto cleanup; } @@ -452,6 +452,7 @@ fe_op_bind( Operation *op, SlapReply *rs ) } cleanup:; + op->o_bd = bd; return rs->sr_err; }