summaryrefslogtreecommitdiff
path: root/source4/wrepl_server
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-10-19 16:25:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:44:58 -0500
commit7e3d377b1d72badc7b2338245aef3a51a152f35c (patch)
tree285fc90b2a88616cfa11a406703a79887a17fff2 /source4/wrepl_server
parentb47e65692706e1d3b2388ea9d49990e692709574 (diff)
downloadsamba-7e3d377b1d72badc7b2338245aef3a51a152f35c.tar.gz
samba-7e3d377b1d72badc7b2338245aef3a51a152f35c.tar.bz2
samba-7e3d377b1d72badc7b2338245aef3a51a152f35c.zip
r11186: - get rid of some .extra = True cases
- add multihomed vs unique section - update conflict handling for the above case metze (This used to be commit c043e56efd3d72cdd5b17c78512e12285c87f221)
Diffstat (limited to 'source4/wrepl_server')
-rw-r--r--source4/wrepl_server/wrepl_apply_records.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source4/wrepl_server/wrepl_apply_records.c b/source4/wrepl_server/wrepl_apply_records.c
index a87f06d28e..3d9a04369a 100644
--- a/source4/wrepl_server/wrepl_apply_records.c
+++ b/source4/wrepl_server/wrepl_apply_records.c
@@ -192,6 +192,12 @@ static enum _R_ACTION replace_replica_replica_sgroup_vs_X(struct winsdb_record *
}
/*
+MHOMED,ACTIVE vs. UNIQUE,ACTIVE with different ip(s) => REPLACE
+MHOMED,ACTIVE vs. UNIQUE,TOMBSTONE with same ip(s) => NOT REPLACE
+MHOMED,RELEASED vs. UNIQUE,ACTIVE with different ip(s) => REPLACE
+MHOMED,RELEASED vs. UNIQUE,TOMBSTONE with different ip(s) => REPLACE
+MHOMED,TOMBSTONE vs. UNIQUE,ACTIVE with different ip(s) => REPLACE
+MHOMED,TOMBSTONE vs. UNIQUE,TOMBSTONE with different ip(s) => REPLACE
MHOMED,ACTIVE vs. GROUP,ACTIVE with different ip(s) => REPLACE
MHOMED,ACTIVE vs. GROUP,TOMBSTONE with same ip(s) => NOT REPLACE
MHOMED,RELEASED vs. GROUP,ACTIVE with different ip(s) => REPLACE
@@ -207,7 +213,7 @@ MHOMED,TOMBSTONE vs. SGROUP,TOMBSTONE with different ip(s) => REPLACE
*/
static enum _R_ACTION replace_replica_replica_mhomed_vs_X(struct winsdb_record *r1, struct wrepl_name *r2)
{
- if (R_IS_UNIQUE(r2) || R_IS_MHOMED(r2)) {
+ if (R_IS_MHOMED(r2)) {
/* not handled here: MERGE */
return R_DO_MERGE;
}
@@ -217,7 +223,7 @@ static enum _R_ACTION replace_replica_replica_mhomed_vs_X(struct winsdb_record *
return R_DO_REPLACE;
}
- if (R_IS_GROUP(r2) && R_IS_ACTIVE(r2)) {
+ if (!R_IS_SGROUP(r2) && R_IS_ACTIVE(r2)) {
/* REPLACE */
return R_DO_REPLACE;
}