Bug 13038 - Samba can incorrectly increment linked attribute RMD_VERSION during replication
Summary: Samba can incorrectly increment linked attribute RMD_VERSION during replication
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: AD: LDB/DSDB/SAMDB (show other bugs)
Version: 4.7.0rc6
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Andrew Bartlett
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-19 02:43 UTC by Tim Beale
Modified: 2017-12-28 22:46 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Beale 2017-09-19 02:43:29 UTC
During replication, if Samba receives the same linked attribute information, but with a newer timestamp, then it would incorrectly increment the RMD_VERSION in the link attribute's repl-meta-data. This change to the RMD_VERSION would occur locally, so the DC and the peer DC that sent the replication data would have differing RMD_VERSIONs.

RMD_VERSION is used to determine whether or not linked attributes received during replication should be ignored. So in theory, this may cause linked attribute changes to be dropped. However, in reality, I think it'd be reasonably difficult to get a linked attribute being dropped due to this problem.

Note that for this problem to occur, the same linked attribute change needs to be made on 2 different DCs simultaneously (or you have problems in your network which means the DCs aren't replicating with each other properly).

I've added tests that demonstrate this problem::
link_conflicts.DrsReplicaLinkConflictTestCase.test_link_deletion_conflict
link_conflicts.DrsReplicaLinkConflictTestCase.test_full_sync_link_conflict
in https://git.samba.org/?p=samba.git;a=commit;h=1541c50b370e8695bf5c958cc41073d1552a3c52