summaryrefslogtreecommitdiff
path: root/source4/dsdb
AgeCommit message (Collapse)AuthorFilesLines
2009-10-21s4:dsdb Allow creation of new partitionsAndrew Bartlett2-70/+101
This is a collection of fixes to allow the creation of new partitions, as well as adding debugging that may be useful in chasing down future failures. Andrew Bartlett
2009-10-21s4:dsdb Remove default instanceType from repl_meta_dataAndrew Bartlett1-9/+0
This is no longer required, as the instancetype module is now above repl_meta_data. Andrew Bartlett
2009-10-21s4:dsdb Remove workaround for two partition head recordsAndrew Bartlett1-16/+1
The problem here has been avoided in repl_meta_data, and so this is no longer required. Andrew Bartlett
2009-10-21s4:dsdb Use 'partition modified' information to update @REPLCHANGEDAndrew Bartlett1-356/+189
This major rework of repl_meta_data changes it from using a static list of partitions to a dynamic list created from the controls placed on returned ldb results. To process these in one place, the similar but distinct callbacks are combined into a single replmd_op_callback(), which handles both the 'normal operation' and 'inbound replication' case. This allows new partitions to be created, and replication events for these new partitions to be scheduled immediately. Also in this commit: We no longer specify the target partition for new or modified objects - instead we allow the partitions module to use the DN as normal. THis avoids the issue where we would create two partition head records. Andrew Bartlett
2009-10-21s4:repl Pass schema as argument to replmd_update_rpmd()Andrew Bartlett1-6/+5
2009-10-21s4:dsdb In partitions module, tell the caller what partition was used.Andrew Bartlett1-1/+17
This means we don't return any control for modifications to the control records in sam.ldb, but do if they modified one of the actual data LDB files. Andrew Bartlett
2009-10-21s4:dsdb Load new partitions in a running LDB if metadata changesAndrew Bartlett2-144/+151
This allows one instance of LDB to add a partition, and another to use it without first closing the database. Andrew Bartlett
2009-10-21s4:dsdb Only reload partition metadata on search and transaction startAndrew Bartlett2-19/+5
I see no reason to reload it when in a transaction - it can't change on us anyway (we possibly need to watch for our own changes to @PARTITION however) Andrew Bartlett
2009-10-21s4:dsdb Reload partition metadata if the main db updatesAndrew Bartlett3-39/+120
This uses the fact that the primary DB does not change often. Before each operation, we see if the sequence number has changed. Andrew Bartlett
2009-10-21s4:dsdb Split 'set per-partition metadata' into it's own functionAndrew Bartlett1-139/+162
This helps us ensure we always set the metadata, even when we are 'adding' a partition that is already in our list. (We *really* don't want these getting out of sync, and the extra writes are harmless) Andrew Bartlett
2009-10-21s4:dsdb Don't try and casefold DNs during startup for partition loadAndrew Bartlett1-10/+19
The issue here is that before we load the schema partition, we may not have the correct casefolding rules. As such, keep things simple and use the DN exactly as found in the @PARTITIONS record to find the database. Andrew Bartlett
2009-10-21s4:dsdb Fix partition_create not to return earlyAndrew Bartlett1-14/+22
2009-10-21s4:dsdb Fix tests for samba3sam to pass after partitions module changesAndrew Bartlett1-13/+9
This is needed because the new format of the partitions record is a casefolded DN, not a DN and file combination. Andrew Bartlett
2009-10-21s4:dsdb Be strict in selecting on-disk names for partitionsAndrew Bartlett2-6/+84
I really don't want a cn=foo/../bar in my ldb file name. Andrew Bartlett
2009-10-21s4:dsdb Set 'notification' after the success of a change.Andrew Bartlett1-18/+14
This allows the partition to be created before we try and set a notification on it. (perhaps extra work required here for partition heads). Andrew Bartlett
2009-10-21s4:dsdb Rework modules create new partitions at runtimeAndrew Bartlett7-311/+840
This is done by passing an extended operation to the partitions module to extend the @PARTITION record and to extend the in-memory list of partitions. This also splits things up into module parts that belong above and below repl_meta_data Also slit the partitions module into two files due to the complexity of the code Andrew Barltett
2009-10-21s4/drs: prefixMap main interface implementationKamen Mazdrashki1-0/+244
Currenly implemented functions are: dsdb_schema_pfm_new(), dsdb_schema_pfm_make_attid() and dsdb_schema_pfm_oid_from_attid()
2009-10-21s4/drs(tort): Unit test for prefixMap implementation.Kamen Mazdrashki2-4/+4
Currenly those tests cover only the main part of the interface, i.e. dsdb_schema_pfm_new(), dsdb_schema_pfm_make_attid() and dsdb_schema_pfm_oid_from_attid()
2009-10-20s4-dsdb: fixed empty structure error on solaris8Andrew Tridgell1-0/+1
Nadya, I'm guessing you plan on adding some real elements to this structure later. For now I've added _dummy so the build can continue with the Solaris C compiler.
2009-10-19s4:password_hash LDB module - substitute "lp_workgroup" with "lp_sam_name"Matthias Dieter Wallnöfer1-1/+1
According to abartlet's response on my post about "lp_workgroup" this should be the right call.
2009-10-18s4:sites - get the server site (name) from DSDBMatthias Dieter Wallnöfer1-0/+10
2009-10-17s4-privileges: moved privileges to private/privilege.ldbAndrew Tridgell1-6/+25
We were storing privileges in the sam, which was OK when we were a standalone DC, but is no good when we replicate with a windows DC. This moves the privileges to a separate (local) database
2009-10-16s4/drs: prefixMap module initial definitionKamen Mazdrashki3-1/+69
2009-10-16s4/drs: Propagate redefinition of drsuapi_DsReplicaOID into code baseKamen Mazdrashki1-61/+105
The biggest change is that 'oid' field is transmited in binary format. Also the field name is changed to 'binary_oid' so that field format to be clear for callers. After those changes, Samba4 should work the way it works before - i.e. no added value here but we should not fail when partial-oid is part of prefixMap transmited from Win server. Also, thre is a bug in this patch - partial-binary-OIDs are not handled correctly. Partial-binary-OIDs received during replication will be encoded, but not handled correctly.
2009-10-15s4-dsdb: implement limit on rDN lengthAndrew Tridgell1-3/+11
w2k8 imposes a limit of 64 characters on the rDN
2009-10-15s4-dsdb: added samdb_rodc() and samdb_ntds_options()Andrew Tridgell2-1/+51
Later we will need to make samdb_rodc() look in the database, but for now we should at least have the function in a central place
2009-10-14s4:password_hash - load the domain parameters from the "loadparm context"Matthias Dieter Wallnöfer1-42/+11
And don't cut them out from the DNS hostname.
2009-10-14s4: Changes the old occurences of "lp_realm" in "lp_dnsdomain" where neededMatthias Dieter Wallnöfer2-3/+2
For KERBEROS applications the realm should be upcase (function "lp_realm") but for DNS ones it should be used lowcase (function "lp_dnsdomain"). This patch implements the use of both in the right way.
2009-10-12s4:objectclass ldb module - Check for empty messagesMatthias Dieter Wallnöfer1-1/+8
I think the check for empty messages fits best here.
2009-10-12s4:schema Add some error checking to the schema loadAndrew Bartlett2-7/+25
2009-10-12s4:dsdb Make dsdb_read_prefixes_from_ldb staticAndrew Bartlett1-1/+3
2009-10-12s4:dsdb Search for the schema with dsdb_module_search(), in schema_fsmoAndrew Bartlett2-122/+102
This avoids using an ldb_search(), which would run from the top of the module stack. This will help us load the schema before the partitions are initialised. Andrew Bartlett
2009-10-12s4:dsdb Add new functions to help modules do an ldb_search()Andrew Bartlett5-43/+173
These take an ldb_module argument, and avoid doing the search from the top of the stack again. (This will help when modules are initialised before being added to the partition set) Andrew Bartlett
2009-10-12s4:provision Remove all references to samba4LocalDomainAndrew Bartlett3-8/+7
This was a bad idea all along, as Simo said at the time. With the full MS schema and enforcement of it, it is an even worse idea. This fixes the provision of the member server in 'make test' Andrew Bartlett
2009-10-08s3/s4 - Adapt the IDL changes on various locationsMatthias Dieter Wallnöfer1-11/+14
2009-10-08s4:subtree_delete - Make the initialisation of the child counter more clearMatthias Dieter Wallnöfer1-0/+2
2009-10-07s4-drs: fixed a memory error introduced yesterdayAndrew Tridgell1-1/+1
ids is retrurned via _ids, so it needs to be on the passed in mem_ctx
2009-10-06s4:various LDB modules - "build_request" functions - propagate result codes backMatthias Dieter Wallnöfer4-12/+19
It's very useful to know the exact result code when something fails and not only a generic (by the module) created one. Sure, there are some exception cases with specific results (special message constellations, attributes, values...) which shouldn't be changed at all (examples of them are in the "ldap.py" test). Therefore I looked very carefully to not change them.
2009-10-06s4:rootdse module - intendation fixupMatthias Dieter Wallnöfer1-2/+2
2009-10-06s4:acl module - intendation fix and comment enhancementMatthias Dieter Wallnöfer1-1/+2
2009-10-06s4-repl: added RELAX control and fix transactionsAndrew Tridgell1-8/+57
Added the RELAX control to dsdb_origin_objects_commit(), as it needs to modify system objects. This patch also fixes the use of ldb transactions in that function, and fixes a memory leak.
2009-10-03s4:objectclass - Free unused memory from responsesMatthias Dieter Wallnöfer1-0/+3
2009-10-03s4:schema_inferiors - Fix wrong checkMatthias Dieter Wallnöfer1-1/+1
2009-10-03s4:dsdb Use possibleInferiors to restrict creation of child objectsAndrew Bartlett1-4/+15
This also uses systemPossibleInferiors when the 'relax' control is specified, which is done by the provision. Andrew Bartlett
2009-10-03s4:dsdb add systemPossibleInferiors to schema codeAndrew Bartlett2-0/+21
This allows us to figure out what the system can add, which will not be in possibleInferiors due to the systemOnly flag. Andrew Bartlett
2009-10-03s4:dsdb Add objectClass and RDN constraints to objectClass moduleAndrew Bartlett1-8/+35
These additional constraints are applied, found by the Microsoft testsuite. - When the parent is not present, we now return 'NO_SUCH_OBJECT'. - Restrict the choice of RDN to the correct one per the schema - Honour the allowedChildClasses attribute from the parent's objectClass. Andrew Bartlett
2009-10-03s4:dsdb Don't allow creation of systemOnly objectclassesMatthias Dieter Wallnöfer2-4/+10
(except as part of the provision, which specifies the 'relax' control) Andrew Bartlett
2009-10-02s4:repl_meta_data - variousMatthias Dieter Wallnöfer1-9/+38
- Add more "talloc_free"s and right error values where needed - Add a pre-lookup for entries before searching for metadata attribute (also suggested by TODO list) - Now the most part of "ldap.py" works again
2009-10-02s4:dsdb Return correct error on invalid attributeAndrew Bartlett1-1/+2
This error per the Microsoft testsuite
2009-10-02s4:dsdb Pass down the exact error code on failure in repl_meta_dataAndrew Bartlett1-5/+5