]> git.sur5r.net Git - openldap/commitdiff
Added ndn to replog args, eliminate unnecessary dn_normalize in replog.
authorHoward Chu <hyc@openldap.org>
Sun, 9 Dec 2001 02:47:39 +0000 (02:47 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 9 Dec 2001 02:47:39 +0000 (02:47 +0000)
servers/slapd/add.c
servers/slapd/back-ldbm/passwd.c
servers/slapd/delete.c
servers/slapd/modify.c
servers/slapd/modrdn.c
servers/slapd/proto-slap.h
servers/slapd/repl.c

index f0d75237fff61d5f5a67586fceef22c5e096e22c..1af8aaeb47e82423cf9d8088b4774ac9b537c6b3 100644 (file)
@@ -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;
index 4e3df088e347afc922b541c2acf301fb9915cee6..a827d494f69a157dc5e373faba27c2cd62baf642 100644 (file)
@@ -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:
index 5d10e369d7a00c04fcb7ecfb8d5a8b3a50a53df2..492d44c2bd37738ab7283bac61801df39ab8b5d6 100644 (file)
@@ -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
index b988009479efa814b170ec19060dc60248884d22..081e484b684ba9422a816dd2bda54135bda55b6b 100644 (file)
@@ -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
index 0ae0916fb95b188187e3587c730c79747e28e895..1d57bd875bfae9cce0f979fda40441d3d3b5e434 100644 (file)
@@ -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 {
index 4dc32c9035c5deb474b1ae3e9ef7ef216cf43054..4f27f33e6bdf70349d3180d59c17655878849c37 100644 (file)
@@ -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
index dff5b5c82bc7b741aebb3f0f16d6ba4f0b5e9e65..42f4a090b1404f6ded4525924da66ab478acd864 100644 (file)
@@ -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