1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

350 Commits

Author SHA1 Message Date
Andrew Tridgell
4b0e5bd753 r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
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)
2007-10-10 13:18:06 -05:00
Andrew Tridgell
e5c70a5887 r7522: added a ldb_filter_from_tree() function that takes a ldb_parse_tree
and forms a ldab search filter expression. Next step is to make our
ldap server code go from ASN.1 to a ldb_parse_tree, instead of trying
to construct string filters, then add a ldb_search_tree() call to
allow for searches using parse trees.

all of this is being done as I am hitting bitwise '&' ldap search
expressions from w2k, and want to handle them cleanly.
(This used to be commit 04356c1b1ed86d72934bc1b0ed60b767e10a1196)
2007-10-10 13:18:05 -05:00
Andrew Tridgell
9cb3b2d49b r7515: merge in the binary encode/decode enhancements from the libcli/ldap/
code into the ldb parse code
(This used to be commit 12647e37223847da810c2d4e5f83328b1fcf88cb)
2007-10-10 13:18:02 -05:00
Andrew Tridgell
87acba39f9 r7514: make the ldb_parse code not depend on a ldb_context, so we can now potentially use
it in our ldap client code, instead of replicating all the code
(This used to be commit 5b3575d9303d54a771e080a670dcd2f444b10c20)
2007-10-10 13:18:02 -05:00
Derrell Lipman
a6717fae68 r7418: work in progress
(This used to be commit 2a13e7655b1bce88694ddbb6a4d9349008ba42f0)
2007-10-10 13:17:51 -05:00
Derrell Lipman
322f0df3f1 r7410: minor cleanup
(This used to be commit 4c8bffc3f01d60ef7d8b75e92f4d062326288f4c)
2007-10-10 13:17:51 -05:00
Derrell Lipman
7fc1c3553c r7408: added DN explode function, based on simo's ldap_parse_dn() function. simo, when you get a chance, please change your license so this can be linked with ldb.
(This used to be commit 588a1d1451d4117cb6e427a293455f2a5657b604)
2007-10-10 13:17:50 -05:00
Derrell Lipman
1b454c430f r7286: add prototype for public connect function in ldb_sqlite3
(This used to be commit 10d438af06b3ab442c7a98b704d2e0bfe49b739d)
2007-10-10 13:17:36 -05:00
Derrell Lipman
a1ba224107 r7276: - moved static tdb function ltdb_dn_fold() into common/ so that it can be
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)
2007-10-10 13:17:35 -05:00
Simo Sorce
fc21940da5 r6931: declare this to avoid warnings until we have loadable modules
(This used to be commit 73258909dbd4e14f3c8eb5cebe0647539d141c8d)
2007-10-10 13:16:58 -05:00
Andrew Tridgell
9a9cf9e075 r6833: split out the routine that calculates the diff between two ldb messages from ldbedit,
so other progs can use it.
(This used to be commit fa4f33558af3c65ff31424c01db16cb9d427503d)
2007-10-10 13:16:49 -05:00
Jelmer Vernooij
e5a3ec0e5b r6790: Use config.h file for ldb and add test for stdint.h
(This used to be commit c1f1b5a9455c827f7baf382d919ab8a0eab49bb3)
2007-10-10 13:16:43 -05:00
Simo Sorce
fe4d985b6f r6470: Remove ldb_search_free() it is not needed anymore.
Just use talloc_free() to release the memory after an ldb_search().
(This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
2007-10-10 13:11:40 -05:00
Simo Sorce
b1b14817ea r5585: LDB interfaces change:
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)
2007-10-10 13:10:55 -05:00
Andrew Tridgell
5a88d5211b r5374: - changed the dn key code in the ldb tdb backend to correctly honor
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)
2007-10-10 13:09:48 -05:00
Andrew Tridgell
ff4797a9e4 r5357: added ldb_msg_add_fmt(), for creating formatted ldb record values
(This used to be commit 18fb48204f4c0e22ea7e61575b3f174f30ff035c)
2007-10-10 13:09:45 -05:00
Andrew Bartlett
ea2209e3db r5092: Add a bit more const - moving it further into the LDB layer.
Andrew Bartlett
(This used to be commit ffad9b22be595279b247fa72d51145830fecbb06)
2007-10-10 13:09:22 -05:00
Andrew Bartlett
cec158231b r4678: Add some const to LDB.
Andrew Bartlett
(This used to be commit d4da9fb1600dba5daca9acb83f528c8f5f42f0ce)
2007-10-10 13:08:42 -05:00
Andrew Tridgell
09a76e204c r4477: expanded the test suite to increase code coverage a lot
(This used to be commit 4edbd1b18ee38e584cf844b64c7fcb2645921837)
2007-10-10 13:07:56 -05:00
Andrew Tridgell
1a988ec9af r4474: - converted ldb to use talloc internally
- added gcov flags to Makefile.ldb

