From 4b8e60f843cffb323a33d3f04a3fac932959c6ae Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Mon, 21 Oct 2024 14:58:23 +0100 Subject: [PATCH] ITS#9042 Log modify values under STATS2 --- servers/slapd/modify.c | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index 5d19ee8d8e..cdfddd50fa 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -127,7 +127,44 @@ do_modify( } } - if (LogTest( LDAP_DEBUG_STATS ) ) { + if ( LogTest( LDAP_DEBUG_STATS2 ) ) { + Modifications *prevmod = NULL; + + for ( tmp = op->orm_modlist; tmp != NULL; tmp = tmp->sml_next ) { + unsigned int i; + char optype = '?'; + + switch (tmp->sml_op) { + case LDAP_MOD_ADD: + optype = '+'; + break; + case LDAP_MOD_DELETE: + optype = '-'; + break; + case LDAP_MOD_REPLACE: + optype = '='; + break; + case LDAP_MOD_INCREMENT: + optype = '#'; + break; + } + + if ( prevmod && tmp->sml_op == prevmod->sml_op && + ber_bvcmp( &prevmod->sml_type, &tmp->sml_type ) == 0 ) { + Debug( LDAP_DEBUG_STATS2, "%s MOD -\n", op->o_log_prefix ); + } + prevmod = tmp; + + if ( !tmp->sml_values ) { + Debug( LDAP_DEBUG_STATS2, "%s MOD %s%c=\n", + op->o_log_prefix, tmp->sml_type.bv_val, optype ); + } else for ( i=0; !BER_BVISNULL( &tmp->sml_values[i] ); i++ ) { + Debug( LDAP_DEBUG_STATS2, "%s MOD %s%c=\"%s\"\n", + op->o_log_prefix, tmp->sml_type.bv_val, optype, + tmp->sml_values[i].bv_val ); + } + } + } else if ( LogTest( LDAP_DEBUG_STATS ) ) { char abuf[BUFSIZ/2], *ptr = abuf; int len = 0; -- 2.47.2