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

49 Commits

Author SHA1 Message Date
Andrew Tridgell
c83775d524 ldb-dn: don't crash on NULL in ldb_binary_encode_string()
Thanks to Nadya for finding this one!
2010-09-28 19:25:51 -07:00
Kamen Mazdrashki
88f1798100 s4-ldb: use TALLOC_CTX type instead of 'void' 2010-07-29 00:53:49 +03:00
Simo Sorce
f7f67e9e1f Fix typo and convert spaces to tabs 2010-03-09 16:42:05 -05:00
Simo Sorce
c05d13d3c2 s4:ldb fix escape parsing
sscanf can return also on short reads, in this case an invalid escape
sequence like '\1k' would be accepted, returning 1 as value and swallowing the
'k'. Use an auxiliar function to validate and convert hex escapes.
2010-03-09 15:23:49 -05:00
Matthias Dieter Wallnöfer
4e16a285c7 LDB:common - Change counters to "unsigned" where appropriate
To count LDB objects use variables of type "unsigned (int)" or "long long int"
on binary or downto searches.

To count characters in strings use "size_t".

To calculate differences between pointers use "ptrdiff_t".
2010-03-08 12:52:24 +01:00
Brad Hards
1683d090cc LDB related spelling fixes.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-22 21:45:36 +01:00
Matthias Dieter Wallnöfer
52650f109d s4:ldb_parse - Fix the type of an array entry
I found this through a compile warning. Hope that I got this right.
2009-09-20 12:47:52 +02:00
Stefan Metzmacher
46dab92a2d s4:ldb: add ldb_parse_tree_copy_shallow() and change version to 0.9.7
metze
2009-09-20 06:44:16 +02:00
Andrew Tridgell
f2b5b5bb17 s4-ldb: ldap attribute names can contain a '.'
When they are of the form of OIDs
2009-09-15 14:07:43 -07:00
Simo Sorce
380874ef86 Fix the mess with ldb includes.
Separate again the public from the private headers.

Add a new header specific for modules.
Also add service function for modules as now ldb_context and ldb_module are
opaque structures for them.
2009-01-30 01:02:03 -05:00
Karolin Seeger
2bb8ef091c Fix typo.
retieve -> retrieve

Karolin
(partialy cherry-picked from 37c64130701ab13b6f34998ac17fec2d128c2e08)
metze
(This used to be commit 4d92e6d582a5b2094b2aaa9008a54b37ccfcc2d7)
2008-09-14 18:26:59 +02:00
Andrew Tridgell
6c973f4e8c r23798: updated old Temple Place FSF addresses to new URL
(This used to be commit 40c0919aaa9c1b14bbaebb95ecce53eb0380fdbb)
2007-10-10 14:59:15 -05:00
Andrew Tridgell
b8d69a7ea2 r23795: more v2->v3 conversion
(This used to be commit 84b468b2f8f2dffda89593f816e8bc6a8b6d42ac)
2007-10-10 14:59:14 -05:00
Stefan Metzmacher
fe1d56dd3b r22989: allow '@foo' attributes searchable as we allow '@foo' attributes
in all other places too...

metze
(This used to be commit 4e32aafb9ebdcc70966aaa2e3891ec9a0959535d)
2007-10-10 14:52:36 -05:00
Jelmer Vernooij
52fb06edc2 r22681: Fix standalone ldb build when parent directory name != ldb.
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10 14:52:00 -05:00
Stefan Metzmacher
c403dd11fb r19188: merge from samba3:
fix compiler warnings

metze
(This used to be commit dc139d8715f58b27363266f1426da451907845eb)
2007-10-10 14:20:51 -05:00
Andrew Tridgell
014f70008f r18130: the move to system/ in libreplace broke some things ... should be
happier now
(This used to be commit 18542f184f75074e56a9793a9e3b6c6d747bb9e6)
2007-10-10 14:17:37 -05:00
Andrew Tridgell
24c76df166 r14430: ret can be NULL at the end of this loop
(This used to be commit b607be9cdad5a9bd672698cb31a2af81d59d0763)
2007-10-10 13:57:22 -05:00
Stefan Metzmacher
4d1c5a023c r12829: fix ldb headers, to not include '<...>' files in .c files
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later.

