summaryrefslogtreecommitdiff
path: root/source4/lib
AgeCommit message (Collapse)AuthorFilesLines
2009-10-22s4-ldb: fast path for equal pointersAndrew Tridgell1-1/+1
We compare identical ldb_val values surprisingly often
2009-10-22s4-ldb: when taking a list intersection, the result can be as long as the ↵Andrew Tridgell1-1/+1
first list Intuitively you would think it couldn't be longer than the minimum of the two lists, but we are deliberately allowing for duplicates at this level of the indexing code, which means the result can be longer
2009-10-22s4-ldb: ldb indexing rewrite - part1Andrew Tridgell4-909/+739
This gets rid of the @IDXPTR approach to in-transaction indexing, instead using an in-memory tdb to hold index values during a transaction. This also cleans up a lot of the internal indexing logic, hopefully making it easier to understand. One of the big changes is in memory management, with a lot more use made of talloc tricks to avoid copying dn lists, and shortcuts used to avoid high intersection and union calculation costs. The overall result is that a re-provision on my laptop goes from 48s to a bit over 10s.
2009-10-22s4-ldb: ldb_oom() for modulesAndrew Tridgell1-0/+1
2009-10-22s4:ldb_sort - Add some more "const"Matthias Dieter Wallnöfer1-2/+2
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-21S4: ldb_map modules uses defines that are reservedTorgeir Lerkerød4-58/+58
On OpenSolaris MAP_RENAME and friends are defined in <sys/mman.h> e.g. mmap and friends. So on these systems MAP_* have a meaning. Cleaned up LDB name space by adding LDB_ in front of MAP_* e.g. MAP_RENAME => LDB_MAP_RENAME Signed-off-by: Torgeir Lerkerød <torgeir.lerkerod@gmail.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-10-21s4-ldb: allow for non-null terminated ldb_val in ldb_dn_from_ldb_valAndrew Tridgell1-1/+1
The strlen() could go past the end of a non-null terminated value
2009-10-21s4:ldb_map Fix use-after-free of memory in ldb_mapAndrew Bartlett2-4/+8
We need to keep the old 'ares' from the remote server around so we can forward it back to the caller. We can't send the same controls (from the last search entry) twice (and it makes no sense anyway). Andrew Bartlett
2009-10-21s4:ldb Put ltdb_private under the 'module'Andrew Bartlett1-0/+1
This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett
2009-10-21s4:ldb Add new function to create a cut down list of controlsAndrew Bartlett2-0/+47
This I hope will be useful for removing controls from the ldb_reply Andrew Bartlett
2009-10-21s4:ldb Add function to add controls to an LDB replyAndrew Bartlett2-0/+45
2009-10-19s4-pyldb: fixed 64 bit issuesAndrew Tridgell1-2/+4
The python argument parse functions take standard C types, not enums and time_t. This broken the python interface on PPC.
2009-10-18s4:ldb_msg_check_string_attribute - add a comment about the result valuesMatthias Dieter Wallnöfer2-1/+14
2009-10-18Revert "s4:ldb_msg - Use LDB constants on results"Matthias Dieter Wallnöfer1-3/+4
This reverts commit 56a8baff3df6a5120b6c7bbca771dfb7c6934fd5. Simo pointed out that I was wrong here.
2009-10-18s4:ldb_msg - Use LDB constants on resultsMatthias Dieter Wallnöfer1-5/+7
2009-10-18s4:ldb_ldap - Fix intendationMatthias Dieter Wallnöfer1-8/+8
2009-10-18s4: spelling errorAndrew Tridgell1-1/+1
2009-10-16s4:ldb - fixed dangling pointer in ldb_request_add_control()Endi S. Dewata1-2/+7
2009-10-16s4/drs: Propagate redefinition of drsuapi_DsReplicaOID into code baseKamen Mazdrashki1-8/+29
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-ldaptest: "testgroup" is a bit too commonAndrew Tridgell1-2/+2
This failed on one of my test boxes that has a group called "testgroup". using "testgroupXX" should be a bit better.
2009-10-15s4-ldap: test the rDN size limitAndrew Tridgell1-0/+25
2009-10-15s4-ldb: removed bugus RDN length checkAndrew Tridgell1-5/+0
This isn't the rDN !
2009-10-15ldb: fixed display of replUpToDateVectorAndrew Tridgell1-1/+1
2009-10-14s4: Changes the old occurences of "lp_realm" in "lp_dnsdomain" where neededMatthias Dieter Wallnöfer1-1/+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:ldb_tdb - Revert some introduced "trivial gotos"Matthias Dieter Wallnöfer1-21/+11
I hope that this makes abartlet & simo happy again (consider mailing list).
2009-10-12Revert "s4:ldb - add a check which has to be done on beginning of a "modify" ↵Matthias Dieter Wallnöfer1-8/+0
operation" This reverts commit f9990e9b391f330a8e6c5c158ee4e4eaa50f6176. abartlet claims that this behaviour is too AD specific to put here. Btw I had also some doubts if this is clean enough. I put it only here to make "ldap.py" pass. I'll try to find a new solution soon.
2009-10-12s4:ldb Allow a NULL module listAndrew Bartlett1-1/+1
2009-10-12Allow (and ignore) distinguishedName on special recordsAndrew Bartlett1-0/+2
They are not stored, so we can ignore them (makes copying records much easier) Andrew Bartlett
2009-10-12s4:ldb Reload the 'ltdb_cache' when @OPTIONS changesAndrew Bartlett1-0/+7
(Otherwise setting the check base on search option is not applied until after a reload). Andrew Bartlett
2009-10-12s4:ldb Allow a module string of ""Andrew Bartlett1-0/+6
(We may have no modules set) Andrew Bartlett
2009-10-08s4:ldb - SQLite: port some constraints from the TDB backend also to the ↵Matthias Dieter Wallnöfer1-0/+49
SQLITE one
2009-10-08s4:ldap.py - Further enhancementsMatthias Dieter Wallnöfer1-6/+236
- Enhance test for "distinguishedName" - Add a test for single-valued attributes - Add a test for multi-valued attributes - Add a test for empty messages - Add a test for empty attributes
2009-10-08s4:ldb - add a check which has to be done on beginning of a "modify" operationMatthias Dieter Wallnöfer1-0/+8
2009-10-08s4:ldb_tdb - Rework/VariousMatthias Dieter Wallnöfer1-192/+200
- Unify the error handling method with "done" mark in all longer functions - Fix up result codes to match more the real MS AD - Some cosmetic fixups
2009-10-06s4:various LDB modules - "build_request" functions - propagate result codes backMatthias Dieter Wallnöfer3-3/+6
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-ldb: fixed error on single value errorAndrew Tridgell1-1/+1
When you try to add a 2nd value to a single valued attribute you get LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS. w2k8-r2 join to s4 relies on this error, doing a replace after it sees the error
2009-10-03s4:ldap.py - commented out the UTF8 tests (and fixed some deletion DNs)Matthias Dieter Wallnöfer1-10/+12
2009-10-03s4:ldb_tdb - fix memory leaksMatthias Dieter Wallnöfer1-7/+12
2009-10-03s4:ldb.h - add constant for LDAP EXOP password changeMatthias Dieter Wallnöfer1-4/+21
Also enhance some other comments.
2009-10-03s4:ldap.py - add tests for valid parent and RDNMatthias Dieter Wallnöfer1-0/+39
2009-10-03s4:ldap.py - add a test for the "systemOnly" classesMatthias Dieter Wallnöfer1-1/+16
2009-10-03s4:rdn_name - fix up the rename operationMatthias Dieter Wallnöfer1-4/+4
A function call was wrong ("ldb_request" rathen than "ldb_next_request").
2009-10-03Revert "s4:LDB/LDAP - Re-allow renames"Matthias Dieter Wallnöfer1-49/+4
This reverts commit 767fce6fccf484b547219abd5e6abc941eacaf92. Simo pointed out that the patch generates race conditions. We need to solve this using a new control.
2009-10-02s4:ldap.py - add a very special rename test (with invalid - empty RDN)Matthias Dieter Wallnöfer1-9/+23
2009-10-02s4:ldb_ildap - Don't segfault on a empty RDNMatthias Dieter Wallnöfer1-4/+12
2009-10-02s4:LDB/LDAP - Re-allow renamesMatthias Dieter Wallnöfer1-6/+46
The main problem is that the "rdn_name" module launches on a rename request also a modification one with the "special attributes" which can't be changed directly. An introduced flag helps to bypass the restriction.
2009-10-02s4:ldap.py - major enhancementsMatthias Dieter Wallnöfer1-102/+187
- Clean up and reorder it a bit - Test which adds invalid attributes - Test which makes sure that the 'distinguishedName' attribute cannot be modified - Test which makes sure that we cannot change the RDN/'name' attribute through a modify request
2009-10-02s4:ldb Don't allow RDN to be modified with an LDB modify messageAndrew Bartlett1-1/+30
Found by the Microsoft testsuite at the AD interop event. Andrew Bartlett
2009-10-02s4:rdn_name module - a normal error message should be enough for this failureMatthias Dieter Wallnöfer1-7/+9
I don't think that we really want to have this error printed out on the server console (stdout) since this hasn't serious results as DB or data corruption and similar.
2009-10-02s4:ldb Don't allow modifcation of distinguishedNameAndrew Bartlett1-1/+7