summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/nbt/winsreplication.c451
1 files changed, 113 insertions, 338 deletions
diff --git a/source4/torture/nbt/winsreplication.c b/source4/torture/nbt/winsreplication.c
index a987890e07..6e47861c6c 100644
--- a/source4/torture/nbt/winsreplication.c
+++ b/source4/torture/nbt/winsreplication.c
@@ -812,13 +812,12 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
* unique vs unique section
*/
/*
- * unique,active vs. unique,active the same ip
+ * unique,active vs. unique,active
* => should be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
.r1 = {
.owner = &ctx->a,
.type = WREPL_TYPE_UNIQUE,
@@ -835,14 +834,14 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
+ .num_ips = ARRAY_SIZE(addresses_B_1),
+ .ips = addresses_B_1,
.apply_expected = True
}
},
/*
- * unique,active vs. unique,tombstone the same ips
+ * unique,active vs. unique,tombstone
* => should NOT be replaced
*/
{
@@ -865,29 +864,28 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
+ .num_ips = ARRAY_SIZE(addresses_A_1),
+ .ips = addresses_A_1,
.apply_expected = False
}
},
/*
- * unique,tombstone vs. unique,active the same ips
- * => should NOT be replaced
+ * unique,released vs. unique,active
+ * => should be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
.r1 = {
.owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_B_1),
.ips = addresses_B_1,
- .apply_expected = True
+ .apply_expected = False
},
.r2 = {
.owner = &ctx->a,
@@ -895,36 +893,6 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = True
- }
- },
-
- /*
- * unique,tombstone vs. unique,tombstone the same ips
- * => should be replaced
- */
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
- .r1 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
- },
- .r2 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
.apply_expected = True
@@ -932,7 +900,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,active vs. unique,active the different ips
+ * unique,released vs. unique,tombstone
* => should be replaced
*/
{
@@ -941,57 +909,27 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.r1 = {
.owner = &ctx->a,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = True
+ .apply_expected = False
},
.r2 = {
.owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = True
- }
- },
-
- /*
- * unique,active vs. unique,tombstone the different ips
- * => should NOT be replaced
- */
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
- .r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_B_1),
.ips = addresses_B_1,
.apply_expected = True
- },
- .r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = False
}
},
/*
- * unique,tombstone vs. unique,active the different ips
+ * unique,tombstone vs. unique,active
* => should be replaced
*/
{
@@ -1020,7 +958,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,tombstone vs. unique,tombstone the different ips
+ * unique,tombstone vs. unique,tombstone
* => should be replaced
*/
{
@@ -1048,6 +986,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
}
},
+
/*
* unique vs normal groups section,
*/
@@ -1081,7 +1020,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,active vs. group,tombstone same ip
+ * unique,active vs. group,tombstone
* => should NOT be replaced
*/
{
@@ -1110,61 +1049,60 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,active vs. group,tombstone different ip
- * => should NOT be replaced
+ * unique,released vs. group,active
+ * => should be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
.r1 = {
.owner = &ctx->a,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = True
+ .apply_expected = False
},
.r2 = {
.owner = &ctx->b,
.type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_TOMBSTONE,
+ .state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_B_1),
.ips = addresses_B_1,
- .apply_expected = False
+ .apply_expected = True
}
},
/*
- * unique,active vs. group,released
- * => should NOT be replaced
+ * unique,released vs. group,tombstone
+ * => should be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
.r1 = {
- .owner = &ctx->a,
+ .owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
+ .num_ips = ARRAY_SIZE(addresses_B_1),
+ .ips = addresses_B_1,
+ .apply_expected = False
},
.r2 = {
- .owner = &ctx->b,
+ .owner = &ctx->a,
.type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
+ .state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = False
+ .apply_expected = True
}
},
@@ -1226,9 +1164,12 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
}
},
+/*
+ * unique vs special groups section,
+ */
/*
- * unique,tombstone vs. group,released
- * => should be replaced
+ * unique,active vs. sgroup,active
+ * => should NOT be replaced
*/
{
.line = __location__,
@@ -1236,7 +1177,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.r1 = {
.owner = &ctx->a,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
+ .state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
@@ -1245,79 +1186,48 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
.r2 = {
.owner = &ctx->b,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
+ .type = WREPL_TYPE_SGROUP,
+ .state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = True
+ .num_ips = ARRAY_SIZE(addresses_A_1),
+ .ips = addresses_A_1,
+ .apply_expected = False
}
},
/*
- * unique,released vs. group,released
- * => should be replaced
- *
- * here we need a 2nd round to make sure
- * released vs. released is handled correct
+ * unique,active vs. sgroup,tombstone
+ * => should NOT be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
.r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- },
- .r2 = {
.owner = &ctx->a,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
- }
- },
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .cleanup= True,
- .r1 = {
- .owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
+ .state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = False /* this should conflict with the group.released above */
+ .apply_expected = True
},
.r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_GROUP,
+ .owner = &ctx->b,
+ .type = WREPL_TYPE_SGROUP,
.state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = True
+ .apply_expected = False
}
},
-/*
- * unique vs special groups section,
- */
/*
- * unique,active vs. sgroup,active
- * => should NOT be replaced
+ * unique,released vs. sgroup,active
+ * => should be replaced
*/
{
.line = __location__,
@@ -1325,12 +1235,12 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.r1 = {
.owner = &ctx->a,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_A_1),
.ips = addresses_A_1,
- .apply_expected = True
+ .apply_expected = False
},
.r2 = {
.owner = &ctx->b,
@@ -1338,38 +1248,38 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = False
+ .num_ips = ARRAY_SIZE(addresses_B_3_4),
+ .ips = addresses_B_3_4,
+ .apply_expected = True
}
},
/*
- * unique,active vs. sgroup,tombstone
- * => should NOT be replaced
+ * unique,released vs. sgroup,tombstone
+ * => should be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
.r1 = {
- .owner = &ctx->a,
+ .owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_ACTIVE,
+ .state = WREPL_STATE_RELEASED,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
+ .num_ips = ARRAY_SIZE(addresses_B_1),
+ .ips = addresses_B_1,
+ .apply_expected = False
},
.r2 = {
- .owner = &ctx->b,
+ .owner = &ctx->a,
.type = WREPL_TYPE_SGROUP,
.state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = False
+ .num_ips = ARRAY_SIZE(addresses_A_3_4),
+ .ips = addresses_A_3_4,
+ .apply_expected = True
}
},
@@ -1431,12 +1341,11 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
}
},
-
/*
* unique vs multi homed section,
*/
/*
- * unique,active vs. mhomed,active with different ips
+ * unique,active vs. mhomed,active
* => should be replaced
*/
{
@@ -1465,21 +1374,20 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,active vs. mhomed,tombstone with different ips
+ * unique,active vs. mhomed,tombstone
* => should NOT be replaced
*/
{
.line = __location__,
.name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .extra = True,
.r1 = {
.owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
.state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
+ .num_ips = ARRAY_SIZE(addresses_B_3_4),
+ .ips = addresses_B_3_4,
.apply_expected = True
},
.r2 = {
@@ -1488,15 +1396,15 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_3_4),
- .ips = addresses_A_3_4,
+ .num_ips = ARRAY_SIZE(addresses_B_3_4),
+ .ips = addresses_B_3_4,
.apply_expected = False
}
},
/*
- * unique,active vs. mhomed,tombstone with same ips
- * => should NOT be replaced
+ * unique,released vs. mhomed,active
+ * => should be replaced
*/
{
.line = __location__,
@@ -1504,27 +1412,56 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
.r1 = {
.owner = &ctx->b,
.type = WREPL_TYPE_UNIQUE,
+ .state = WREPL_STATE_RELEASED,
+ .node = WREPL_NODE_B,
+ .is_static = False,
+ .num_ips = ARRAY_SIZE(addresses_B_1),
+ .ips = addresses_B_1,
+ .apply_expected = False
+ },
+ .r2 = {
+ .owner = &ctx->a,
+ .type = WREPL_TYPE_MHOMED,
.state = WREPL_STATE_ACTIVE,
.node = WREPL_NODE_B,
.is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_3_4),
- .ips = addresses_B_3_4,
+ .num_ips = ARRAY_SIZE(addresses_A_3_4),
+ .ips = addresses_A_3_4,
.apply_expected = True
+ }
+ },
+
+ /*
+ * unique,released vs. mhomed,tombstone
+ * => should be replaced
+ */
+ {
+ .line = __location__,
+ .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
+ .r1 = {
+ .owner = &ctx->a,
+ .type = WREPL_TYPE_UNIQUE,
+ .state = WREPL_STATE_RELEASED,
+ .node = WREPL_NODE_B,
+ .is_static = False,
+ .num_ips = ARRAY_SIZE(addresses_A_1),
+ .ips = addresses_A_1,
+ .apply_expected = False
},
.r2 = {
- .owner = &ctx->a,
+ .owner = &ctx->b,
.type = WREPL_TYPE_MHOMED,
.state = WREPL_STATE_TOMBSTONE,
.node = WREPL_NODE_B,
.is_static = False,
.num_ips = ARRAY_SIZE(addresses_B_3_4),
.ips = addresses_B_3_4,
- .apply_expected = False
+ .apply_expected = True
}
},
/*
- * unique,tombstone vs. mhomed,active with different ips
+ * unique,tombstone vs. mhomed,active
* => should be replaced
*/
{
@@ -1553,7 +1490,7 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * unique,tombstone vs. mhomed,tombstone with different ips
+ * unique,tombstone vs. mhomed,tombstone
* => should be replaced
*/
{
@@ -1849,60 +1786,6 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * group,released vs. group,released
- * => should be replaced
- */
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
- }
- },
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .cleanup= True,
- .r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = True
- }
- },
-
- /*
* group,released vs. group,tombstone
* => should be replaced
*/
@@ -2080,60 +1963,6 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * group,released vs. sgroup,released
- * => should NOT be replaced
- */
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_SGROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- }
- },
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .cleanup= True,
- .r1 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = True
- }
- },
-
- /*
* group,released vs. sgroup,tombstone
* => should NOT be replaced
*/
@@ -2311,60 +2140,6 @@ static BOOL test_conflict_different_owner(struct test_wrepl_conflict_conn *ctx)
},
/*
- * group,released vs. mhomed,released
- * => should NOT be replaced
- */
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .r1 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_GROUP,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_MHOMED,
- .state = WREPL_STATE_RELEASED,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = False
- }
- },
- {
- .line = __location__,
- .name = _NBT_NAME("_DIFF_OWNER", 0x00, NULL),
- .cleanup= True,
- .r1 = {
- .owner = &ctx->a,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_A_1),
- .ips = addresses_A_1,
- .apply_expected = False
- },
- .r2 = {
- .owner = &ctx->b,
- .type = WREPL_TYPE_UNIQUE,
- .state = WREPL_STATE_TOMBSTONE,
- .node = WREPL_NODE_B,
- .is_static = False,
- .num_ips = ARRAY_SIZE(addresses_B_1),
- .ips = addresses_B_1,
- .apply_expected = True
- }
- },
-
- /*
* group,released vs. mhomed,tombstone
* => should NOT be replaced
*/