Bug 10157 - Regression causes replication failure with Windows 2008R2 and deletes Deleted Objects
Summary: Regression causes replication failure with Windows 2008R2 and deletes Deleted...
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: AD: LDB/DSDB/SAMDB (show other bugs)
Version: 4.0.9
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
Depends on:
Blocks: 10056
  Show dependency treegraph
Reported: 2013-09-19 16:24 UTC by Andrew Bartlett
Modified: 2013-09-30 08:27 UTC (History)
1 user (show)

See Also:

proposed patch to fix this in master (13.58 KB, patch)
2013-09-19 16:24 UTC, Andrew Bartlett
no flags Details
patches cherry-picked from master for 4.1 (1.79 MB, application/x-xz)
2013-09-24 18:08 UTC, Andrew Bartlett
metze: review+

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Bartlett 2013-09-19 16:24:16 UTC
Created attachment 9230 [details]
proposed patch to fix this in master

The code changes in the below patch did not make a special case for Deleted objects, and the inbound replication code did not correctly set up the invocationID (regression in the move to join.py). 

The result of both of these is that we break replication with Windows 2008R2 domains, and submit a corrupt object for replication into the domain.  

commit d3aad891c5759f66bd891cb47866d908a0562a8a
Author: Andrew Bartlett <abartlet@samba.org>
Date:   Fri May 31 20:01:17 2013 +1000

    dsdb: Prune deleted objects of links and extra attributes of replicated deletes
    When an object is deleted, the links to be removed are not propogated,
    you have to watch out for them manually!
    We do this by calling back into the originating update delete code(ie
    what is called if you ldb_delete() locally) so that any extra
    attribute found locally and not on the remote server becomes removed
    remotely too.
    We currently do the same with links, but that isn't strictly correct,
    but for now our getNCChanges server code filters these out, so only
    the usn is bumped.
    Andrew Bartlett
    Signed-off-by: Andrew Bartlett <abartlet@samba.org>
    Reviewed-by: Stefan Metzmacher <metze@samba.org>
Comment 1 Karolin Seeger 2013-09-23 07:35:38 UTC
Is there a chance to get review until tomorrow (freeze for 4.0.10)?
Comment 2 Andrew Bartlett 2013-09-23 16:54:21 UTC
The patches are not yet finished.  We now have the first set of dbcheck fixes, but more still needs to be finished.
Comment 3 Andrew Bartlett 2013-09-23 16:57:08 UTC
To be clear: the issue is not in 4.0, only 4.1 (fortunately).
Comment 4 Andrew Bartlett 2013-09-24 18:08:29 UTC
Created attachment 9240 [details]
patches cherry-picked from master for 4.1

Complete patch series, including tests for 4.1.  Compressed because it would be 41MB plain, due to the exported tdb.
Comment 5 Stefan Metzmacher 2013-09-25 19:30:08 UTC
Comment on attachment 9240 [details]
patches cherry-picked from master for 4.1

xzcat <file> | git am
applies it...
Comment 6 Karolin Seeger 2013-09-27 07:30:45 UTC
Pushed to autobuild-v4-1-test.
Comment 7 Karolin Seeger 2013-09-30 08:27:30 UTC
Pushed to v4-1-test (included in rc4).
Closing out bug report.