summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl
AgeCommit message (Collapse)AuthorFilesLines
2012-02-01Revert "s4-drs: do not try to contact for replication servers that are not ↵Andrew Tridgell1-38/+4
anymore in reps*" This reverts commit 5bfd6251eb22ff701184a95649822a73cf4d157b. This change has been causing regular segfaults in the build farm since it was applied. I also think it may be unnecessary as dreplsrv_refresh_partitions() should already be achieving the same thing (removing stale replication targets). I think the segfaults were caused by freeing an in-flight DSA, but I have been unable to reproduce it outside of the build farm Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Wed Feb 1 07:49:42 CET 2012 on sn-devel-104
2011-12-05s4-drs: do not try to contact for replication servers that are not anymore ↵Matthieu Patou1-6/+40
in reps* Servers connection can be removed from repsTo and respFrom either due to DC demote or topology change by the KCC, if a server is removed from the reps* it must be effectivly removed from the list of server that we will contact for getNcChanges and for replicaSync. Autobuild-User: Matthieu Patou <mat@samba.org> Autobuild-Date: Mon Dec 5 19:56:09 CET 2011 on sn-devel-104
2011-12-05s4-resolver: do not use all the A and AAAA records, those after a NS are not ↵Matthieu Patou1-1/+1
the one we want to use
2011-12-05s4-drs: mark WERR_DS_DRA_BUSY as a non error in DsReplicaUpdateRefsMatthieu Patou1-2/+22
2011-11-29s4-repl: Check if GC SPN exists before using it for replicationAmitay Isaacs1-3/+54
Sometimes windows DC will set up dNSHostname before setting up GC SPN and that causes replication errors since samba tries to use GC SPN, which does not yet exist locally. Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
2011-11-02s4-drepl: Search for application partitions in addition to main onesAmitay Isaacs1-3/+16
To replicate application partitions (e.g. DNS partitions) consult msDs-hasMasterNCs attribute as well. Also, make sure we don't add same partition twice in the list. hasMasterNCs and msDs-hasMasterNCs have domain, configuration and schema partitions common. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-10-06s4-rodc: use the rodc_replica flag on the partitionAndrew Tridgell1-2/+2
this sets DSDB_REPL_FLAG_PARTIAL_REPLICA when replicating a RODC partition, which tells the replication code to map instanceType to remove the INSTANCE_TYPE_WRITE bit Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06s4-rodc: ensure we load replicated partitions for RODCsAndrew Tridgell2-46/+35
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06s4-dsdb Allow repl server to start even when no master NCs are presentAndrew Bartlett1-7/+1
2011-10-04s4-repl: try harder to find the right SPN in replication serverAndrew Tridgell1-23/+72
when doing DRS between domains, using the right SPN is essential so the KDC can generate referrals to point us at the right DC. We prefer the GC/hostname/DNSDOMAIN form if possible, but if we can't find the hostname then this changes the code that generates the target principal name to use either the msDS-HasDomainNCs or hasMasterNCs attributes to try to find the target DC domainname so we can use the E3514235-4B06-11D1-AB04-00C04FC2DCD2/GUID/DNSDOMAIN SPN form. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-04s4-dsdb: added new control DSDB_MODIFY_PARTIAL_REPLICAAndrew Tridgell1-60/+3
this control tells the partition module that the DN being created is a partial replica, so it should modify the @PARTITION object to add the partialReplica attribute Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-04s4-repl: support creation of new NCs via DsAddEntryAndrew Tridgell1-0/+84
this adds a flag to dsdb_origin_objects_commit that tells it to create a new NC based on the nCName in a crossRef object
2011-10-04s4-repl: fixed formatting of some debug messagesAndrew Tridgell1-5/+5
2011-10-04s4-repl: update instanceType in partial_replica replicationAndrew Tridgell1-0/+20
when we receive objects to a partial replica, we need to change the incoming instanceType to not include the INSTANCE_TYPE_WRITE flag. Partial replicas unset this flag.
2011-10-04s4-repl: add FULL_SYNC and PARTIAL_REPLICA flagsAndrew Tridgell1-5/+27
this sets the appropriate flags for replication with FULL_SYNC and partial replica replications
2011-09-22s4-repl: remove unused principal_name elementAndrew Tridgell1-3/+0
2011-09-22s4-repl: fill in GUID and SID from partition informationAndrew Tridgell1-2/+9
when we find a NC via a DN string, fill in the GUID and SID so the caller can properly report them
2011-09-22s4-dsdb: get GUID and SID for DSA from extended DNAndrew Tridgell1-21/+27
this allows us to use the DN from a hasPartialReplicaNCs attribute to create a reps1 object
2011-09-22s4-dsdb: enable initial replication of partitions via DsReplicaSyncAndrew Tridgell2-0/+52
we need to create a temporary dsa object to allow the replication task to replicate a NC that is not listed in a repsFrom attribute
2011-09-22s4-repl: get NCs to replicate from our NTDS objectAndrew Tridgell1-28/+64
we need to use the hasMasterNCs and hasPartialReplicaNCs attributes on our NTDS object to get the list of NCs to replicate, instead of using the rootDSE. This is needed to support replicating of GC partial replicas, which are not listed in the rootDSE
2011-09-22s4-dsdb: added support for replicating with GC partial attribute setAndrew Tridgell2-3/+51
if we are replicating a partial replica, then we need to supply the partial attribute set we want to replicate to the server
2011-08-25s4-repl: fixed _msdcs DNS nameAndrew Tridgell3-14/+14
another multi-domain fix
2011-08-13s4:dsdb: use tevent_ fn names instaed of legacy event_ onesSimo Sorce2-2/+2
2011-08-09s4-dsdb clarify that failure to load the schema items from DRS is expectedAndrew Bartlett1-3/+3
This happens if we have a custom schema - we need to build up the schema until it loads, by converting more objects. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Tue Aug 9 13:10:25 CEST 2011 on sn-devel-104
2011-08-03gensec: clarify memory ownership for gensec_session_info() and ↵Andrew Bartlett1-0/+1
gensec_session_key() This is slightly less efficient, because we no longer keep a cache on the gensec structures, but much clearer in terms of memory ownership. Both gensec_session_info() and gensec_session_key() now take a mem_ctx and put the result only on that context. Some duplication of memory in the callers (who were rightly uncertain about who was the rightful owner of the returned memory) has been removed to compensate for the internal copy. Andrew Bartlett
2011-05-11s4/drepl_fsmo: Add an CR so that message is visible in the logsKamen Mazdrashki1-1/+1
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Wed May 11 21:03:59 CEST 2011 on sn-devel-104
2011-05-03s4-messaging Rename messaging -> imessagingAndrew Bartlett2-2/+2
This avoid symbol and structure conflicts between Samba3 and Samba4, and chooses a less generic name. Andrew Bartlett
2011-03-29s4-dsdb: perform FSMO transfers asynchronouslyAndrew Tridgell2-26/+43
this gives the administrator a proper error message on the command line Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-03-01s4-repl/working_schema: Ignore some attributes when bulding working schema cacheKamen Mazdrashki1-0/+9
We don't need all object attributes resolved and converted for a working schema to be functional.
2011-03-01s4-replicated_objects: Implement a mechanism to relax some attributes conversionKamen Mazdrashki1-4/+31
during replicated object convert stage. The problem is that we may have loops in schema graph and we can't resolve those loops in just one pass. Ignoring some attributes conversion will allow us to have a functional schema cache that we can use later to resolve all attribute OIDs on another pass
2011-02-27s4-drepl: Schedule event to trigger replication rather than calling ↵Kamen Mazdrashki1-2/+5
run_pending_ops directly Executing dreplsrv_run_pending_ops() directly may cause a segfault as in case of failure, the _drepl_replica_sync_done_cb() callback gets called *before* drepl_replica_sync() returns. In such case, irpc message gets freed twice - once when irpc_send_reply() gets called and once when drepl_replica_sync() returns
2011-02-27s4-drepl: Fix replica sync callback to really store last error rather than ↵Kamen Mazdrashki1-1/+1
last success
2011-02-27s4-drepl: Refactor dreplsrv_run_pull_ops() toKamen Mazdrashki1-16/+33
1. Take into account DSA options - we should not send replication requests in case OUTBOUND_REPLICATION is disabled 2. Use replication flags for the operation to determine if a forced replication is requested 3. In case outbound replication is disabled and we don't have DRSUAPI_DRS_SYNC_FORCED flag set, then we should record WERR_DS_DRA_SINK_DISABLED error as a last replication result
2011-02-27s4-drepl: Pass replication options from DsReplicaSync callKamen Mazdrashki4-5/+12
2011-02-22s4-auth Move libcli/security/session.c to the top levelAndrew Bartlett1-0/+1
This code is now useful in common, as the elements of the auth_session_info structure have now been defined in common IDL. Andrew Bartlett
2011-02-10ldb: use #include <ldb.h> for ldbAndrew Tridgell7-7/+7
thi ensures we are using the header corresponding to the version of ldb we're linking against. Otherwise we could use the system ldb for link and the in-tree one for include Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-18s4-drepl: During Schema replication, we need to save updated prefixMap if ↵Kamen Mazdrashki1-0/+18
everything is OK Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Sat Dec 18 05:53:48 CET 2010 on sn-devel-104
2010-12-18s4-drepl: Make refreshed schema a global oneKamen Mazdrashki1-0/+7
We need to do this as dsdb_reference_schema() function clears "use_global_schema" ldb flag. Basically what is going to happen is that after dsdb_reference_schema() global_schema pointer will continue to point at old schema cache, while "dsdb_schema" for LDB will point at the working_schema. After replication is done, we reset "dsdb_schema" for the ldb with an updated Schema cache, but this leaves global_schema pointer with its old value, which is not up to date. So we need to call dsdb_make_schema_global() again so that global_schema points to a valid Schema cache.
2010-12-17s4-drepl: Reference current Schema cache into working_schema contextKamen Mazdrashki1-1/+1
working_schema is a shallow copy of current schema and thus depends on part of it. So we want it to be around as long as working_schema is used. Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Fri Dec 17 23:34:29 CET 2010 on sn-devel-104
2010-12-17s4-drepl: Fix log message to be shown on its own lineKamen Mazdrashki1-1/+1
2010-12-15s4-drepl: We won't need a working schema for empty replicas sent.Kamen Mazdrashki1-2/+5
Without this check, receiving empty replica leads to a situation where we left with a working_schema attached to the ldb. The problem here is that working_schema is not fully functional schema cache and keeping it attached to the ldb may lead to modules failing to accomplish their jobs
2010-12-15s4-drepl: User working schema for commiting objects when replicating Schema NCKamen Mazdrashki1-6/+4
2010-12-15s4-repl: Allow dsdb_replicated_objects_commit() to use different schema ↵Kamen Mazdrashki2-0/+57
while committing objects working_schema is to be used while committing a Schema replica. When we replicate Schema, then we most probably won't be able to convert all replicated objects using the current Schema cache (as we don't know anything about those new objects). Thus, during Schema replication, we make a temporary working_schema that contains both our current Schema + all objects we get on the wire. When we commit those new objects, we should use our working_schema (by setting it to the ldb), and after all changes are commited, we can refresh the schema cache so we have a brand new, full-featured Schema cache
2010-12-01s4:dsdb/repl/replicated_objects.c - proof if "talloc_reference" doesn't ↵Matthias Dieter Wallnöfer1-1/+2
return NULL Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Wed Dec 1 17:14:01 CET 2010 on sn-devel-104
2010-12-01s4-dreplsrv: Use working_schema when replicating from Schema NCKamen Mazdrashki1-2/+22
Schema is changed and it is quite possible we won't be able to decode replicated objects using current Schema cache we have. Thus, when replicating Schema, we will make a temporary Schema cache, working_schema, so that we can fully decode objects we recieve.
2010-12-01s4-dsdb/schema: Implement multi-pass working schema creation functionKamen Mazdrashki1-0/+132
It is heavily based on implementation in libnet_vampire_cb_apply_schema() function, except that it actually creates a new copy of the supplied initial_schema + resolving all incoming objects and add them to supplied initial_schema. We are going to need this 'working_schema' later so we are able to fully resolve all objects we receive on wire during DRS replication. Working schema created is to be used only as an index to search in. It is not supposed to be set to an ldb_context as it doesn't contain all information for classSchema and attributeSchema objects.
2010-12-01s4-repl: Let dsdb_replicated_objects_convert() to accept schema from callerKamen Mazdrashki2-7/+16
This allows us to use schema that is different than the one set to 'ldb' to decode objects.
2010-11-28s4:dsdb/repl/drepl* - move "lib/messaging/irpc.h" include into "drepl_service.h"Matthias Dieter Wallnöfer8-9/+1
This is needed to fix a Tru64 "cc" warning regarding "enum drepl_role_master". Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Sun Nov 28 12:46:19 CET 2010 on sn-devel-104
2010-11-27s4:dsdb/repl/drepl_service.c - return the correct WERR resultMatthias Dieter Wallnöfer1-1/+1
2010-11-27s4:drepl_service.c - fix error macro (use "_werr" and not "werr")Matthias Dieter Wallnöfer1-1/+1
Detected by Tru64 "cc".