summaryrefslogtreecommitdiff
path: root/source4/dsdb
AgeCommit message (Collapse)AuthorFilesLines
2009-12-21s4-schema: fixed the sorting of schema attributesAndrew Tridgell1-3/+9
another case of unsigned int subtracting breaking sorts. This one surfaced now as attributeID_id now can be larger than 2^31
2009-12-21s4-drs: Implement constraints on ATTID values in prefixMapKamen Mazdrashki2-0/+35
Ref: MS-ADTS, 3.1.1.2.6 ATTRTYP Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21Adapted acl module to skip checks if as_system control is provided.Nadezhda Ivanova1-7/+17
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-drs: Save prefix map using LDB_CONTROL_AS_SYSTEM controlKamen Mazdrashki1-1/+1
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-dsdb-util: Execute ldb_request using LDB_CONTROL_AS_SYSTEMKamen Mazdrashki1-0/+49
This function is intended to be used when data needs to be modified skipping access checks. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-dsdb-util: Utility function to process ldb_request in transactionKamen Mazdrashki1-0/+26
This function is to be used later for manually crafted ldb_requests from within dsdb layer Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-schema: Implement msDS-IntId attribute generationKamen Mazdrashki1-14/+133
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-schema: Constraints on msDS-IntId attributeKamen Mazdrashki1-0/+27
This attribute can not be modified on existing schema object. msDS-IntId is not allowed during attribute creation also. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-schema: Set ATTID in schema cache from "msDS-IntId"Kamen Mazdrashki1-8/+13
According to http://msdn.microsoft.com/en-us/library/cc223224%28PROT.13%29.aspx some Attributes OIDs may not use prefixMap. Setting ATTID in Schema Cache here should work, although this code snippet should be moved in separate function. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21Revert "s4-drs: cope with bogus empty attributes from w2k8-r2"Kamen Mazdrashki1-17/+0
This reverts commit 1287c1d115fb7e8f3954bc05ff65007968403a9c. Next patch should fix the "not recognized ATTIDs" problem Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-drs: Fix bug - prefixMap is not updated when adding new OIDs.Kamen Mazdrashki1-2/+1
The bug is that prefixMap is updated only memory when adding new Classs/Attribute that has and OID not in prefixMap already. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-repl: give a reason why the prepare commit failedAndrew Tridgell1-1/+2
2009-12-21s4-kcc: don't crash with a NULL ntds connection listAndrew Tridgell1-3/+3
2009-12-21s4-repl: only try to replicate for NCs that we are a master forAndrew Tridgell1-4/+3
2009-12-21s4-schema: a unsigned comparison bug in the schema codeAndrew Tridgell1-1/+2
2009-12-21s4-drs: another two unsigned comparison bugsAndrew Tridgell1-3/+5
2009-12-21s4-repl: lower debug level of a common messageAndrew Tridgell1-1/+1
2009-12-21s4-dsdb: don't use a non-constant format string for a printf formatAndrew Tridgell1-10/+3
2009-12-21s4-dsdb: added DSDB_MODIFY_RELAX flag to the dsdb_module_*() callsAndrew Tridgell2-0/+8
2009-12-21s4-dsdb: added dsdb_get_extended_dn_uint64()Andrew Tridgell1-3/+11
2009-12-21s4-dsdb: use varargs expression in dsdb_module_search()Andrew Tridgell1-1/+7
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-21s4-dsdb: added two new dsdb_get_extended_dn_*() helper functionsAndrew Tridgell1-0/+43
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-21s4-dsdb: give us an invocationID when in standalone modeAndrew Tridgell1-1/+79
To allow us to use the repl_meta_data module in standalone mode (and thus not have two module stacks to test), we need a invocationID stored somewhere when standalone. This creates a random one, and stores it in @SAMBA_DSDB. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: stop warnings about unknown struct GUID in prototypesAndrew Tridgell1-0/+1
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: greatly simplify the subtree_delete moduleAndrew Tridgell1-117/+20
We can use dsdb_module_search() to make this much simpler Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: fixed the sort in dsdb_find_nc_root()Andrew Tridgell1-1/+6
2009-12-18s4-dsdb: fix handling of AUX classes in objectclass_sortBrendan Powers1-146/+133
This is done by sorting the classes by subClass_order, which will check if the last structural class is valid to add (in objectclass_do_add instead checking the last class in the list). They were being sorted by building a class tree, and adding the classes to the list in that order. However, AUX classes usually don't fit into that tree, so LDB_ERR_OBJECT_CLASS_VIOLATION was returned. I have changed the behavior to sort the classes by subClass_order instead. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: return an error if samAccountName is not specified when creating a ↵Brendan Powers1-0/+7
user. Makes sure samAccountName has been specified before adding a user. This happened while I was trying to add a user with the posixAccount objectclass. I forgot to specify the user objectClass, and samba segfaulted. It now returns LDB_ERR_CONSTRAINT_VIOLATION. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: Move get_last_structural class from descriptor.c to util.cBrendan Powers3-16/+30
It can now also be used by objectclass.c get_last_structural_class now ignores AUX classes, because they are not structural Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: Add a check to prevent acl_modify from debuging a NULL messageBrendan Powers1-1/+5
Check to see if there were any messages passed to acl_modify before debugging the first one. I think I caused this by some malformed LDIF. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-12-17s4:"samdb_set_password" - remove delete instructionsMatthias Dieter Wallnöfer1-7/+2
They won't work when the LDB change is done using "samdb_replace" (consider "samr_password.c" functions). I think this has been a relict which has been useful before the "password_hash" module existed. Basically it itself does now the updates.
2009-12-17Fixed incorrect checking of PRINCIPAL_SELF permissions.Nadezhda Ivanova1-11/+86
If an ace has the PRINCIPAL_SELF as trustee, this sid has to be replaced with the onjectSid of the object being checked. PRINCIPAL_SELF is the way to grant rights to an account over itself.
2009-12-17s4:dsdb/common/util - make NTTIME attribute wrappers use a "const" messageMatthias Dieter Wallnöfer1-4/+6
There is no reason to have the message non-const here.
2009-12-16s4-dsdb: also mark the relax control non-critical when doneAndrew Tridgell1-5/+3
2009-12-16s4-dsdb: it is a better pattern to mark a control as done than remove itAndrew Tridgell3-21/+7
removing a control means it can't be seen by any other modules, which is usually not what is wanted. Better to just mark it non-critical, which means anyone else who wants to look at it can, but if nobody does its not an error.
2009-12-16s4-dsdb: when the SD_FLAGS control is set, don't remove nTSecurityDescriptorAndrew Tridgell1-10/+19
2009-12-16s4-dsdb: don't actually remove the sd_flags control, just mark it non-criticalAndrew Tridgell1-14/+10
For controls that need to be seen by more than one module, it is best to just mark them non-critical when handled, instead of removing them. Otherwise lower modules can't see them. In this case we want the operational module to see the SD_FLAGS control
2009-12-16s4-dsdb: added dsdb_get_deleted_objects_dn()Andrew Tridgell1-0/+22
This is based on the code from Eduardo Lima <eduardoll@gmail.com>, but uses the new helper functions added in the last couple of commits Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: added dsdb_find_nc_root()Andrew Tridgell1-0/+64
This is based on the function of the same name from Eduardo Lima <eduardoll@gmail.com>, but using ldb_dn_compare, to give us comparisons consistent with what the rest of the code uses. We will use this function in combination with dsdb_wellknown_dn() to find the Deleted Objects container for any object. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: added dsdb_wellknown_dn()Andrew Tridgell1-0/+32
This finds a wellknown object given its GUID Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: added a dsdb_module_rename() callAndrew Tridgell1-0/+43
This will be used by the replmd_delete() code Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: added dsdb_module_modify()Andrew Tridgell1-0/+40
This is used to do a sync modify in a module Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: fixed dsdb_module_dn_by_guid()Andrew Tridgell1-3/+7
needs to ask for the DN in storage format, plus fix compilation errors
2009-12-16s4-dsdb: dsdb_flags should be unsignedAndrew Tridgell1-1/+1
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: rename dsdb_module_search_handle_flags to dsdb_request_add_controlsAndrew Tridgell3-6/+10
This function will be used for non-search controls, like relax
2009-12-16s4-dsdb: added dsdb_module_dn_by_guid()Andrew Tridgell1-0/+41
This finds a DN given a GUID, searching below the current module in the module stack. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: use dsdb_dn_is_deleted_val()Andrew Tridgell1-25/+22
This also moves the check to before we parse the DN, which saves some unnecessary work Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-dsdb: added dsdb_dn_is_deleted_val()Andrew Tridgell1-0/+14
This is used to determine if a extedned DN has the 'DELETED=1' component Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-15Fixed a problem with duplicate values of allowedAttributesEffective.Nadezhda Ivanova2-2/+13
2009-12-14s4-dsdb: added REVEAL_INTERNALS flag to dsdb_module_search_handle_flags()Andrew Tridgell2-0/+8