summaryrefslogtreecommitdiffstats
path: root/source4/dsdb/repl
Commit message (Collapse)AuthorAgeFilesLines
* s4/drs: propagate DRS_ extension flags in code baseKamen Mazdrashki2010-02-051-1/+1
|
* s4-drs: Reads uSNUrgent and sets Urgent Replication Bit for DS_ReplicaSync ↵Fernando J V da Silva2010-01-282-7/+24
| | | | | | | | | | | when necessary If an urgent replication is necessary, so the uSNUrgent stored is equal to the uSNHighest stored, then when sending the DS_ReplicaSync message it sets the DRSUAPI_DRS_SYNC_URGENT bit on DRS_OPTIONS. Signed-off-by: Fernando J V da Silva <fernandojvsilva@yahoo.com.br> Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s4-dsdb: take advantage of local cursor and sortAndrew Tridgell2010-01-161-37/+0
| | | | | in getncchanges and repl task we don't need the extra load and sort any more.
* s4-dsdb: use dsdb_load_udv_v2() in repl taskAndrew Tridgell2010-01-161-27/+2
|
* s4-drepl: switch drepl over to using the generic DRS options flagsAndrew Tridgell2010-01-142-7/+5
| | | | WSPP uses a single set of flags for all these DRS operations.
* s4-drs: Uses dsdb_load_partition_usn() with urgent_uSN in s4 codeFernando J V da Silva2010-01-141-1/+1
| | | | Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s4-drs: Store uSNUrgent for Urgent ReplicationFernando J V da Silva2010-01-142-3/+3
| | | | | | | | When a object or attribute is created/updated/deleted, according to [MS-ADTS] 3.1.1.5.1.6, it stores the uSNUrgent on @REPLCHANGED for the partitions that it belongs. Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s4:dsdb/repl: reorder dreplsrv_op_notify* functionsStefan Metzmacher2010-01-131-53/+50
| | | | | | | This make the whole async dreplsrv_op_notify_send/recv() readable. metze
* s4:dsdb/repl: change dreplsrv_op_notify_send/recv() to tevent_reqStefan Metzmacher2010-01-132-70/+74
| | | | metze
* s4-drs: add a local UDV entry even when no replUpToDateVector present on NCAndrew Tridgell2010-01-091-3/+3
| | | | | This allows us to filter correctly for a NC that we have created but not pulled from anyone.
* s4-drs: give DN of failed replication partitionAndrew Tridgell2010-01-091-4/+5
|
* s4-drs: calculate and send a uptodateness_vector with replication requestsAndrew Tridgell2010-01-092-7/+82
| | | | | This stops us getting objects changes twice if they came via an indirect path.
* s4:dsdb/repl: convert dreplsrv_op_pull_source_send/recv to tevent_reqStefan Metzmacher2010-01-083-158/+199
| | | | | | metze Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s4-repl: implement MSG_DREPL_ALLOCATE_RIDAndrew Tridgell2010-01-082-19/+48
| | | | | | | | | When the repl server gets MSG_DREPL_ALLOCATE_RID it contacts the RID Manager to ask for another RID pool. We use a callback on completion of the operation to make sure that we don't have two RID allocation requests in flight at once Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
* s4-repl: allow for callbacks when a repl operation completesAndrew Tridgell2010-01-083-4/+16
| | | | Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
* s4-repl: added request for RID allocation in drepl taskAndrew Tridgell2010-01-086-12/+274
| | | | | | | | | The drepl task now checks to see if our rIDAllocationPool is exhausted, and if it is then we queue a extended operation DsGetNCChanges call to ask the RID Manager to give us a new allocation pool. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
* s4:dsdb/repl: convert dreplsrv_out_drsuapi_send/recv to tevent_reqStefan Metzmacher2010-01-042-99/+127
| | | | metze
* Revert "s4-drs: cope with bogus empty attributes from w2k8-r2"Kamen Mazdrashki2009-12-211-17/+0
| | | | | | | | This reverts commit 1287c1d115fb7e8f3954bc05ff65007968403a9c. Next patch should fix the "not recognized ATTIDs" problem Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s4-repl: give a reason why the prepare commit failedAndrew Tridgell2009-12-211-1/+2
|
* s4-repl: only try to replicate for NCs that we are a master forAndrew Tridgell2009-12-211-4/+3
|
* s4-repl: lower debug level of a common messageAndrew Tridgell2009-12-211-1/+1
|
* s4-dsdb: use GUID_to_ndr_blob()Andrew Tridgell2009-12-101-7/+2
|
* s4-drs: cope with bogus empty attributes from w2k8-r2Andrew Tridgell2009-11-281-0/+17
| | | | | | w2k8-r2 sometimes sends empty attributes with completely bogus attrid values in a DRS replication response. This allows us to continue with the vampire operation despite these broken elements.
* Revert "s4:dsdb/repl/replicated_objects - Applicate also here the new ↵Matthias Dieter Wallnöfer2009-11-161-4/+1
| | | | | | | | | | "lDAPDisplayName" generator" This reverts commit df95d5c29292968b465bff24c3cf78800677a4d4. abartlet pointed out in a post on the samba-technical list that this isn't necessary at all (lDAPDisplayName normalisation algorithm). Rather it breaks functionality of the replication.
* s4:dsdb/repl/replicated_objects - Applicate also here the new ↵Matthias Dieter Wallnöfer2009-11-151-1/+4
| | | | | | | "lDAPDisplayName" generator Also here we've to be sure to generate the attribute correctly if it doesn't exist yet.
* s4:dsdb/repl Split the 'convert' or 'commit' stages in the DRS importAndrew Bartlett2009-11-122-44/+49
| | | | | | | This will allow us in future to do tests on the LDB values we generate from the DRS replication. Andrew Bartlett
* s4/drs: dsdb_verify_oid_mappings_drsuapi() replaced by ↵Kamen Mazdrashki2009-11-061-1/+1
| | | | | | | | | | | | dsdb_schema_pfm_contains_drsuapi_pfm() dsdb_schema_pfm_contains_drsuapi_pfm() is part of reimplemented prefixMap interface. This name was choosen to clearly show, that this a week verification in case we want to determine if remote schema is changed. Signed-off-by: Stefan Metzmacher <metze@samba.org>
* s4-samdb: reduce the number of samdb opens at startupAndrew Tridgell2009-10-251-6/+3
| | | | | Using common parameters means that the ldb_wrap code can return a reference rather than a new database
* s4-dsdb: added samdb_rodc() and samdb_ntds_options()Andrew Tridgell2009-10-151-1/+1
| | | | | Later we will need to make samdb_rodc() look in the database, but for now we should at least have the function in a central place
* s4: Changes the old occurences of "lp_realm" in "lp_dnsdomain" where neededMatthias Dieter Wallnöfer2009-10-141-2/+1
| | | | | | For KERBEROS applications the realm should be upcase (function "lp_realm") but for DNS ones it should be used lowcase (function "lp_dnsdomain"). This patch implements the use of both in the right way.
* s4-drs: fixed a memory error introduced yesterdayAndrew Tridgell2009-10-071-1/+1
| | | | ids is retrurned via _ids, so it needs to be on the passed in mem_ctx
* s4-repl: added RELAX control and fix transactionsAndrew Tridgell2009-10-061-8/+57
| | | | | | Added the RELAX control to dsdb_origin_objects_commit(), as it needs to modify system objects. This patch also fixes the use of ldb transactions in that function, and fixes a memory leak.
* s4-ldb: added a bunch more debug for DC joinAndrew Tridgell2009-09-221-0/+4
| | | | | These additional debug messages were added to help us track down w2k8->s4 domain join
* s4:dsdb Print the partition we failed to suggest replication forAndrew Bartlett2009-09-191-1/+2
|
* s4-server: kill main daemon if a task fails to initialiseAndrew Tridgell2009-09-183-10/+12
| | | | | | When one of our core tasks fails to initialise it can now ask for the server as a whole to die, rather than limping along in a degraded state.
* s4-repl: raise a debug levelAndrew Tridgell2009-09-161-1/+1
|
* s4-repl: take advantage of async RPC forwardingAndrew Tridgell2009-09-151-5/+3
| | | | This uses async RPC forwarding for the DsReplicaSync call
* s4-repl: don't do double replicationAndrew Tridgell2009-09-152-2/+36
| | | | | | | | When we replicate from a remote DC, we need to note the new uSN that the local changes have resulted in, and modify the uSN that the notify task uses to determine if it should send a ReplicaSync message back to the remote DC. Otherwise we end up always triggering a ReplicaSync every time we replicate from another DC
* s4-repl: add a debug to make it easier to monitor replicationAndrew Tridgell2009-09-151-0/+5
|
* s4-repl: fall back to repsFrom if repsTo not setAndrew Tridgell2009-09-141-2/+4
| | | | | | | Windows does not seem to be always setting up repsTo using DsUpdateRefs(). For now we will fall back to using repsFrom if repsTo is empty. This is almost certainly incorrect, but it does get notification based replication working with both w2k3 and w2k8.
* s4-repl: added a preiodic notification check to the repl taskAndrew Tridgell2009-09-136-3/+478
| | | | | | | The dreplsrv_notify code checks the partition uSN values every N seconds, and if one has changed then it sends a DsReplicaSync to all the replication partners listed in the repsTo attribute for the partition.
* s4-repl: fixed memory leaksAndrew Tridgell2009-09-123-12/+31
| | | | | These memory leaks were mostly caused by the fact that refresh_partitions is now called periodically
* s4-repl: refresh the partitions on each cycleAndrew Tridgell2009-09-112-3/+4
| | | | | The KCC might have changed repsFrom, which is stored in the partitions structure
* s4-repl: don't add the RDN if it is already thereAndrew Tridgell2009-09-111-3/+19
|
* s4-drs: add the magic DRS SPNs on AddEntryAndrew Tridgell2009-09-111-23/+2
| | | | | When a DsAddEntry is used to create a nTDSDSA object we need to also create the SPNs for the NTDS GUID in the servers machine account.
* s4/repl: give a useful error message if we can't decode an objectAndrew Tridgell2009-09-101-1/+4
|
* s4/repl: implement DsReplicaSyncAndrew Tridgell2009-09-092-0/+42
| | | | | | | | | | | This patch implements DsReplicaSync by passing the call via irpc to the repl server task. The repl server then triggers an immediate replication of the specified partition. This means we no longer need to set a small value for dreplsrv:periodic_interval to force frequent DRS replication. We can now wait for the DC to send us a ReplicaSync msg for any partition that changes, and we immediately sync that partition.
* s4/repl: added refresh of repsToAndrew Tridgell2009-09-091-1/+87
| | | | | | | | | I've found that w2k3 deletes the repsTo records we carefully created in the vampire join if we don't refresh them frequently. After about 30mins all 3 repsTo records are gone. This patch adds automatic refresh of the repsTo by calling DSReplicaUpdateRefs every time we do a sync cycle with the server
* s4:drsuapi: add an incomplete DsAddEntry implementationStefan Metzmacher2009-09-081-8/+157
| | | | metze
* add the the linked attributes elements to the repl structureAndrew Tridgell2009-09-031-0/+5
| | | | This exposes the linked_attributes to the repl_meta_data module