metze
(This used to be commit 380938e97f31c7860aed1e73cc0110c6e17b472e)
2007-10-10 13:50:03 -05:00
Andrew Bartlett
bceca72304 r12361: Add a new function: ldb_binary_encode_string()
This is for use on user-supplied arguments to printf style format
strings which will become ldb filters.  I have used it on LSA, SAMR
and the auth/ code so far.

Also add comments to cracknames code.

Andrew Bartlett
(This used to be commit 8308cf6e0472790c1c9d521d19322557907f4418)
2007-10-10 13:47:30 -05:00
Andrew Tridgell
a599edf04c r10913: This patch isn't as big as it looks ...
most of the changes are fixes to make all the ldb code compile without
warnings on gcc4. Unfortunately That required a lot of casts :-(

I have also added the start of an 'operational' module, which will
replace the timestamp module, plus add support for some other
operational attributes

In ldb_msg_*() I added some new utility functions to make the
operational module sane, and remove the 'ldb' argument from the
ldb_msg_add_*() functions. That argument was only needed back in the
early days of ldb when we didn't use the hierarchical talloc and thus
needed a place to get the allocation function from. Now its just a
pain to pass around everywhere.

Also added a ldb_debug_set() function that calls ldb_debug() plus sets
the result using ldb_set_errstring(). That saves on some awkward
coding in a few places.
(This used to be commit f6818daecca95760c12f79fd307770cbe3346f57)
2007-10-10 13:39:41 -05:00
Andrew Tridgell
36d73b0e71 r10894: make the handling of dn/distinguishedName much closer to real
ldap. Also ensure we put a objectclass on our private ldb's, so they
have some chance of being stored in ldap if you want to
(This used to be commit 1af2cc067f70f6654d08387fc28def67229bb06a)
2007-10-10 13:39:40 -05:00
Andrew Tridgell
3cb96c8db9 r10756: another fix for the construction of expressions from subtrees for
SUBSTRING searches. This time fix multi-part substring searches.
(This used to be commit bf5cef6f00466fc1dc3c2864a109f1ccd92681b0)
2007-10-10 13:39:27 -05:00
Andrew Tridgell
12399c9b5e r10755: fixed the construction of expressions from subtrees for SUBSTRING searches
(This used to be commit 71c06778d4a3ac1ca4198071ae3351acdc0656d9)
2007-10-10 13:39:26 -05:00
Andrew Tridgell
5fd031c97d r10753: don't require every ldb module to implement both a search_bytree() and
a search() function, instead each module now only implements the
bytree method, and the expression based search is handled generically
by the modules code. This makes for more consistency and less code
duplication.

fixed the tdb backend to handle BASE searches much more
efficiently. They now always only lookup one record, regardless of the
search expression
(This used to be commit 7e44f9153c5578624e2fca04cdc0a00af0fd9eb4)
2007-10-10 13:39:26 -05:00
Andrew Tridgell
b1ee0c2fa4 r10665: fixed some crash errors and an error encoding AND and OR operations in the expression parsing code
(This used to be commit 0d4a900ce5705856d61c6dd4ccb8fdbd049d22b7)
2007-10-10 13:39:15 -05:00
Simo Sorce
bfb1186269 r8585: add to ldb and ldap comparison functionality
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)
2007-10-10 13:29:41 -05:00
Tim Potter
52bef30fd4 r8414: Some C++ friendlyness fixes - 'not' is apparently a keyword in C++.
(This used to be commit bcfb3a45e4a5962fe763f8071d4458f4bd11605b)
2007-10-10 13:23:00 -05:00
Love Hörnquist Åstrand
61edb97bdf r8394: Make sure the argument to ctype is*(3) macros are unsigned char as
required by ISO C99.
(This used to be commit 56fd21c806e816cf4c3d23881f26474f858b45e2)
2007-10-10 13:20:14 -05:00
Simo Sorce
c9b0e86a43 r8373: New wildcard matching code.
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)
2007-10-10 13:20:13 -05:00
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
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
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
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 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
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
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
Tim Potter
34ca729f73 r1374: Fix signed/unsigned warnings (actually found by g++) after unsigned int
changes in r1018.
(This used to be commit 45b4016530fc0bfa13146f73a503866b5dbed517)
2007-10-10 12:56:54 -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
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
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