Andrew Tridgell
6c8b0d7f27
s4-repl: save the result of the last replication in repsFrom/repsTo
...
when a replication fails, we should add the failure to repsFrom
when a notify fails, we need to save it to repsTo
this ensures showrepl always shows the latest status
2010-11-17 23:55:39 +11:00
Andrew Tridgell
73016ad405
s4-repl: ensure we don't starve pending replication ops
...
when there was a continuous sequence of notify ops, we could leave the
replication ops starving. This ensures we run whichever was queued
first
2010-11-17 23:55:39 +11:00
Kamen Mazdrashki
0868a15982
s4-repl: Propagate remote prefixMap in DRSUAPI data conversion functions
2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
a8495d380e
s4-repl: dsdb_extended_replicated_objects_convert -> dsdb_replicated_objects_convert/
...
It is part of dsdb_replicated_* family of functions
2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
227e8dcfcf
s4-repl: dsdb_extended_replicated_objects_commit -> dsdb_replicated_objects_commit
...
It is part of dsdb_replicated_* family of functions
2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
28f41c166a
s4-repl: dsdb_convert_object -> dsdb_origin_object_convert
...
It is used in dsdb_origin_objects_commit() func,
hence the dsdb_origin_ prefix
2010-11-11 18:54:20 +00:00
Andrew Tridgell
9c7228d6aa
s4-drs: reduce verbosity of dreplsrv_out_connection_attach
2010-11-08 23:23:07 +00:00
Andrew Bartlett
3c4376c4d8
s4-dsdb Explain why we may not use the GC name in some situations.
...
This delicate balance caused us a bit of a puzzle when we could not work
out why an DC join failed with the new python scripts.
Andrew Bartlett
2010-11-08 18:15:23 +11:00
Andrew Tridgell
11b42022c7
s4-repl: fixed replication notifications to RODCs
...
We need a separate source dsa list for RODCs, as they are not in the
repsFrom for our partitions, but are in the repsTo. This adds a new
'notifies' list, which contains all the source dsas for the DCs that
we should send notifies to, but which we don't replicate from
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov 8 06:57:43 UTC 2010 on sn-devel-104
2010-11-08 06:57:42 +00:00
Andrew Tridgell
2763ede399
fix
2010-11-08 06:16:04 +00:00
Stefan Metzmacher
578a37e806
s4:dsdb/drepl_notify: reuse dreplsrv_notify_operation structures
...
Otherwise we'll requeue the same notify events on and on.
(gdb) p *((struct dreplsrv_service *) 0x1b52190)->ops.notifies
$8 = {prev = 0xe4cb30, next = 0x1a25440, service = 0x1b52190, uSN = 123905,
source_dsa = 0x164c100, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *) 0x1b52190)->ops.notifies->next
$9 = {prev = 0x80e000, next = 0x1b7bf70, service = 0x1b52190, uSN = 123589,
source_dsa = 0x1a2d930, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *) 0x1b52190)->ops.notifies->next->next
$10 = {prev = 0x1a25440, next = 0x1d0c310, service = 0x1b52190, uSN = 1587,
source_dsa = 0x13d3210, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *) 0x1b52190)->ops.notifies->next->next->next
$11 = {prev = 0x1b7bf70, next = 0x1ba1420, service = 0x1b52190, uSN = 123905,
source_dsa = 0x164c100, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *)
0x1b52190)->ops.notifies->next->next->next->next
$12 = {prev = 0x1d0c310, next = 0x1c43510, service = 0x1b52190, uSN = 123589,
source_dsa = 0x1a2d930, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *)
0x1b52190)->ops.notifies->next->next->next->next->next
$13 = {prev = 0x1ba1420, next = 0xed97b0, service = 0x1b52190, uSN = 1587,
source_dsa = 0x13d3210, is_urgent = false, replica_flags = 29}
(gdb) p *((struct dreplsrv_service *)
0x1b52190)->ops.notifies->next->next->next->next->next->next
$14 = {prev = 0x1c43510, next = 0xe4ce80, service = 0x1b52190, uSN = 123905,
source_dsa = 0x164c100, is_urgent = false, replica_flags = 29}
We can reuse this operations, while they're not yet started.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Nov 5 07:15:04 UTC 2010 on sn-devel-104
2010-11-05 07:15:04 +00:00
Kamen Mazdrashki
717b1158a6
idl: Use DRSUAPI_ATTID_ prefix instead of DRSUAPI_ATTRIBUTE_ for ATTID values
...
Those values are actually ATTID values and such, they are used
for ATTIDs for Attributes, Classes and Syntaxes.
2010-10-31 23:54:04 +00:00
Andrew Bartlett
5742f5115c
libcli/security Use common security.h
...
This includes dom_sid.h and security_token.h and will be moved
to the top level shortly.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Oct 12 03:35:36 UTC 2010 on sn-devel-104
2010-10-12 03:35:36 +00:00
Jelmer Vernooij
93126b3315
samdb: Add flags argument to samdb_connect().
2010-10-10 23:08:49 +02:00
Kamen Mazdrashki
20029aac31
s4-dsdb-repl: Print what the error code for failure is
2010-10-10 12:58:32 +03:00
Andrew Tridgell
eadd28233d
s4-repl: use the GC principal name for DRS replication connection
...
this is required when talking to RODCs (for notify calls), and is good
practice for all DCs
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-01 22:31:58 -07:00
Andrew Tridgell
c03d02d28e
s4-rodc: don't set SPECIAL_SECRET_PROCESSING on EXOP_REPL_SECRET
...
otherwise we don't get the secrets!
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-30 20:11:15 -07:00
Andrew Tridgell
1a9f5b45f8
s4-drepl: don't call UpdateRefs on a RODC
...
we use the ADD_REF bit in getncchanges instead
Pair-Programmed-With: Anatoliy Atanasov <anatoliy.atanasov@postpath.com>
2010-09-29 22:12:57 -07:00
Andrew Tridgell
287e35f4cf
s4-drepl: fixed the checking of replica_flags in the drepl server
...
we were incorrectly avoiding a getncchanges when WRIT_REP was not set
Pair-Programmed-With: Anatoliy Atanasov <anatoliy.atanasov@postpath.com>
2010-09-29 22:12:57 -07:00
Andrew Tridgell
a1d52540a3
s4-repl: use namingContexts from rootDSE to initialise partition list
...
this is preferable to looking for the hasMasterNCs attribute on
nTDSDSA objects.
2010-09-25 10:38:44 -07:00
Andrew Tridgell
370446769d
s4-repl: force on WRIT_REP when we are a writable replica
...
this ensures we always mark ourselves as writeable when we are not
an RODC
2010-09-25 10:38:44 -07:00
Andrew Tridgell
3aea12d0ab
s4-repl: use dreplsrv_partition_source_dsa_by_guid to find source dsa
...
this avoids a list walk in the calling code
2010-09-25 10:38:44 -07:00
Matthias Dieter Wallnöfer
6c349d479f
s4:drepl_out_helpers.c - fix a counter type
...
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-09-24 09:25:41 +10:00
Andrew Tridgell
7ffcf90bb9
s4-drepl: use the partition UDV and hwm for extended getncchanges ops
...
we find the NC root then load the uptodateness vector and highwater
mark, if available, from there
2010-09-20 21:51:08 -07:00
Anatoliy Atanasov
7250cb3e73
s4/fsmo: Create separate function for retrieving fsmo role dn and owner dn.
...
This functionality is needed for DsCrackNames ListRoles command also.
2010-09-20 09:44:19 -07:00
Anatoliy Atanasov
5d807107bb
s4/fsmo: Naming master support added
...
Test suite for fsmo is extended with a test case for naming master too.
2010-09-19 12:16:04 -07:00
Kamen Mazdrashki
d76bb4ac40
s4-drs: Check for schema changes only in case we are *not* applying Schema replica
...
This fixes the problem when we fail to replicate with
a partner DC that has a newer Schema with attributeSchema
objects with OIDs that we don't have in our local prefixMap.
2010-09-18 15:09:47 +03:00
Andrew Tridgell
e5cd023a41
s4-drs: initial skeleton for DrsReplica{Add,Del,Mod} calls
2010-09-16 16:08:46 +10:00
Andrew Tridgell
3b87e3e951
s4-repl: if we are an RODC don't set WRIT_REP in replication
...
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:01 +10:00
Andrew Tridgell
05ec123b3b
s4-repl: add partial attribute set to getncchanges calls for RODCs
...
when we are a RODC we must supply a partial attribute set in the
getncchanges call
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:01 +10:00
Andrew Tridgell
520252c8d2
s4-repl: added min_usn to extended replication call
...
the repl_secret code needs to set it to avoid too many duplicate
attributes
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:01 +10:00
Andrew Tridgell
1da147e6fa
s4-repl: added repl_secret handling
...
initiate a repl secret extended op when requested
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:01 +10:00
Andrew Tridgell
d5673b5501
s4-repl: cleanup the extended op calls in repl server
...
- use generic parameter names
- trigger a run of pending ops on all extended ops
- don't prevent parallel fsmo transfers
- moved extended op code into drepl_extended
2010-09-16 07:24:01 +10:00
Andrew Tridgell
e18c0030e0
s4-pyjoin: fill in the dns name in the python replication method
...
this is needed to get the repsFrom DNS entry right
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:01 +10:00
Andrew Tridgell
f89f3cf30f
s4-repl: split out the extended op handling
...
this is not part of the rid allocation logic
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:00 +10:00
Andrew Tridgell
54b5370474
s4-repl: cleanup getncchanges extended op calls
...
Multiple calls are allowed to run in parallel as long as they don't
conflict.
This also cleans up the variable names in the extended op calls.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-16 07:24:00 +10:00
Anatoliy Atanasov
2eeba94c9c
s4/fsmo: Handle infrastructure, pdc and rid extended ops
...
With this change we can transfer all roles back and forward, except
for the naming master. Also this commit fixes the naming of
fsmo_role_dn - used to point to the DN from which we read fSMORoleOwner
role_owner_dn - used to point to the NTDSDSA who owns the role
Now we always pass fsmo_role_dn, role_owner_dn to the extended operation
and to drepl_create_role_owner_source_dsa
Conflicts:
source4/dsdb/repl/drepl_ridalloc.c
2010-09-15 14:00:28 +03:00
Andrew Tridgell
6c45eeb944
s4-repl: use consistent API calls for getting DN GUID
...
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-15 15:39:36 +10:00
Andrew Tridgell
13a8745cae
s4-rodc: add a trigger message for REPL_SECRET to auth_sam
...
when an RODC tries to authenticate against an account and the account
has no password information it needs to send a message to the drepl
server to tell it to try and replicate the secret information from
a writeable DC
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-15 15:39:34 +10:00
Anatoliy Atanasov
788bfc8a25
s4/fsmo: Change return type from NTSTATUS to WERROR for drepl_takeFSMOrole
...
This removed an unnecessary conversion of the return type in
drepl_take_FSMO_role.
2010-09-10 13:44:20 +03:00
Anatoliy Atanasov
0ad22777ec
s4/fsmo: Fix callback declaration
2010-09-10 13:29:38 +03:00
Kamen Mazdrashki
d08439d42b
s4-dreplsrv: fix 'dn' for partition object being created
2010-09-10 13:08:23 +03:00
Kamen Mazdrashki
750300aedf
s4-drs-fsmo: try to dispatch ops in queue as soon as possible
...
In most cases this will transfer of schema master role to
look like a synchronous operation.
2010-09-10 13:08:22 +03:00
Andrew Tridgell
c34cae81fe
s4-fsmo: update FSMO changes for recent IRPC work
...
the IRPC API has changed
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-10 13:08:20 +03:00
Anatoliy Atanasov
ab01ce6e96
s4/drs: update repsFrom only when we are not in getncchanges extended op
2010-09-10 13:08:20 +03:00
Nadezhda Ivanova
0229ac455d
s4-irpc: Added internal rpc call DREPL_TAKEFSMOROLE
...
It schedules a getncchanges with extended op 6, to be used when a modify request on
becomeROLEMaster atteibute on rootDSE is received.
2010-09-10 13:08:18 +03:00
Nadezhda Ivanova
657b7039c3
s4-drs: Implementation of GetNCChanges extended op 6 - fsmo role transfer
...
Basically the candidate owner makes a getncchanges call with extended op 6 when they want to
become the new owner. The current owner then updates the corresponding fSMORoleOwner attribute
in its database with the new owner, and replicates the change to the candidate, who then becomes the
owner.
The patch was made in cooperation with Anatoliy Atanasov <anatoliy.atanasov@postpath.com> who
kindly helped to debug it.
2010-09-10 13:08:17 +03:00
Nadezhda Ivanova
c8794d2625
s4-drs: Refactored drepl_service and send_ridalloc_request so that the structures can be used for other extended ops
2010-09-10 13:08:16 +03:00
Kamen Mazdrashki
3593298c7e
s4-dreplsrv: Call dreplsrv_out_operation::callback in case we fail to even run the operation
...
Operation was scheduled already, so we need to call
the callback function for it to be able to do its job.
For instance, if we are blocking an rpc call until an
operation is completed and there is no memory, then
client will be blocked without knowing what is going on
with the server.
2010-09-09 18:26:51 +03:00
Kamen Mazdrashki
7ee34182df
s4-dsdb/repl/drepl_out_pull.c: Remove unused code
2010-09-09 18:26:50 +03:00