Commit af7ce80c authored by Ondřej Kuzník's avatar Ondřej Kuzník Committed by Ondřej Kuzník
Browse files

Remember and clear bind status correctly

parent 05f2ac25
......@@ -315,6 +315,9 @@ client_bind( Connection *client, Operation *op )
client->c_type = SLAP_C_OPEN;
client_reset( client );
rc = tavl_insert( &client->c_ops, op, operation_client_cmp, avl_dup_error );
assert( rc == LDAP_SUCCESS );
CONNECTION_UNLOCK_INCREF(client);
upstream = backend_select( op );
......@@ -355,10 +358,18 @@ client_bind( Connection *client, Operation *op )
if ( !--op->o_client_refcnt ) {
operation_destroy_from_client( op );
} else {
rc = tavl_insert(
&client->c_ops, op, operation_client_cmp, avl_dup_error );
assert( rc == LDAP_SUCCESS );
if ( client->c_state == SLAP_C_BINDING ) {
client->c_state = SLAP_C_READY;
client->c_type = SLAP_C_OPEN;
if ( !BER_BVISNULL( &client->c_auth ) ) {
ber_memfree( client->c_auth.bv_val );
BER_BVZERO( &client->c_auth );
}
if ( !BER_BVISNULL( &client->c_sasl_bind_mech ) ) {
ber_memfree( client->c_sasl_bind_mech.bv_val );
BER_BVZERO( &client->c_sasl_bind_mech );
}
}
}
return rc;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment