mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 16:19:35 -05:00
Fix rdn timestamp normalization
This commit is contained in:
parent
f093f6788f
commit
2027e19e01
1 changed files with 11 additions and 7 deletions
|
|
@ -654,7 +654,7 @@ 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];
|
||||
struct berval rdn, timestamp, bv;
|
||||
struct berval rdn, nrdn, timestamp, ntimestamp, bv;
|
||||
slap_verbmasks *lo = logops+logop+EN_OFFSET;
|
||||
|
||||
Entry *e = ch_calloc( 1, sizeof(Entry) );
|
||||
|
|
@ -665,19 +665,23 @@ static Entry *accesslog_entry( Operation *op, int logop ) {
|
|||
timestamp.bv_val = rdnbuf+STRLENOF(RDNEQ);
|
||||
timestamp.bv_len = sizeof(rdnbuf) - STRLENOF(RDNEQ);
|
||||
slap_timestamp( &op->o_time, ×tamp );
|
||||
if ( op->o_tincr ) {
|
||||
sprintf( timestamp.bv_val + timestamp.bv_len-1, ".%06dZ", op->o_tincr );
|
||||
timestamp.bv_len += 7;
|
||||
}
|
||||
sprintf( timestamp.bv_val + timestamp.bv_len-1, ".%06dZ", op->o_tincr );
|
||||
timestamp.bv_len += 7;
|
||||
|
||||
rdn.bv_len = STRLENOF(RDNEQ)+timestamp.bv_len;
|
||||
rdnNormalize( 0, NULL, NULL, &rdn, &nrdn, op->o_tmpmemctx );
|
||||
build_new_dn( &e->e_name, li->li_db->be_suffix, &rdn, NULL );
|
||||
build_new_dn( &e->e_nname, li->li_db->be_nsuffix, &rdn, NULL );
|
||||
build_new_dn( &e->e_nname, li->li_db->be_nsuffix, &nrdn, NULL );
|
||||
|
||||
attr_merge_one( e, slap_schema.si_ad_objectClass,
|
||||
&log_ocs[logop]->soc_cname, NULL );
|
||||
attr_merge_one( e, slap_schema.si_ad_structuralObjectClass,
|
||||
&log_ocs[logop]->soc_cname, NULL );
|
||||
attr_merge_one( e, ad_reqStart, ×tamp, NULL );
|
||||
|
||||
ntimestamp.bv_val = nrdn.bv_val + STRLENOF(RDNEQ);
|
||||
ntimestamp.bv_len = nrdn.bv_len - STRLENOF(RDNEQ);
|
||||
attr_merge_one( e, ad_reqStart, ×tamp, &ntimestamp );
|
||||
op->o_tmpfree( nrdn.bv_val, op->o_tmpmemctx );
|
||||
|
||||
/* Exops have OID appended */
|
||||
if ( logop == LOG_EN_EXTENDED ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue