summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
AgeCommit message (Collapse)AuthorFilesLines
2010-05-04s4/rodc: Support read-only databaseAnatoliy Atanasov1-1/+32
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.
2010-05-01s4:dsdb Fix use of memory after free in repl_meta_dataAndrew Bartlett1-7/+9
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
2010-04-27s4-repl: these messages are common, and don't deserve debug level 1Andrew Tridgell1-2/+2
getting older attributes is quite common
2010-04-26s4-drs: make links to foreign partitions non-fatalAndrew Tridgell1-8/+6
DN links outside the set of partitions we are replication should be allowed. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-22s4-drs: added new SECURITY_RO_DOMAIN_CONTROLLER levelAndrew Tridgell1-1/+1
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>
2010-03-26s4-drs: replmd_delete with the 3 stage deletion recycle binEduardo Lima1-104/+179
2010-03-22s4:dsdb Move dsdb_save_partition_usn() to be a module helper functionAndrew Bartlett1-4/+3
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
2010-03-22s4:dsdb Add 'const' to some struct dsdb_schema variablesAndrew Bartlett1-8/+8
We don't currently require this, but we may move this way in future.
2010-03-16s4:dsdb Change dsdb_get_schema() callers to use new talloc argumentAndrew Bartlett1-6/+30
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
2010-03-07s4:repl_meta_data LDB module - change counter variables to "unsigned" where ↵Matthias Dieter Wallnöfer1-20/+24
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.
2010-02-15s4-dsdb: don't change replPropertyMetaData if the value hasn't changedAndrew Tridgell1-4/+20
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>
2010-02-15s4-drs: Fixes bugs regarding Urgent Replication on wrong situationsFernando J V da Silva1-7/+16
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>
2010-02-13s4: use LDB_TYPESAFE_QSORT() instead of ldb_qsort()Andrew Tridgell1-5/+2
2010-02-13s4-dsdb: use TYPESAFE_QSORT() in dsdb codeAndrew Tridgell1-4/+3
2010-02-10util: rewrite dlinklist.h so that DLIST_ADD_END() is O(1)Andrew Tridgell1-2/+1
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).
2010-02-10s4-dsdb: update repl_meta_data.c to use new DLIST_ macrosJeremy Allison1-3/+2
2010-01-14s4-drs: Store uSNUrgent for Urgent ReplicationFernando J V da Silva1-10/+95
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>
2010-01-10s4:repl_meta_data - Transform a "1" into a "true" on a boolean variableMatthias Dieter Wallnöfer1-1/+1
2010-01-09s4-drs: instanceType is always sent, regardless of UDV valuesAndrew Tridgell1-4/+6
2010-01-02s4-dsdb: switched to using RMD_FLAGS instead of DELETED in extended DNsAndrew Tridgell1-31/+35
This allows for more flags in the future
2010-01-02s4-dsdb: make sure 'whenChanged' is set on modifyAndrew Tridgell1-1/+4
We also should preserve (and then replace) whenChanged on delete
2010-01-02s4-dsdb: allow system to remove deleted objectsAndrew Tridgell1-0/+19
This will be used by a periodic job to remove tombstoned objects
2010-01-02s4-drs: make sure the DNs we put in the db have a extended GUIDAndrew Tridgell1-7/+16
2010-01-02s4-drs: re-resolve the DN in linked attribute processingAndrew Tridgell1-0/+10
w2k8-r2 sometimes sends the DN with an old target
2010-01-02s4-drs: use dsdb_module_rename()Andrew Tridgell1-4/+3
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.
2010-01-02s4-drs: use dsdb linked attribute parse functionsAndrew Tridgell1-23/+4
This makes the code considerably more readable
2010-01-02s4-dsdb: fixed valgrind error in replmd modifyAndrew Tridgell1-1/+1
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>
2010-01-02s4-drs: don't try to remove backlinks directlyAndrew Tridgell1-1/+2
backlinks need to be removed as a side effect of removing the forward link Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-drs: isRecycled only exists in FL W2K8-R2Andrew Tridgell1-0/+13
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-drs: use DSDB_FLAG_OWN_MODULEAndrew Tridgell1-3/+3
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>
2010-01-02s4-drs: update comment to refect only forward link in this fnAndrew Tridgell1-2/+4
This function only update forward links Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-drs: fixed typo for uSNCreatedAndrew Tridgell1-1/+1
This broke DRS replication from samba to windows Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-drs: use dsdb_module_guid_by_dn()Andrew Tridgell1-1/+1
We should not be going to the top of the module stack
2010-01-02s4-drs: cope better with NULL GUIDS from DRSAndrew Tridgell1-11/+25
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>
2010-01-02s4-drs: give an error message in repl_meta_data if we don't get a partition ↵Andrew Tridgell1-0/+1
control
2010-01-02s4-drs: treat a zero GUID as not present in replmd_add_fix_laAndrew Tridgell1-3/+6
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-dsdb: use a common method for finding a link pairAndrew Tridgell1-1/+1
Use ^1 everywhere, to ensure it works for both forward and backward links
2010-01-02s4-dsdb: fill in the correct version number of links that come over DRSAndrew Tridgell1-26/+27
2010-01-02s4-dsdb: move checking for single valued links to samba modulesAndrew Tridgell1-2/+8
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
2010-01-02s4-dsdb: auto-upgrade w2k formatted linked attributes when modifiedAndrew Tridgell1-0/+63
When any value of a w2k formatted linked attribute is modified, upgrade the links.
2010-01-02s4-dsdb: minor cleanup in DRS replicated objects codeAndrew Tridgell1-5/+6
2010-01-02s4-dsdb: store full meta data from DRS for linked attributesAndrew Tridgell1-150/+239
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-dsdb: split RMD_USN into RMD_LOCAL_USN and RMD_ORIGINATING_USNAndrew Tridgell1-8/+14
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>
2010-01-02s4-dsdb: handle links with no backlinks in replmd_deleteAndrew Tridgell1-4/+3
2010-01-02s4-dsdb: do the rename after the modify in replmd_deleteAndrew Tridgell1-12/+13
This makes updating the links a bit easier
2010-01-02s4-dsdb: some backlinks can be processed immediatelyAndrew Tridgell1-77/+84
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.
2010-01-02s4-dsdb: add linked attributes meta_data handling to replmd_addAndrew Tridgell1-24/+86
This also handles the backlink creation that was previously in the linked_attributes module Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-01-02s4-dsdb: added replmd_delete, based on Eduardos workAndrew Tridgell1-0/+295
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>
2010-01-02s4-dsdb: add a comment on the use of ldb_rename()Andrew Tridgell1-0/+3
We need to use ldb_rename() and not dsdb_module_rename() here as we need the rename to be processed by the current module
2010-01-02s4-dsdb: added support for backlinks in repl_meta_dataAndrew Tridgell1-20/+224
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>