From acc2500114aa5251522b3b3c77837c080d0237c5 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 9 Dec 2001 02:47:39 +0000 Subject: [PATCH] Added ndn to replog args, eliminate unnecessary dn_normalize in replog. --- servers/slapd/add.c | 2 +- servers/slapd/back-ldbm/passwd.c | 2 +- servers/slapd/delete.c | 2 +- servers/slapd/modify.c | 2 +- servers/slapd/modrdn.c | 2 +- servers/slapd/proto-slap.h | 2 +- servers/slapd/repl.c | 14 ++------------ 7 files changed, 8 insertions(+), 18 deletions(-) diff --git a/servers/slapd/add.c b/servers/slapd/add.c index f0d75237ff..1af8aaeb47 100644 --- a/servers/slapd/add.c +++ b/servers/slapd/add.c @@ -286,7 +286,7 @@ do_add( Connection *conn, Operation *op ) if ( !repl_user ) #endif { - replog( be, op, e->e_dn, e ); + replog( be, op, e->e_dn, e->e_ndn, e ); } be_entry_release_w( be, conn, op, e ); e = NULL; diff --git a/servers/slapd/back-ldbm/passwd.c b/servers/slapd/back-ldbm/passwd.c index 4e3df088e3..a827d494f6 100644 --- a/servers/slapd/back-ldbm/passwd.c +++ b/servers/slapd/back-ldbm/passwd.c @@ -162,7 +162,7 @@ ldbm_back_exop_passwd( rc = LDAP_OTHER; } - replog( be, op, e->e_dn, &ml ); + replog( be, op, e->e_dn, e->e_ndn, &ml ); } done: diff --git a/servers/slapd/delete.c b/servers/slapd/delete.c index 5d10e369d7..492d44c2bd 100644 --- a/servers/slapd/delete.c +++ b/servers/slapd/delete.c @@ -170,7 +170,7 @@ do_delete( if (be->be_update_ndn == NULL || !repl_user ) #endif { - replog( be, op, dn, NULL ); + replog( be, op, dn, ndn, NULL ); } } #ifndef SLAPD_MULTIMASTER diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index b988009479..081e484b68 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -364,7 +364,7 @@ do_modify( #endif ) { /* but we log only the ones not from a replicator user */ - replog( be, op, dn, mods ); + replog( be, op, dn, ndn, mods ); } #ifndef SLAPD_MULTIMASTER diff --git a/servers/slapd/modrdn.c b/servers/slapd/modrdn.c index 0ae0916fb9..1d57bd875b 100644 --- a/servers/slapd/modrdn.c +++ b/servers/slapd/modrdn.c @@ -321,7 +321,7 @@ do_modrdn( moddn.deloldrdn = deloldrdn; moddn.newsup = newSuperior; - replog( be, op, dn, &moddn ); + replog( be, op, dn, ndn, &moddn ); } #ifndef SLAPD_MULTIMASTER } else { diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 4dc32c9035..4f27f33e6b 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -516,7 +516,7 @@ LDAP_SLAPD_F (char *) phonetic LDAP_P(( char *s )); */ LDAP_SLAPD_F (int) add_replica_info LDAP_P(( Backend *be, const char *host )); LDAP_SLAPD_F (int) add_replica_suffix LDAP_P(( Backend *be, int nr, const char *suffix )); -LDAP_SLAPD_F (void) replog LDAP_P(( Backend *be, Operation *op, char *dn, void *change )); +LDAP_SLAPD_F (void) replog LDAP_P(( Backend *be, Operation *op, char *dn, char *ndn, void *change )); /* * referral.c diff --git a/servers/slapd/repl.c b/servers/slapd/repl.c index dff5b5c82b..42f4a090b1 100644 --- a/servers/slapd/repl.c +++ b/servers/slapd/repl.c @@ -75,6 +75,7 @@ replog( Backend *be, Operation *op, char *dn, + char *ndn, void *change ) { @@ -100,16 +101,6 @@ replog( return; } - tmp = ch_strdup( dn ); - if ( dn_normalize( tmp ) == NULL ) { - /* something has gone really bad */ - ch_free( tmp ); - - lock_fclose( fp, lfp ); - ldap_pvt_thread_mutex_unlock( &replog_mutex ); - return; - } - for ( i = 0; be->be_replica != NULL && be->be_replica[i] != NULL; i++ ) { /* check if dn's suffix matches legal suffixes, if any */ @@ -117,7 +108,7 @@ replog( int j; for ( j = 0; be->be_replica[i]->ri_nsuffix[j]; j++ ) { - if ( dn_issuffix( tmp, be->be_replica[i]->ri_nsuffix[j] ) ) { + if ( dn_issuffix( ndn, be->be_replica[i]->ri_nsuffix[j] ) ) { break; } } @@ -134,7 +125,6 @@ replog( #endif } - ch_free( tmp ); #ifdef NO_LOG_WHEN_NO_REPLICAS if ( count == 0 ) { /* if no replicas matched, drop the log -- 2.39.5