diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-11-05 14:08:49 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-11-05 23:42:08 +1100 |
commit | 278778c927b71847e87ce9b43e2a70665906befe (patch) | |
tree | 5825799545b12b190ab7c8d320ea0974c1e5817d /source4/scripting/python | |
parent | cbded38ed5f319af4e9836039bfa16c6123e2ba7 (diff) | |
download | samba-278778c927b71847e87ce9b43e2a70665906befe.tar.gz samba-278778c927b71847e87ce9b43e2a70665906befe.tar.bz2 samba-278778c927b71847e87ce9b43e2a70665906befe.zip |
s4-pydrs: added rodc option to python drs replication
Diffstat (limited to 'source4/scripting/python')
-rw-r--r-- | source4/scripting/python/samba/drs_utils.py | 9 | ||||
-rw-r--r-- | source4/scripting/python/samba/netcmd/rodc.py | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/source4/scripting/python/samba/drs_utils.py b/source4/scripting/python/samba/drs_utils.py index 4686259df6..a600c2310b 100644 --- a/source4/scripting/python/samba/drs_utils.py +++ b/source4/scripting/python/samba/drs_utils.py @@ -111,7 +111,7 @@ class drs_Replicate: def replicate(self, dn, source_dsa_invocation_id, destination_dsa_guid, - schema=False, exop=drsuapi.DRSUAPI_EXOP_NONE): + schema=False, exop=drsuapi.DRSUAPI_EXOP_NONE, rodc=False): '''replicate a single DN''' # setup for a GetNCChanges call @@ -132,8 +132,9 @@ class drs_Replicate: req8.replica_flags = (drsuapi.DRSUAPI_DRS_INIT_SYNC | drsuapi.DRSUAPI_DRS_PER_SYNC | drsuapi.DRSUAPI_DRS_GET_ANC | - drsuapi.DRSUAPI_DRS_NEVER_SYNCED | - drsuapi.DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING) + drsuapi.DRSUAPI_DRS_NEVER_SYNCED) + if rodc: + req8.replica_flags |= drsuapi.DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING req8.max_object_count = 402 req8.max_ndr_size = 402116 req8.extended_op = exop @@ -143,7 +144,7 @@ class drs_Replicate: req8.mapping_ctr.num_mappings = 0 req8.mapping_ctr.mappings = None - if not schema: + if not schema and rodc: req8.partial_attribute_set = self.drs_get_rodc_partial_attribute_set() while True: diff --git a/source4/scripting/python/samba/netcmd/rodc.py b/source4/scripting/python/samba/netcmd/rodc.py index 0fdb252b60..5f97c32b28 100644 --- a/source4/scripting/python/samba/netcmd/rodc.py +++ b/source4/scripting/python/samba/netcmd/rodc.py @@ -105,7 +105,7 @@ class cmd_rodc_preload(Command): repl = drs_Replicate("ncacn_ip_tcp:%s[seal,print]" % server, lp, creds, local_samdb) try: repl.replicate(dn, source_dsa_invocation_id, destination_dsa_guid, - exop=drsuapi.DRSUAPI_EXOP_REPL_SECRET) + exop=drsuapi.DRSUAPI_EXOP_REPL_SECRET, rodc=True) except RuntimeError, (ecode, estring): if estring == 'WERR_DS_DRA_ACCESS_DENIED': local_samdb.transaction_cancel() |