mirror of
https://github.com/samba-team/samba.git
synced 2025-01-24 02:04:21 +03:00
s4-dsdb: split RMD_USN into RMD_LOCAL_USN and RMD_ORIGINATING_USN
We need a separate RMD_LOCAL_USN to allow us to tell what attributes need to be sent in a getncchanges request. Thanks to Metze for pointing this out. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
e4a6f5c8b8
commit
f1b6484232
@ -1172,12 +1172,13 @@ static int get_parsed_dns(struct ldb_module *module, TALLOC_CTX *mem_ctx,
|
||||
/*
|
||||
build a new extended DN, including all meta data fields
|
||||
|
||||
DELETED = 1 or missing
|
||||
RMD_ADDTIME = originating_add_time
|
||||
RMD_INVOCID = originating_invocation_id
|
||||
RMD_CHANGETIME = originating_change_time
|
||||
RMD_USN = originating_usn
|
||||
RMD_VERSION = version
|
||||
DELETED = 1 or missing
|
||||
RMD_ADDTIME = originating_add_time
|
||||
RMD_INVOCID = originating_invocation_id
|
||||
RMD_CHANGETIME = originating_change_time
|
||||
RMD_ORIGINATING_USN = originating_usn
|
||||
RMD_LOCAL_USN = local_usn
|
||||
RMD_VERSION = version
|
||||
*/
|
||||
static int replmd_build_la_val(TALLOC_CTX *mem_ctx, struct ldb_val *v, struct dsdb_dn *dsdb_dn,
|
||||
const struct GUID *invocation_id, uint64_t seq_num, time_t t)
|
||||
@ -1221,7 +1222,9 @@ static int replmd_build_la_val(TALLOC_CTX *mem_ctx, struct ldb_val *v, struct ds
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_CHANGETIME", &tval);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_USN", &usnv);
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_LOCAL_USN", &usnv);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_ORIGINATING_USN", &usnv);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_VERSION", &vers);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
@ -1303,7 +1306,10 @@ static int replmd_update_la_val(TALLOC_CTX *mem_ctx, struct ldb_val *v, struct d
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
|
||||
/* update the USN */
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_USN", &usnv);
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_ORIGINATING_USN", &usnv);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
|
||||
ret = ldb_dn_set_extended_component(dn, "RMD_LOCAL_USN", &usnv);
|
||||
if (ret != LDB_SUCCESS) return ret;
|
||||
|
||||
/* increase the version by 1 */
|
||||
|
@ -861,7 +861,12 @@ static const struct ldb_dn_extended_syntax samba_dn_syntax[] = {
|
||||
.write_clear_fn = ldb_handler_copy,
|
||||
.write_hex_fn = ldb_handler_copy
|
||||
},{
|
||||
.name = "RMD_USN",
|
||||
.name = "RMD_LOCAL_USN",
|
||||
.read_fn = ldb_handler_copy,
|
||||
.write_clear_fn = ldb_handler_copy,
|
||||
.write_hex_fn = ldb_handler_copy
|
||||
},{
|
||||
.name = "RMD_ORIGINATING_USN",
|
||||
.read_fn = ldb_handler_copy,
|
||||
.write_clear_fn = ldb_handler_copy,
|
||||
.write_hex_fn = ldb_handler_copy
|
||||
|
Loading…
x
Reference in New Issue
Block a user