From: Howard Chu Date: Wed, 20 Apr 2011 19:31:27 +0000 (-0700) Subject: More for ITS#6815, Unbind and Abandon X-Git-Tag: OPENLDAP_REL_ENG_2_5_0ALPHA~1398 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a66c847833406d261660e8520cae41922d12292;p=thirdparty%2Fopenldap.git More for ITS#6815, Unbind and Abandon --- diff --git a/servers/slapd/overlays/accesslog.c b/servers/slapd/overlays/accesslog.c index 0c97edbbcf..d01c70d067 100644 --- a/servers/slapd/overlays/accesslog.c +++ b/servers/slapd/overlays/accesslog.c @@ -1920,8 +1920,18 @@ accesslog_unbind( Operation *op, SlapReply *rs ) SlapReply rs2 = {REP_RESULT}; Entry *e; - if ( !( li->li_ops & LOG_OP_UNBIND )) - return SLAP_CB_CONTINUE; + if ( !( li->li_ops & LOG_OP_UNBIND )) { + log_base *lb; + int i = 0; + + for ( lb = li->li_bases; lb; lb=lb->lb_next ) + if (( lb->lb_ops & LOG_OP_UNBIND ) && dnIsSuffix( &op->o_ndn, &lb->lb_base )) { + i = 1; + break; + } + if ( !i ) + return SLAP_CB_CONTINUE; + } e = accesslog_entry( op, rs, LOG_EN_UNBIND, &op2 ); op2.o_hdr = op->o_hdr; @@ -1955,9 +1965,22 @@ accesslog_abandon( Operation *op, SlapReply *rs ) char buf[64]; struct berval bv; - if ( !op->o_time || !( li->li_ops & LOG_OP_ABANDON )) + if ( !op->o_time ) return SLAP_CB_CONTINUE; + if ( !( li->li_ops & LOG_OP_ABANDON )) { + log_base *lb; + int i = 0; + + for ( lb = li->li_bases; lb; lb=lb->lb_next ) + if (( lb->lb_ops & LOG_OP_ABANDON ) && dnIsSuffix( &op->o_ndn, &lb->lb_base )) { + i = 1; + break; + } + if ( !i ) + return SLAP_CB_CONTINUE; + } + e = accesslog_entry( op, rs, LOG_EN_ABANDON, &op2 ); bv.bv_val = buf; bv.bv_len = snprintf( buf, sizeof( buf ), "%d", op->orn_msgid );