Bug 14337 - Samba doesn't include subref HEADS in DsGETNCChanges() causing Windows to set instanceType: 5
Summary: Samba doesn't include subref HEADS in DsGETNCChanges() causing Windows to set...
Status: NEW
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: AD: LDB/DSDB/SAMDB (show other bugs)
Version: 4.12.0
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Stefan Metzmacher
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-06 10:26 UTC by Stefan Metzmacher
Modified: 2020-07-10 15:38 UTC (History)
2 users (show)

See Also:


Attachments
WIP patches on top of v4-10-test (22.24 KB, patch)
2020-04-06 10:26 UTC, Stefan Metzmacher
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Metzmacher 2020-04-06 10:26:32 UTC
Created attachment 15897 [details]
WIP patches on top of v4-10-test

While doing a migration from a Samba AD domain to Windows
I noticed that Windows 2008R2 resets instanceType of CN=Configuration
from 13 (0xD) (WRITE, IS_NC_HEAD, NC_ABOVE) to 5 (WRITE, IS_NC_HEAD)
after the initial replication happened.

I remembered that objects with IS_NC_HEAD and NC_ABOVE are typically
part of two naming contexts, but our partition module doesn't reflect that.

For the normal LDAP interface this doesn't matter as referrals are generated,
but it's actually a bug for our DsGetNCChanges() server.

I created a prof of concept patch that is able to avoid the
problem and instanceType stays at 13 on Windows.