summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-10-19 17:48:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:44:58 -0500
commitbc43d1b6f02937a694bfd4c75cee61e3da08fc45 (patch)
tree869bff7bc7e21f1182ce36b978f6d62d0d6971b2
parent47c0c176e95998db7303950fb6bf46a0e65e40d3 (diff)
downloadsamba-bc43d1b6f02937a694bfd4c75cee61e3da08fc45.tar.gz
samba-bc43d1b6f02937a694bfd4c75cee61e3da08fc45.tar.bz2
samba-bc43d1b6f02937a694bfd4c75cee61e3da08fc45.zip
r11189: add some more special group vs. special group tests,
to make sure that replicas from the same owner are blinding overwritten in all cases metze (This used to be commit 466baf737aedf240ff372ab8e8c708299102d1fa)
-rw-r--r--source4/torture/nbt/winsreplication.c14
-rw-r--r--source4/wrepl_server/wrepl_apply_records.c3
2 files changed, 15 insertions, 2 deletions
diff --git a/source4/torture/nbt/winsreplication.c b/source4/torture/nbt/winsreplication.c
index 257a786f2a..d3bd609096 100644
--- a/source4/torture/nbt/winsreplication.c
+++ b/source4/torture/nbt/winsreplication.c
@@ -676,6 +676,20 @@ static BOOL test_conflict_same_owner(struct test_wrepl_conflict_conn *ctx)
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
},{
+ .type = WREPL_TYPE_SGROUP,
+ .state = WREPL_STATE_ACTIVE,
+ .node = WREPL_NODE_B,
+ .is_static = False,
+ .num_ips = ARRAY_SIZE(addresses_A_3_4),
+ .ips = addresses_A_3_4,
+ },{
+ .type = WREPL_TYPE_SGROUP,
+ .state = WREPL_STATE_TOMBSTONE,
+ .node = WREPL_NODE_B,
+ .is_static = False,
+ .num_ips = ARRAY_SIZE(addresses_B_3_4),
+ .ips = addresses_B_3_4,
+ },{
/* the last one should always be a unique,tomstone record! */
.type = WREPL_TYPE_UNIQUE,
.state = WREPL_STATE_TOMBSTONE,
diff --git a/source4/wrepl_server/wrepl_apply_records.c b/source4/wrepl_server/wrepl_apply_records.c
index 55b8a6e387..e86750b3fa 100644
--- a/source4/wrepl_server/wrepl_apply_records.c
+++ b/source4/wrepl_server/wrepl_apply_records.c
@@ -63,10 +63,9 @@ static const char *_R_ACTION_enum_string(enum _R_ACTION action)
#define R_IS_SGROUP(r) ((r)->type == WREPL_TYPE_SGROUP)
#define R_IS_MHOMED(r) ((r)->type == WREPL_TYPE_MHOMED)
+/* blindly overwrite records from the same owner in all cases */
static enum _R_ACTION replace_same_owner(struct winsdb_record *r1, struct wrepl_name *r2)
{
- /* TODO: we need to look closer at how special groups are handled */
-
/* REPLACE */
return R_DO_REPLACE;
}