summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common/ldb_parse.c
AgeCommit message (Collapse)AuthorFilesLines
2010-03-09Fix typo and convert spaces to tabsSimo Sorce1-4/+4
2010-03-09s4:ldb fix escape parsingSimo Sorce1-2/+24
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-08LDB:common - Change counters to "unsigned" where appropriateMatthias Dieter Wallnöfer1-8/+8
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-02-22LDB related spelling fixes.Brad Hards1-1/+1
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2009-09-20s4:ldb_parse - Fix the type of an array entryMatthias Dieter Wallnöfer1-1/+1
I found this through a compile warning. Hope that I got this right.
2009-09-20s4:ldb: add ldb_parse_tree_copy_shallow() and change version to 0.9.7Stefan Metzmacher1-0/+58
metze
2009-09-15s4-ldb: ldap attribute names can contain a '.'Andrew Tridgell1-1/+2
When they are of the form of OIDs
2009-01-30Fix the mess with ldb includes.Simo Sorce1-1/+1
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.
2008-09-14Fix typo.Karolin Seeger1-1/+1
retieve -> retrieve Karolin (partialy cherry-picked from 37c64130701ab13b6f34998ac17fec2d128c2e08) metze (This used to be commit 4d92e6d582a5b2094b2aaa9008a54b37ccfcc2d7)
2007-10-10r23798: updated old Temple Place FSF addresses to new URLAndrew Tridgell1-2/+1
(This used to be commit 40c0919aaa9c1b14bbaebb95ecce53eb0380fdbb)
2007-10-10r23795: more v2->v3 conversionAndrew Tridgell1-1/+1
(This used to be commit 84b468b2f8f2dffda89593f816e8bc6a8b6d42ac)
2007-10-10r22989: allow '@foo' attributes searchable as we allow '@foo' attributesStefan Metzmacher1-0/+4
in all other places too... metze (This used to be commit 4e32aafb9ebdcc70966aaa2e3891ec9a0959535d)
2007-10-10r22681: Fix standalone ldb build when parent directory name != ldb.Jelmer Vernooij1-2/+1
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10r19188: merge from samba3:Stefan Metzmacher1-4/+4
fix compiler warnings metze (This used to be commit dc139d8715f58b27363266f1426da451907845eb)
2007-10-10r18130: the move to system/ in libreplace broke some things ... should beAndrew Tridgell1-0/+1
happier now (This used to be commit 18542f184f75074e56a9793a9e3b6c6d747bb9e6)
2007-10-10r14430: ret can be NULL at the end of this loopAndrew Tridgell1-1/+3
(This used to be commit b607be9cdad5a9bd672698cb31a2af81d59d0763)
2007-10-10r12829: fix ldb headers, to not include '<...>' files in .c filesStefan Metzmacher1-4/+2
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later. metze (This used to be commit 380938e97f31c7860aed1e73cc0110c6e17b472e)
2007-10-10r12361: Add a new function: ldb_binary_encode_string()Andrew Bartlett1-0/+13
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-10r10913: This patch isn't as big as it looks ...Andrew Tridgell1-0/+48
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-10r10894: make the handling of dn/distinguishedName much closer to realAndrew Tridgell1-1/+1
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-10r10756: another fix for the construction of expressions from subtrees forAndrew Tridgell1-4/+6
SUBSTRING searches. This time fix multi-part substring searches. (This used to be commit bf5cef6f00466fc1dc3c2864a109f1ccd92681b0)
2007-10-10r10755: fixed the construction of expressions from subtrees for SUBSTRING ↵Andrew Tridgell1-1/+8
searches (This used to be commit 71c06778d4a3ac1ca4198071ae3351acdc0656d9)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell1-3/+2
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-10r10665: fixed some crash errors and an error encoding AND and OR operations ↵Andrew Tridgell1-3/+16
in the expression parsing code (This used to be commit 0d4a900ce5705856d61c6dd4ccb8fdbd049d22b7)
2007-10-10r8585: add to ldb and ldap comparison functionalitySimo Sorce1-200/+293
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-10r8414: Some C++ friendlyness fixes - 'not' is apparently a keyword in C++.Tim Potter1-3/+3
(This used to be commit bcfb3a45e4a5962fe763f8071d4458f4bd11605b)
2007-10-10r8394: Make sure the argument to ctype is*(3) macros are unsigned char asLove Hörnquist Åstrand1-6/+6
required by ISO C99. (This used to be commit 56fd21c806e816cf4c3d23881f26474f858b45e2)
2007-10-10r8373: New wildcard matching code.Simo Sorce1-2/+115
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-10r8005: escape '"' characters in ldap expressions. Makes scripting easier.Andrew Tridgell1-2/+2
(This used to be commit 2de986455c9b616132f06a69c2f135019da2bb8b)
2007-10-10r7571: fixed the generation of the filter string for extended filtersAndrew Tridgell1-1/+1
(This used to be commit 348a86e64392245571204ac5004e73221ac441f5)
2007-10-10r7558: added support in ldb for extended ldap search requests. These areAndrew Tridgell1-0/+71
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-10r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_treeAndrew Tridgell1-24/+23
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-10r7522: added a ldb_filter_from_tree() function that takes a ldb_parse_treeAndrew Tridgell1-1/+54
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-10r7517: handle zero length equality testsAndrew Tridgell1-1/+1
(This used to be commit 18c96f2b3e4d4c769354d61a4cda5c295f50536f)
2007-10-10r7516: make sure binary decoding gives us something we can run string ↵Andrew Tridgell1-1/+2
functions on (This used to be commit 9913ab2550fae465c7a66fe7fa3a36a65b25b358)
2007-10-10r7515: merge in the binary encode/decode enhancements from the libcli/ldap/Andrew Tridgell1-2/+68
code into the ldb parse code (This used to be commit 12647e37223847da810c2d4e5f83328b1fcf88cb)
2007-10-10r7514: make the ldb_parse code not depend on a ldb_context, so we can now ↵Andrew Tridgell1-13/+3
potentially use it in our ldap client code, instead of replicating all the code (This used to be commit 5b3575d9303d54a771e080a670dcd2f444b10c20)
2007-10-10r6817: - fixed empty ldap search elements in filtersAndrew Tridgell1-1/+1
- 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-10r4714: move the ldb code to the new talloc interface (eg remove _p suffix)Simo Sorce1-5/+5
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-10r4474: - converted ldb to use talloc internallyAndrew Tridgell1-72/+47
- added gcov flags to Makefile.ldb - expanded ldb test suite to get more coverage (This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10r3783: - don't use make proto for ldb anymoreStefan Metzmacher1-0/+2
- 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-10r3449: more include file reductionAndrew Tridgell1-0/+1
the ldb part isn't ideal, I will have to think of a better solution (This used to be commit 6b1f86aea8427a8e957b1aeb0ec2f507297f07cb)
2007-10-10r1374: Fix signed/unsigned warnings (actually found by g++) after unsigned intTim Potter1-1/+1
changes in r1018. (This used to be commit 45b4016530fc0bfa13146f73a503866b5dbed517)
2007-10-10r792: - changed the ldb ldif_* functions to be in the ldb_ namespaceAndrew Tridgell1-0/+1
- 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-10r574: - another attempt at const cleanliness in ldbAndrew Tridgell1-8/+10
- 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-10r502: modified ldb to allow the use of an external pool memoryAndrew Tridgell1-149/+56
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)
2004-03-31make a more recent snapshot of ldb available to interestedAndrew Tridgell1-0/+460
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)