]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/repl.c
Fixup bdb_entry_release now that entry_decode uses two memory blocks
[openldap] / servers / slapd / repl.c
index 2dc8344f8ef39468b8ae34473c2bc7444f75d6d6..dff5b5c82bc7b741aebb3f0f16d6ba4f0b5e9e65 100644 (file)
@@ -46,6 +46,30 @@ add_replica_info(
        return( i );
 }
 
+int
+add_replica_suffix(
+    Backend     *be,
+    int                nr,
+    const char  *suffix
+)
+{
+       char    *nsuffix = ch_strdup( suffix );
+       int     rc = 0;
+
+       if ( dn_normalize( nsuffix ) != NULL ) {
+               if ( select_backend( nsuffix, 0 ) == be ) {
+                       charray_add( &be->be_replica[nr]->ri_nsuffix, nsuffix );
+               } else {
+                       rc = 1;
+               }
+       } else {
+               rc = 2;
+       }
+       free( nsuffix );
+
+       return( rc );
+}
+
 void
 replog(
     Backend    *be,
@@ -136,7 +160,7 @@ replog(
                ml = change;
                for ( ; ml != NULL; ml = ml->sml_next ) {
                        char *type;
-                       type = ml->sml_desc->ad_cname->bv_val;
+                       type = ml->sml_desc->ad_cname.bv_val;
                        switch ( ml->sml_op ) {
                        case LDAP_MOD_ADD:
                                fprintf( fp, "add: %s\n", type );