1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-28 00:49:42 +03:00

590 Commits

Author SHA1 Message Date
Andrew Tridgell
c645eba60b r8005: escape '"' characters in ldap expressions. Makes scripting easier.
(This used to be commit 2de986455c9b616132f06a69c2f135019da2bb8b)
2007-10-10 13:18:58 -05:00
Simo Sorce
e1e95277c0 r7937: main file was missing
(This used to be commit 3898cdb0dc4722a7eb60a61b54ef778dab475aed)
2007-10-10 13:18:53 -05:00
Simo Sorce
1702f52498 r7936: new ldb_dn_explode and ldb_dn_casefold functions and co
(This used to be commit 7ccf21ab4eeb9821e457308a239f2103a106fb12)
2007-10-10 13:18:52 -05:00
Andrew Tridgell
49736de46a r7873: hopefully fixed build of ldb_explode_dn() on AIX
I'd really rather see this code completely replaced, but I'll leave
that to simo (he has volunteered) :-)
(This used to be commit cc2e08d68e27aa203ccc26e8d544a86de3399877)
2007-10-10 13:18:46 -05:00
Simo Sorce
ce2e35309e r7851: We are case preserving let the DN be returned the same the user put it into.
sss
(This used to be commit 5b41e3202456549250e6e5b1c63bd45ea7500fa3)
2007-10-10 13:18:42 -05:00
Derrell Lipman
fdc0450db2 r7828: Although there is still plenty to do, ldb_sqlite3 now passes the set 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)
2007-10-10 13:18:41 -05:00
Andrew Tridgell
062e0f8325 r7808: fixed the build of ldb after the binary file support in ldif was added
(This used to be commit 0a8c722c8017e20635223b2c5dfc58759478312c)
2007-10-10 13:18:38 -05:00
Simo Sorce
064d71c9d4 r7805: add support to read binary files into attributes data like ldap tools does
(This used to be commit 38a14396262eeb279d67c2f0da06bfa0706a3be4)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
5be159f304 r7804: added the samba specific ldif handlers into the tree, but don't enable
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)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
eb0a13025a r7803: added support in ldb for callers to setup ldif read/write functions,
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)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
bd7a474b19 r7776: add a method for getting arbitrary opaque data into a ldb context, for use by backends.
Currently only EventContext is used in this way.
(This used to be commit 9fa21b245843371f7777682ee4e5b98e2925b4d0)
2007-10-10 13:18:35 -05:00
Andrew Tridgell
1601b8e9f9 r7759: allow ldb_errstring() to be used when not connected
(This used to be commit 818ae965afad37216d804aa630359d875794612e)
2007-10-10 13:18:32 -05:00
Andrew Tridgell
56cc328000 r7740: get rid of our duplicate base64 routines
(This used to be commit cf17f90a83cf04815544c5408eb56d00546b3e88)
2007-10-10 13:18:29 -05:00
Andrew Tridgell
814d5a5011 r7739: fixed an off by one bug in the base64 decoder for ldb ldif
(This used to be commit fe2b77af2352f1964402a4286105916e990dc36f)
2007-10-10 13:18:28 -05:00
Andrew Tridgell
f52b42c75f r7710: new command line handling code for ldb
(This used to be commit 5e8db1c9b3bb6c5196652a7af877b4204148c305)
2007-10-10 13:18:24 -05:00
Andrew Tridgell
ed3d8091ce r7709: - convert ldb to use popt, so that it can interact with the samba
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)
2007-10-10 13:18:24 -05:00
Andrew Tridgell
03b0f279ed r7667: added a ldb ildap backend, using our internal ldap client library. Next step is to
remove the check for the ldap libraries in configure
(This used to be commit 74841dbb2a86bb1c584b5c26c4cd24a818a65a34)
2007-10-10 13:18:19 -05:00
Simo Sorce
f4183d9be2 r7635: change the license of this file to lgpl like the rest of ldb
(This used to be commit 8735188b46d4bb6c3d63d22a8c6f3fad2c82df89)
2007-10-10 13:18:16 -05:00
Simo Sorce
9378cca1ae r7608: bug fix after yesterday's change
(This used to be commit 0218fc678e375a05fbc4da5500706199340918e2)
2007-10-10 13:18:14 -05:00
Derrell Lipman
93e03bd272 r7602: fix some compiler warnings
(This used to be commit ce9966e091d36f66d409ac6f7b5e462c9dc37325)
2007-10-10 13:18:13 -05:00
Derrell Lipman
f021dffb69 r7601: ldb_sqlite3 work in progress
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
2007-10-10 13:18:13 -05:00
Derrell Lipman
c2747479e0 r7586: ldb_sqlite3 making progress. add and search have indicated a willingness to operate properly on initial testing
(This used to be commit 86ca8639e0ddc2525f8ed0ca9879d9f98c0cd00e)
2007-10-10 13:18:11 -05:00
Andrew Tridgell
42863aebb1 r7571: fixed the generation of the filter string for extended filters
(This used to be commit 348a86e64392245571204ac5004e73221ac441f5)
2007-10-10 13:18:10 -05:00
Andrew Tridgell
4fec6356ea r7558: added support in ldb for extended ldap search requests. These are
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)
2007-10-10 13:18:08 -05:00
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
d94805ea55 r7517: handle zero length equality tests
(This used to be commit 18c96f2b3e4d4c769354d61a4cda5c295f50536f)
2007-10-10 13:18:03 -05:00
Andrew Tridgell
e1fa7352ca r7516: make sure binary decoding gives us something we can run string functions on
(This used to be commit 9913ab2550fae465c7a66fe7fa3a36a65b25b358)
2007-10-10 13:18:03 -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
0264c1792d r7480: ldb_sqlite3 work in progress
(This used to be commit 510e7994da808ab12f51fa7a36c3f5f9244c51ac)
2007-10-10 13:17:57 -05:00
Derrell Lipman
5351ae59a0 r7449: add ctype.h header to dn expand function
(This used to be commit 0e3b872560d82e1a0f7b58fe7d210563d6d29daf)
2007-10-10 13:17:54 -05:00
Derrell Lipman
ee3f4b12d2 r7438: work in progress
(This used to be commit 2fc5343f0637ef3109b079dbc33d6cf4e58c8d5e)
2007-10-10 13:17:53 -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
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
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
Andrew Tridgell
9469051d5b r6817: - fixed empty ldap search elements in filters
- added support for guids in cldap netlogon searches.

