Age | Commit message (Collapse) | Author | Files | Lines |
|
Check on modify if we are RODC and return referral.
On the ldap backend side now we pass context and ldb_modify_default_callback
to propagate the referral error to the client.
|
|
The upgraded link values are were allocated on tmp_ctx, and need to be
kept until they are written to the DB. If we don't give the correct
context, they will be gone after the talloc_free(tmp_ctx).
Found by Matthieu Patou <mat+Informatique.Samba@matws.net>
Andrew Bartlett
|
|
getting older attributes is quite common
|
|
DN links outside the set of partitions we are replication should be
allowed.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This is used for allowing operations by RODCs, and denying them
operations that should only be allowed for a full DC
This required a new domain_sid argument to
security_session_user_level()
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Rusty Russell <rusty@samba.org>
|
|
|
|
This function should not traverse the module stack again, but instead
run from this point. Also add a matching
dsdb_module_load_partition_usn() and change repl_meta_data to match.
Andrew Bartlett
|
|
We don't currently require this, but we may move this way in future.
|
|
This choses an appropriate talloc context to attach the schema too,
long enough lived to ensure it does not go away before the operation
compleates.
Andrew Bartlett
|
|
appropriate
I used "unsigned int" counters where we count LDB objects (LDB specification
prescribes to use "unsigned" index variables).
But on DSDB replication object counters I used "uint32_t" typed variables as it
is suggested.
If a counter variable counts both types of objects I used "unsigned int" since
size(unsigned int) >= size(uint32_t), but on most platforms equal.
|
|
When updating replPropertyMetaData, check if the value being stored is
the same as the current value, and skip the update if it is.
This is based on a patch by Fernando J V da Silva <fernandojvsilva@yahoo.com.br>
|
|
It fixes the bug which causes an urgent replication to be enabled
incorrectly when an object is modified, but it should happen only
when it was created. This patch also fixes the bug that enable an
urgent replication when an object is deleted, but it should happen
only when it was modified and fixes the bug that does not enable
an urgent replication when an object is deleted and it should happen
only when it is deleted (not when it is modified).
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
|
|
|
|
This changes the meaning of the ->prev pointer in our doubly linked
lists to point at the end of the list from the front of the list. That
allows us to implement DLIST_ADD_END() and related functions in O(1)
time, which can be a huge saving in many places in Samba.
This also means that the 'type' argument to various DLIST_*() macros
is no longer needed, but I have left it in for now to keep the
patchset small, which will make it easier to revert if any problems
are found. In the future we should remove the 'type' arguments.
(jra. Move the one use of DLIST_TAIL over to the new macros).
|
|
|
|
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>
|
|
|
|
|
|
This allows for more flags in the future
|
|
We also should preserve (and then replace) whenChanged on delete
|
|
This will be used by a periodic job to remove tombstoned objects
|
|
|
|
w2k8-r2 sometimes sends the DN with an old target
|
|
Use the new dsdb_module_rename() for DRS rename handling, instead of
ldb_rename(). This stops us going to the top of the module stack on a
rename.
|
|
This makes the code considerably more readable
|
|
We are using the values from a search result, so we need to steal them
onto the msg before we free the search results
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
backlinks need to be removed as a side effect of removing the forward
link
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
We need DRS driven replication changes to update replPropertyMetaData,
so it needs to call into the repl_meta_data module logic
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This function only update forward links
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This broke DRS replication from samba to windows
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
We should not be going to the top of the module stack
|
|
It is valid to get a NULL GUID over DRS for a deleted forward link. We
need to match by DN if possible when seeing if we should update an
existing link.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
control
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
Use ^1 everywhere, to ensure it works for both forward and backward
links
|
|
|
|
This uses the RELAX control and checking of single valued attributes
in ldb modules to avoid problems with multi-valued links where all
values but one are deleted
|
|
When any value of a w2k formatted linked attribute is modified,
upgrade the links.
|
|
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
We need a separate RMD_LOCAL_USN to allow us to tell what attributes
need to be sent in a getncchanges request. Thanks to Metze for
pointing this out.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
|
|
This makes updating the links a bit easier
|
|
backlinks in add and delete operations can be processed immediately,
rather than at the end of a transaction. This can save on backlink
list processing time.
|
|
This also handles the backlink creation that was previously in the
linked_attributes module
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This implements repmld_delete(), which handles the meta_data updates
for an object when deleting. A delete gets mapped to a combination
of a rename followed by a modify request, which has the effect of
moving the object into the Deleted Objects container.
This is based on the code from Eduardo Lima
<eduardoll@gmail.com>. Eduardo's code was modified to take account of
the linked attributes changes that Andrew and I have been working on.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
We need to use ldb_rename() and not dsdb_module_rename() here as we
need the rename to be processed by the current module
|
|
backlinks need more careful handling now that we store the additional
meta data for deleted links. It is easier to handle this in
repl_meta_data than in linked_attributes.
Eventually linked_attributes will disappear, with the functionality
moved into repl_meta_data.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|