mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-02-05 13:40:08 +08:00
ITS#9538 Only queue csns for ops that don't get skipped
This commit is contained in:
parent
8f8674fc86
commit
781a6c25a7
@ -1515,7 +1515,7 @@ accesslog_response(Operation *op, SlapReply *rs)
|
||||
Attribute *a, *last_attr;
|
||||
Modifications *m;
|
||||
struct berval *b, uuid = BER_BVNULL;
|
||||
int i;
|
||||
int i, success;
|
||||
int logop;
|
||||
slap_verbmasks *lo;
|
||||
Entry *e = NULL, *old = NULL, *e_uuid = NULL;
|
||||
@ -1547,6 +1547,16 @@ accesslog_response(Operation *op, SlapReply *rs)
|
||||
if ( op->o_dont_replicate )
|
||||
goto skip;
|
||||
|
||||
/*
|
||||
* ITS#9051 Technically LDAP_REFERRAL and LDAP_SASL_BIND_IN_PROGRESS
|
||||
* are not errors, but they aren't really success either
|
||||
*/
|
||||
success = rs->sr_err == LDAP_SUCCESS ||
|
||||
rs->sr_err == LDAP_COMPARE_TRUE ||
|
||||
rs->sr_err == LDAP_COMPARE_FALSE;
|
||||
if ( li->li_success && !success )
|
||||
goto skip;
|
||||
|
||||
if ( !( li->li_ops & lo->mask ) ) {
|
||||
log_base *lb;
|
||||
|
||||
@ -1595,15 +1605,6 @@ accesslog_response(Operation *op, SlapReply *rs)
|
||||
BER_BVZERO( &li->li_uuid );
|
||||
ldap_pvt_thread_mutex_unlock( &li->li_op_rmutex );
|
||||
|
||||
/*
|
||||
* ITS#9051 Technically LDAP_REFERRAL and LDAP_SASL_BIND_IN_PROGRESS
|
||||
* are not errors, but they aren't really success either
|
||||
*/
|
||||
if ( li->li_success && rs->sr_err != LDAP_SUCCESS &&
|
||||
rs->sr_err != LDAP_COMPARE_TRUE &&
|
||||
rs->sr_err != LDAP_COMPARE_FALSE )
|
||||
goto done;
|
||||
|
||||
e = accesslog_entry( op, rs, li, logop, &op2 );
|
||||
|
||||
if ( !BER_BVISNULL( &op->o_req_ndn ))
|
||||
|
Loading…
Reference in New Issue
Block a user