the cldap server now passes the LDAP-CLDAP torture test
(This used to be commit eb7979d9def389942fa1c54693d2dfcb8828f544)
2007-10-10 13:16:47 -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
Andrew Tridgell
a5ee5aae69 r6087: - remove the dlopen code for now (before it goes back, it needs to be
made into something that isn't a maze of #ifdefs)

- when a module is not found, make it a non-fatal error. Otherwise the standalone ldb
  tools just bail out. The previous code meant that if you had a
  module listed and it wasn't present then you could _never_ fix it,
  as you coudln't open the ldb to remove that module from @MODULES !
(This used to be commit c4728625c093d91e522b80c049e0d42d2b5f143b)
2007-10-10 13:11:18 -05:00
Andrew Tridgell
be6285adad r6086: default to stderr for error messages in ldb, so we get errors in ldb_connect()
(This used to be commit a6e492f95c6f31ed37ee32a13a34fa2847d8352d)
2007-10-10 13:11:18 -05:00
Simo Sorce
0b4c61a05a r5670: simplify and clarify ldb_modules.c code
rectify the test schema
correct a glitch in schema module
(This used to be commit 0579b5f7adfe160be8ecf124934b6593a02ed06f)
2007-10-10 13:10:58 -05:00
Andrew Tridgell
2f9e1650f9 r5665: the data within el2->values can still be used at this point, so don't free
(This used to be commit 12d03f96637b9298e0cbc7ee544ca97fffcab9f8)
2007-10-10 13:10:57 -05:00
Andrew Tridgell
ec97506a51 r5664: simo, please look into this. It is possible for the number of elements
in msg[0] to be 0, in which case we crash. This is a workaround.

Also, if you could please split up this function into readable
pieces. It's a bit of a mess at the moment.
(This used to be commit 19a22f78c28a4b265f59df1b43c1bb6c9e58f736)
2007-10-10 13:10:57 -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
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
Simo Sorce
a2f77f979d r4714: move the ldb code to the new talloc interface (eg remove _p suffix)
this helps standalone building of ldb

renew the schema module
split code into functions to improve readability and code reuse

add and modify works correctly but we need a proper testsuite

Simo
(This used to be commit a681ae365ff1b5a2771b42ebd90336651ce1e513)
2007-10-10 13:08:47 -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