]> git.sur5r.net Git - openldap/commitdiff
Call normalizer directly, not rdnNormalize.
authorHoward Chu <hyc@openldap.org>
Wed, 5 Oct 2005 15:51:34 +0000 (15:51 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 5 Oct 2005 15:51:34 +0000 (15:51 +0000)
servers/slapd/overlays/accesslog.c

index ab2d1aad528e4a8ca97f67cbc94bae1b61aba986..88500027f888fbe35b307330f6a0238f6edad991 100644 (file)
@@ -654,6 +654,8 @@ static Entry *accesslog_entry( Operation *op, int logop ) {
        log_info *li = on->on_bi.bi_private;
 
        char rdnbuf[STRLENOF(RDNEQ)+LDAP_LUTIL_GENTIME_BUFSIZE+8];
+       char nrdnbuf[STRLENOF(RDNEQ)+LDAP_LUTIL_GENTIME_BUFSIZE+8];
+
        struct berval rdn, nrdn, timestamp, ntimestamp, bv;
        slap_verbmasks *lo = logops+logop+EN_OFFSET;
 
@@ -661,6 +663,8 @@ static Entry *accesslog_entry( Operation *op, int logop ) {
 
        strcpy( rdnbuf, RDNEQ );
        rdn.bv_val = rdnbuf;
+       strcpy( nrdnbuf, RDNEQ );
+       nrdn.bv_val = nrdnbuf;
 
        timestamp.bv_val = rdnbuf+STRLENOF(RDNEQ);
        timestamp.bv_len = sizeof(rdnbuf) - STRLENOF(RDNEQ);
@@ -669,7 +673,13 @@ static Entry *accesslog_entry( Operation *op, int logop ) {
        timestamp.bv_len += 7;
 
        rdn.bv_len = STRLENOF(RDNEQ)+timestamp.bv_len;
-       rdnNormalize( 0, NULL, NULL, &rdn, &nrdn, op->o_tmpmemctx );
+       ad_reqStart->ad_type->sat_equality->smr_normalize(
+               SLAP_MR_VALUE_OF_ASSERTION_SYNTAX, ad_reqStart->ad_type->sat_syntax,
+               ad_reqStart->ad_type->sat_equality, &timestamp, &ntimestamp,
+               op->o_tmpmemctx );
+
+       strcpy( nrdn.bv_val + STRLENOF(RDNEQ), ntimestamp.bv_val );
+       nrdn.bv_len += ntimestamp.bv_len;
        build_new_dn( &e->e_name, li->li_db->be_suffix, &rdn, NULL );
        build_new_dn( &e->e_nname, li->li_db->be_nsuffix, &nrdn, NULL );
 
@@ -677,11 +687,8 @@ static Entry *accesslog_entry( Operation *op, int logop ) {
                &log_ocs[logop]->soc_cname, NULL );
        attr_merge_one( e, slap_schema.si_ad_structuralObjectClass,
                &log_ocs[logop]->soc_cname, NULL );
-
-       ntimestamp.bv_val = nrdn.bv_val + STRLENOF(RDNEQ);
-       ntimestamp.bv_len = nrdn.bv_len - STRLENOF(RDNEQ);
        attr_merge_one( e, ad_reqStart, &timestamp, &ntimestamp );
-       op->o_tmpfree( nrdn.bv_val, op->o_tmpmemctx );
+       op->o_tmpfree( ntimestamp.bv_val, op->o_tmpmemctx );
 
        /* Exops have OID appended */
        if ( logop == LOG_EN_EXTENDED ) {