mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
Fix operation status tracking.
An operation is rejected iff it has to be dropped before we can find an upstream for it (unless we handle it ourselves, that is). At that point it is failed unless completed successfully. This makes a difference for multi-stage binds which alternate between 'failed' (we are waiting on a server response) and 'completed' (server did what we asked them to, waiting on client to continue).
This commit is contained in:
parent
cfe9065824
commit
edfb3d73d6
2 changed files with 2 additions and 0 deletions
|
|
@ -408,6 +408,7 @@ request_bind( LloadConnection *client, LloadOperation *op )
|
|||
op->o_upstream = upstream;
|
||||
op->o_upstream_connid = upstream->c_connid;
|
||||
op->o_upstream_msgid = upstream->c_next_msgid++;
|
||||
op->o_res = LLOAD_OP_FAILED;
|
||||
|
||||
if ( BER_BVISNULL( &mech ) ) {
|
||||
if ( !BER_BVISNULL( &upstream->c_sasl_bind_mech ) ) {
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@ request_process( LloadConnection *client, LloadOperation *op )
|
|||
}
|
||||
op->o_upstream = upstream;
|
||||
op->o_upstream_connid = upstream->c_connid;
|
||||
op->o_res = LLOAD_OP_FAILED;
|
||||
|
||||
output = upstream->c_pendingber;
|
||||
if ( output == NULL && (output = ber_alloc()) == NULL ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue