Age | Commit message (Collapse) | Author | Files | Lines |
|
omment about transactions
(This used to be commit 33352507593875a147276841fdb70de8edd668f5)
|
|
transactions are synchronous or not on the command line.
add LDB_FLG_NOSYNC flag to ldb_connect() so we can make our temporary
ldb databases non-synchronous
(This used to be commit dba41164e0c52f1e4351bd9057b16661cee3a822)
|
|
LDB_ERR_ value
(This used to be commit 610f5646f0816820ac9342e81d46d139e26cc918)
|
|
(This used to be commit 0ec755cfa0499bf1f271584db3c028d87973f1af)
|
|
(This used to be commit dc6aab8d4a6d0fe47756c90d3d311b6009d571ff)
|
|
(This used to be commit d2055849fba56e8620403621f3fb9684f24e853f)
|
|
(This used to be commit 796d0ea2fcf5132b157a397cc1a54aa26c042691)
|
|
Add ldb_dn_string_compose so that you can build a dn starting from a
struct ldb_dn base and a set of parameters to be composed in a format
string with the same syntax of printf
(This used to be commit 31c69d0655752cc8ea3bc5b7ea87792291302091)
|
|
distinguished names
Provide more functions to handle DNs in this form
(This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
|
|
with the stricter
DN rules in ldb. Escape the DN components to cope.
Simo, sorry for making a change in ldb_dn.c while you have changes
pending. Please feel free to revert these and switch reg_backend_ldb.c
to use the new dn construction code.
(This used to be commit 136ecf5cb23758558b4119b08047fc273be8b0f8)
|
|
show up as strings
not binary blobs
(This used to be commit d2c29a5a51f68cabb9ef587376bf0a6b936cdd76)
|
|
better pares filters
Approx is currently only a stub need to dig more info to
understand what it really means and how it works exactly
(This used to be commit a9e8cd0bad27ed2b3c6a12302e787ba3c9a70a3c)
|
|
on a content level not ona form level, his means that the 2 DNs:
a) cn= user, dc=this, dc = is,dc=test
b) cn=user,dc=this,dc=is,dc=test
are now identical even if the string form differ (spaces)
(This used to be commit 76d496c30867ae80434483a34b0d842523aed762)
|
|
(This used to be commit bcfb3a45e4a5962fe763f8071d4458f4bd11605b)
|
|
This code applies correct ldap standard wildcard matching code
removes WILDCARD matching from tdb @ATTRIBUTES, that's now handled independently
adds some more tests for wildcard matching
fixes dn comparison code in ldb_match
(This used to be commit 4eb5863042011988d85092d7dde3d809aa15bd59)
|
|
read multiple records
(This used to be commit 4b11c00421b5152fd7d4be0be0db983bb310021d)
|
|
- we do not support multpiple attribute components anymore, makes code a lot easier
they will be readded later if we found out they are really used, so far my tests
show w2k3 do not handle them as well
- fix escaping issues, move component value to be in an ldb_val structure
still need to handle binary values case
- make cononicalize functions leak less memory by giving a specific memory context
- fix tests scripts so that test-ldap can start
- make test not delete databases on completion so that I can inspect them
(This used to be commit 624a73148d125690ce18515f19231d26df207738)
|
|
- moved the knowledge of attribute types out of ldb_tdb and into the
generic ldb code. This allows the ldb_match() message match logic
to be generic, so it can be used by other backend
- added the generic ability to load attribute handlers, for
canonicalisation, compare, ldif read and ldif write. In the future
this will be used by the schema module to allow us to correctly
obey the attributetype schema elements
- added attribute handlers for some of the core ldap attribute types,
Integer, DirectoryString, DN, ObjectClass etc
- added automatic registration of attribute handlers for well-known
attribute names 'cn', 'dc', 'dn', 'ou' and 'objectClass'
- converted the objectSid special handlers for Samba to the new system
- added more correct handling of indexing in tdb backend based on the
attribute canonicalisation function
- added generic support for subclasses, moving it out of the tdb
backend. This will be used in future by the schema module
- fixed several bugs in the dn_explode code. It still needs more
work, but doesn't corrupt ldb dbs any more.
(This used to be commit 944c5844ab441b96d8e5d7b2d151982139d1fab9)
|
|
(This used to be commit 7ccf21ab4eeb9821e457308a239f2103a106fb12)
|
|
of tests
in tests/test-sqlite3.sh (tests/test-generic.sh).
There are lots of optimizations still TBD, and some things are REALLY slow
right now (e.g. each add() operation takes 1/3 - 1/2 second) but it's ready for
interested parties to poke it and prod it and see how (un)reasonable it is.
Play away.
Still to be implemented or improved:
- tdb specials (@MODULES, @SUBCLASSES, etc.)
- all DNs are case-folded in their entirty right now (since doing otherwise
would require @ATTRIBUTES to be implemented)
- speed improvements and optimizations. I am quite confident that the
excessively slow add() operation can be much improved, and other areas
can be somewhat improved.
(This used to be commit 1dd865005594671e7effe06fb088fa97fa08de0b)
|
|
them just yet. I have tested them, and they work fine, but enabling
them will break code in rpc_server/ and samdb, so we need to fix that
first
(This used to be commit 07d459406b4c63e49141e0e533e1274b4052abf9)
|
|
so that ldbedit, ldbsearch etc can display nice human readable ldif,
while storing the data as binary blobs. This will be used for storing
NDR encoded objectSid and similar attributes, while making the command
line interface sane
(This used to be commit 37e283089a846fc0608fef3981a3447300e33728)
|
|
for use by backends.
Currently only EventContext is used in this way.
(This used to be commit 9fa21b245843371f7777682ee4e5b98e2925b4d0)
|
|
(This used to be commit cf17f90a83cf04815544c5408eb56d00546b3e88)
|
|
cmdline credentials code (which will be done soon)
- added a ldb_init() call, and changed ldb_connect() to take a ldb
context. This allows for much better error handling in
ldb_connect(), and also made the popt conversion easier
- fixed up all the existing backends with the new syntax
- improved error handling in *_connect()
- fixed a crash bug in the new case_fold_required() code
- ensured that ltdb_rename() and all ltdb_search() paths get the read lock
- added a ldb_oom() macro to make it easier to report out of memory
situations in ldb code
(This used to be commit f648fdf187669d6d87d01dd4e786b03cd420f220)
|
|
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
|
|
ldif parsing code in libcli/ldap/ldap_ldif.c, and instead use the ldb
ldif code. To do that I have changed the ldap code to use 'struct
ldb_message_element' instead of 'struct ldap_attribute'. They are
essentially the same structure anyway, so by making them really the
same it will be much easier to use the ldb code in libcli/ldap/
I have also made 'struct ldb_val' the same as a DATA_BLOB, which will
simplify data handling in quite a few places (I haven't yet removed
all the code that maps between these two, that will come later)
(This used to be commit 87fc3073392236221a3a6b933284e9e477c24ae5)
|
|
(This used to be commit 42cbb155c20779c458f727488c8554842b24681b)
|
|
using to perform such things as bitop tests on integers.
So far I have only added support for the 1.2.840.113556.1.4.803 and
1.2.840.113556.1.4.804 rules, which are for bitwise and/or
(This used to be commit 5f773b065f1db959e59c02de68bcf30cef1a6c2c)
|
|
instead of a search expression. This allows our ldap server to pass
its ASN.1 parsed search expressions straight to ldb, instead of going
via strings.
- updated all the ldb modules code to handle the new interface
- got rid of the separate ldb_parse.h now that the ldb_parse
structures are exposed externally
- moved to C99 structure initialisation in ldb
- switched ldap server to using ldb_search_bytree()
(This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
|
|
(This used to be commit 2a13e7655b1bce88694ddbb6a4d9349008ba42f0)
|
|
called from multiple backends. (ldb_sqlite3 needs it too.) Added parameter
for a callback function that determines whether an attribute needs case
folding.
- begin to prepare for sqlite3 in build process
- work-in-progress updates, on ldb_sqlite3
(This used to be commit a80bced0b96ffb655559a43cf7f4d7a34deb5a7d)
|
|
messages from ldbedit,
so other progs can use it.
(This used to be commit fa4f33558af3c65ff31424c01db16cb9d427503d)
|
|
Just use talloc_free() to release the memory after an ldb_search().
(This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
|
|
changes:
- ldb_wrap disappears from code and become a private structure of db_wrap.c
thanks to our move to talloc in ldb code, we do not need to expose it anymore
- removal of ldb_close() function form the code
thanks to our move to talloc in ldb code, we do not need it anymore
use talloc_free() to close and free an ldb database
- some minor updates to ldb modules code to cope with the change and fix some
bugs I found out during the process
(This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
|
|
the case sensitive/insensitive flags on sections of a dn. So if a dn
is made up of 4 attributes, and 2 of those are case insensitive and 2
are case sensitive, then all the attribute names are uppercases, but
only the values of the case insensitive attributes are uppercased when
forming the tdb key.
- added code to canonicalise the dn, removing leading and trailing
spaces from attribute names and values
- when the @ATTRIBUTES record changes, fix the dn keys of any records that should now have new
dn keys due to changes in the case sensitivity of the record
I really did this to allow me to make the WINS database properly case
insensitive, but it is also the correct general fix for ldb, as it
matches the LDAP specification (and w2k LDAP server behaviour)
(This used to be commit 0f034dc5636d182a1d9207ad662b3fc8df7ca3e4)
|
|
(This used to be commit 18fb48204f4c0e22ea7e61575b3f174f30ff035c)
|
|
Andrew Bartlett
(This used to be commit ffad9b22be595279b247fa72d51145830fecbb06)
|
|
Andrew Bartlett
(This used to be commit d4da9fb1600dba5daca9acb83f528c8f5f42f0ce)
|
|
- added gcov flags to Makefile.ldb
- expanded ldb test suite to get more coverage
(This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
|
|
- added a ldb_msg_canonicalize() function that fixes a record to not have any duplicate
elements
- changed ldbedit to use ldb_msg_canonicalize(). This fixes a bug when you rename multiple
elements in a record in one edit
(This used to be commit f006e724400843419c8b6155cbeae1876983855e)
|
|
- split ldh.h out of samba's includes.h
- make ldb_context and ldb_module private to the subsystem
- use ltdb_ prefix for all ldb_tdb functions
metze
(This used to be commit f5ee40d6ce8224e280070975efc9911558fe675c)
|
|
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
|
|
- add tests for ldbrename
- disable all tests which regenerate the index
(this is broken for me...the process hangs,
tridge we need to discuss that)
- link only the needed stuff to the ldb tools
- build ldbtest inside samba
metze
(This used to be commit 18552f4786c24e0019cc87726ef4c05365fe586e)
|
|
so talloc now doesn't contain any ldb specific functions.
allow NULL to be passed to a couple more talloc() functions
(This used to be commit 1246f80d806fb5f63cfbf3879de6d546384552a8)
|
|
(This used to be commit 3d52ca93731ad67c14ac42f627e3feb1a964b29a)
|
|
- added better error reporting in ldbdel
- fixed a bug in handling packing of records which contain elements
with no values (it caused db corruption)
- allow search with "dn" as target attribute
(This used to be commit 36575396234e3d35dbd442c8f1ff54a17ae64e64)
|
|
- fixed a problem with searching for values containing an '=' sign
- fixed the semantics of attempting an attribute deletion on an attribute that doesn't exist.
- added some more ldb_msg_*() utilities
(This used to be commit 62b4ec367d170330d837b0f1fe5cd13205a53b59)
|
|
be cleanly interfaced to ldb
(This used to be commit 74b89d5f960d6b936751e3f057b4540eb80b79cd)
|
|
allocator. The way to use this is to call ldb_set_alloc() with a
function pointer to whatever memory allocator you like. It includes a
context pointer to allow for pool based allocators.
(This used to be commit 3955c482e6c2c9e975a4bb809ec8cb6068e48e34)
|