]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8990 pickup SLAP_MOD_SOFT modops
authorHoward Chu <hyc@openldap.org>
Mon, 11 Mar 2019 16:47:45 +0000 (16:47 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 11 Mar 2019 18:52:26 +0000 (18:52 +0000)
servers/slapd/overlays/accesslog.c

index 95665d30cb343549ba0b0f1065eb56e8cc0bc9a7..b3030144915d387801d183d2f66048bd01e2bb06 100644 (file)
@@ -1591,6 +1591,7 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
                        if ( m->sml_values ) {
                                i += m->sml_numvals;
                        } else if ( m->sml_op == LDAP_MOD_DELETE ||
+                               m->sml_op == SLAP_MOD_SOFTDEL ||
                                m->sml_op == LDAP_MOD_REPLACE )
                        {
                                i++;
@@ -1639,8 +1640,10 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
                                        char c_op;
 
                                        switch ( m->sml_op ) {
-                                       case LDAP_MOD_ADD: c_op = '+'; break;
-                                       case LDAP_MOD_DELETE:   c_op = '-'; break;
+                                       case LDAP_MOD_ADD:      /* FALLTHRU */
+                                       case SLAP_MOD_SOFTADD: c_op = '+'; break;
+                                       case LDAP_MOD_DELETE: /* FALLTHRU */
+                                       case SLAP_MOD_SOFTDEL: c_op = '-'; break;
                                        case LDAP_MOD_REPLACE:  c_op = '='; break;
                                        case LDAP_MOD_INCREMENT:        c_op = '#'; break;
 
@@ -1653,6 +1656,7 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
                                        accesslog_val2val( m->sml_desc, b, c_op, &vals[i] );
                                }
                        } else if ( m->sml_op == LDAP_MOD_DELETE ||
+                               m->sml_op == SLAP_MOD_SOFTDEL ||
                                m->sml_op == LDAP_MOD_REPLACE )
                        {
                                vals[i].bv_len = m->sml_desc->ad_cname.bv_len + 2;
@@ -1660,7 +1664,7 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
                                ptr = lutil_strcopy( vals[i].bv_val,
                                        m->sml_desc->ad_cname.bv_val );
                                *ptr++ = ':';
-                               if ( m->sml_op == LDAP_MOD_DELETE ) {
+                               if ( m->sml_op == LDAP_MOD_DELETE || m->sml_op == SLAP_MOD_SOFTDEL ) {
                                        *ptr++ = '-';
                                } else {
                                        *ptr++ = '=';