- expanded ldb test suite to get more coverage
(This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10 13:07:55 -05:00
Andrew Tridgell
f9e507980e r4466: rather than defining "STANDALONE" for building tdb, ldb and talloc
outside the tree, instead defined _SAMBA_BUILD_ inside the Samba
build. This makes it easier to pull code out of Samba for external
use.
(This used to be commit 09e98c8745cca7ccb1ad7134c0c09b8e4c0f4f06)
2007-10-10 13:07:54 -05:00
Andrew Tridgell
09c1b9cbe5 r4427: - added ldb_msg_*() functions for sorting, comparing and copying messages
- 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)
2007-10-10 13:07:48 -05:00
Andrew Tridgell
9012a50153 r4059: moved the ldb -o option parsing to a common routine
(This used to be commit ee52c1e38c9bac852458196ffbd677cca62a3965)
2007-10-10 13:06:20 -05:00
Simo Sorce
a4de8cd6a5 r3897: add a locking infrastructure
(This used to be commit a99c0adb09e2bc77b876d23cb2d0711ccffd83ca)
2007-10-10 13:06:02 -05:00
Stefan Metzmacher
8a18778286 r3783: - don't use make proto for ldb anymore
- 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)
2007-10-10 13:05:52 -05:00
Simo Sorce
79ebe463e2 r3755: add missing files
(This used to be commit 0b715b6ce21d23970d207d57e90133be17790d15)
2007-10-10 13:05:51 -05:00
Simo Sorce
679e95db03 r3754: merge in ldb modules support from the tmp branch ldbPlugins
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
2007-10-10 13:05:51 -05:00
Andrew Tridgell
26c6b4c70b r3449: more include file reduction
the ldb part isn't ideal, I will have to think of a better solution
(This used to be commit 6b1f86aea8427a8e957b1aeb0ec2f507297f07cb)
2007-10-10 13:05:13 -05:00
Stefan Metzmacher
a9bd405497 r3093: - implment ldb_rename() and ldbrename
- 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)
2007-10-10 13:02:20 -05:00
Andrew Tridgell
1429ed54f1 r2792: got rid of talloc_ldb_alloc() and instead created talloc_realloc_fn(),
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)
2007-10-10 12:59:34 -05:00
Andrew Tridgell
a2a97238f5 r2484: allow ldb to build standalone again
(This used to be commit 05601a4c6f7c7a019fcac8743e2e4775a498b26a)
2007-10-10 12:58:56 -05:00
Tim Potter
8a01231a8b r1055: Standalone build fixes for ldb:
- Various Makefile fixes

  - #include <stdint.h>

ldb still needs a proper build system though.  (-:
(This used to be commit 52e4fe8ce9142c4002263686c8043d94b37d7a9c)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
b553acce4b r1018: fix a const and unsigned int problem in ldb
(This used to be commit 3d52ca93731ad67c14ac42f627e3feb1a964b29a)
2007-10-10 12:56:28 -05:00
Andrew Tridgell
f0a8f718ff r792: - changed the ldb ldif_* functions to be in the ldb_ namespace
- 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)
2007-10-10 12:53:50 -05:00
Andrew Tridgell
265023fafa r574: - another attempt at const cleanliness in ldb
- 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)
2007-10-10 12:51:47 -05:00
Andrew Tridgell
68293565de r513: added a generic ldb debug system to allow the Samba debug functions to
be cleanly interfaced to ldb
(This used to be commit 74b89d5f960d6b936751e3f057b4540eb80b79cd)
2007-10-10 12:51:46 -05:00
Andrew Tridgell
d8ce7c6a2a r502: modified ldb to allow the use of an external pool memory
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)
2007-10-10 12:51:45 -05:00
Andrew Tridgell
232bc1503f r490: - expanded the test suite to test modify and delete operations
- made yet another attempt to make ldb const clean.

