Age | Commit message (Collapse) | Author | Files | Lines |
|
This helps pin down where errors occour, by printing a call stack and
setting error strings and trace messages in the transaction case.
Andrew Bartlett
|
|
|
|
The ldb_dn_explode code normally enforces all special characters,
including a '=', must be escaped. Unfortunately this conflicts with
the ltdb index DNs, which for binary attributes may be base64
encoded. This allows a unescaped '=' as a special case for index DNs.
|
|
I think this is better since "ldb_backend_connect" and "ldb_connect" which
propagate those values should return only LDB constants. Therefore a conversion
(especially for "-1") would be needed.
|
|
|
|
|
|
|
|
We may have modified index objects in the in-memory index tdb
|
|
rather than "int"
|
|
If we don't include Python.h first then we get a pile of warnings due
to broken redefines of XOPEN_SOURCE in the Python includes.
|
|
|
|
|
|
This will be used to allow cancelling of transactions in a child after
a fork()
|
|
This allows us to reuse a ldb context if it is open twice, instead
of going through the expensive process of a full ldb open. We can
reuse it if all of the parameters are the same.
The change relies on callers using talloc_unlink() or free of a parent
to close a ldb context.
|
|
This patch adds a system_session cache, preventing us from having to
recreate it on every ldb open, and allowing us to detect when the same
session is being used in ldb_wrap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These will be used by ldb_index.c
|
|
We compare identical ldb_val values surprisingly often
|
|
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
|
|
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.
|
|
|
|
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
|
|
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>
|
|
The strlen() could go past the end of a non-null terminated value
|
|
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
|
|
This helps track the memory better, as we can then place it under the partition
hirarchy.
Andrew Bartlett
|
|
This I hope will be useful for removing controls from the ldb_reply
Andrew Bartlett
|
|
|
|
The python argument parse functions take standard C types, not enums
and time_t. This broken the python interface on PPC.
|
|
|
|
This reverts commit 56a8baff3df6a5120b6c7bbca771dfb7c6934fd5.
Simo pointed out that I was wrong here.
|
|
|
|
|
|
|
|
|
|
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.
|
|
This failed on one of my test boxes that has a group called
"testgroup". using "testgroupXX" should be a bit better.
|
|
|
|
This isn't the rDN !
|
|
|
|
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.
|
|
I hope that this makes abartlet & simo happy again (consider mailing list).
|
|
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.
|