bug 9500

Matthieu Patou mat at samba.org
Tue Aug 13 00:10:03 MDT 2013


On 08/09/2013 02:55 AM, Андреев Андрей В. wrote:
> Hello!
>
> Can you send me some instruction how to fix bug 9500? So I could do the testing.
>
>
> Best regards,
> Andrey.

Please do not copy me directly, post to the list instead !

So first things first you need to query the remote DC for its version of 
ms-DS-replicationepoch, then you need to put it in a variable so that it 
could be used in the join code.

As a separate effort you need to bump the attribute 
ms-DS-replicationepoch on a windows DC (a test one).
Then you have to modify the python function  drs_DsBind so that it takes 
a optional parameter which will be the replicationepoch you need to make 
that the calling function drsuapi_connect also accept a parameter and 
the caller (it seems in join_add_ntdsdsa()) needs to set this epoch.

In order to make things easier you might want at the beginning to hard 
code the value in join_add_ntdsdsa, or as when it's called it's just 
after a samdb call you might want to pass the content of the variable 
that you have done at the very beginning.

At that point it might replicate a bit *but* it's far from being 
finished, first you need to add the correct value in the 
ms-DS-replicationepoch in the NTDS object that we are creating for the 
samba AD DC.
Then you need to modify those files:
source4/dsdb/repl/drepl_out_helpers.c
source4/dsdb/repl/drepl_service.c
source4/libnet/libnet_become_dc.c
source4/libnet/libnet_unbecome_dc.c

So that we read from the local database or from the remote database the 
replicationepoch, I suggest that for libnet_become_dc you add a field in 
the struct becomeDC_drsuapi to store this value read that you will have 
to read from remote database in a function called from 
becomeDC_connect_ldap1, you can take inspiration on 
becomeDC_ldap1_crossref_behavior_version on how to read from the remote 
database.

For the other function it will be simplier as you have "just" to read 
from the local database.

I expect that when you will need more details but already having the 
initial replication working will require you a bit of coding and you 
will most probably have questions

-- 
Matthieu Patou
Samba Team
http://samba.org



More information about the samba-technical mailing list