- "make test" now runs both the tdb and ldap backend tests, and run the ldbtest utility
  with and without indexing

- added prototypes in ldb.h for ldb_msg_*() public functions
(This used to be commit 01e87406768cb5a98ac8530a2f361a4987a36cd3)
2007-10-10 12:51:45 -05:00
Andrew Tridgell
208e09747c r456: - added -i option to ldbsearch
- fixed sorting bug in ldb index handing
(This used to be commit cdd48e2b9b3ca6be5503eec401e09db162408ac8)
2007-10-10 12:51:43 -05:00
Andrew Tridgell
78aa8f1814 r444: - added the beginnings of a ldb test suite and benchmark
- updated the test slapd config to use bdb and indexing
(This used to be commit 7ad0858c060ee212a33434dc4be75e7a0cd1a0e3)
2007-10-10 12:51:42 -05:00
Andrew Tridgell
0dad5a3427 r435: a major upgrade for ldb
- added the ability to mark record attributes as being CASE_INSENSITIVE, WILDCARD or INTEGER.

 - added the ability to support objectclass subclasses, and to search by a parent class

 - added internal support for case insensitive versus case sensitive
   indexing (not UTF8 compliant yet)

 - cleaned up a number of const warnings

 - added a number of helper functions for fetching integers, strings and doubles

 - added a in-memory cache for important database properties, supported by a
   database sequence number

 - changed some variable names to avoid conflicts with C++
(This used to be commit f2bf06f25c2e6c744817711c7bedbd1d3b52f994)
2007-10-10 12:51:38 -05:00
Andrew Tridgell
a00c266702 r387: more C++ friendly changes
(This used to be commit ac0c525a8b8a05cc275fb9f4c1dcfd749604c85f)
2007-10-10 12:51:36 -05:00
Tim Potter
b0b97592be r382: More C++ friendliness fixes.
(This used to be commit e96f3a2005cf6f4da2ecd4670a35eab1b4f250d0)
2007-10-10 12:51:36 -05:00
Andrew Tridgell
6411aa483f r381: make the code more C++ friendly
(This used to be commit 8acecc7f27e25ab876fffffe43ae75b5f77aff77)
2007-10-10 12:51:36 -05:00
Andrew Tridgell
ac193579e7 r152: a quick airport commit ....
added ldbedit, a _really_ useful command

added ldbadd, ldbdel, ldbsearch and ldbmodify to build

solved lots of timezone issues, we now pass the torture tests with
client and server in different zones

fixed several build issues

I know this breaks the no-LDAP build. Wait till I arrive in San Jose for that
fix.
(This used to be commit af34710d4da1841653624fe304b1c8d812c0fdd9)
2007-10-10 12:51:11 -05:00
Andrew Tridgell
42889e5e1e r134: - added ldb to the build of smbd
- fixed build of the ldb registry backend
(This used to be commit 0b66590330603efaa816fd2348c05a994a1580ef)
2007-10-10 12:51:10 -05:00
Jelmer Vernooij
aebfb3b9f4 r128: Another registry update. Changes:
- Start with the LDB backend
- The API is now more windows-like, which should make it easier to use
  in rpc_server
- Added a GTK+ front-end
- Added some more IDL

More updates will follow, especially in the RPC field..
(This used to be commit 3adffa021779b26047a20f16a3c0b53d74751560)
2007-10-10 12:51:09 -05:00
Andrew Tridgell
ee44733f94 added the rest of the ldb_modify() code, which required a fairly large
change in the ldb API. The API is now much closer to LDAP.
(This used to be commit e9e85c464411c561c5073d262a2e3533fec175ca)
2004-04-03 12:29:21 +00:00
Andrew Tridgell
4258c7f27f building with Makefile.ldb now works
(This used to be commit 12538cd2c650bacabd37f4d2ecd3ff3ffce87a00)
2004-03-31 06:51:44 +00:00
Andrew Tridgell
58d50a614f make a more recent snapshot of ldb available to interested
people. Note that I decided to make it LGPL.

ldb is not finished yet, but enough of it is there for people to get
an idea of what it does, and quite a few simple tests work
(This used to be commit dc6f41f9e777d37f883303ddef0d96840d80f78e)
2004-03-31 06:45:39 +00:00