summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common/ldb_msg.c
AgeCommit message (Collapse)AuthorFilesLines
2011-04-07ldb:ldb_msg.c - make "ldb_msg_find_attr_as_*" more robust against invalid valuesMatthias Dieter Wallnöfer1-19/+106
- Integer handling was modeled after validate code from "schema_syntax.c". - Double handling was modeled similar, but with a dynamic buffer. I don't know if there is a maximum literal length for double values but an allocation shouldn't a problem here since doubles are rare. - String handlind is enhanced with a terminating "0" test for safety. Reviewed-by: abartlet + metze Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Thu Apr 7 16:38:57 CEST 2011 on sn-devel-104
2011-04-07ldb:ldb_msg_check_sanity - clean it up from unneeded stuffMatthias Dieter Wallnöfer1-4/+0
2011-03-04ldb:ldb_msg.c - use LDB result constants for checking return valuesMatthias Dieter Wallnöfer1-2/+5
Reviewed by: Tridge Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Fri Mar 4 22:51:57 CET 2011 on sn-devel-104
2010-12-01ldb:ldb_msg_add_value - fix here a wrong memory contextMatthias Dieter Wallnöfer1-1/+2
A value array allocation should belong to "msg->elements" not "msg" directly
2010-09-24ldb:ldb_msg_add_linearized_dn - handle NULL DNsMatthias Dieter Wallnöfer1-2/+8
Don't let the routine crash Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-29s4-ldb: use TALLOC_CTX type instead of 'void'Kamen Mazdrashki1-3/+3
2010-07-19s4-dsdb: use ldb_msg_normalize() in ldb_msg_difference()Kamen Mazdrashki1-6/+8
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Add ldb_msg_normalize() to accept a memory context from clientKamen Mazdrashki1-12/+41
Previos implementation from ldb_msg_canonicalize() was moved into this function and now ldb_msg_canonicalize() is based on ldb_msg_normalize() Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add()Kamen Mazdrashki1-4/+10
Previous implementation was 'leaking' attribute name string, that is allocated by ldb_msg_add_empty() Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add_empty()Kamen Mazdrashki1-22/+17
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Add separate function to add empty element into ldb_msgKamen Mazdrashki1-0/+30
It just adds another element, nothing more. Caller is responsible to fill-in the added element and determine how to handle data allocation contexts. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Write more explanatory comment for ldb_msg_add()Kamen Mazdrashki1-3/+8
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Implement ldb_msg_difference() function to accept a memory context ↵Kamen Mazdrashki1-23/+72
from client Old implementation from ldb_msg_diff() was moved into this this function but with changed interface so that a memory context may be passed. ldb_msg_diff() function is now based on ldb_msg_difference(), which fixes a hidden leak - internal ldb_msg object (returned from ldb_msg_canonicalize) wasn't freed and stays attached to ldb_context for the connection lifetime. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-06ldb:ldb_msg_remove_attr - provide a better implementationMatthias Dieter Wallnöfer1-2/+3
We can have some special (bad) messages which contain multiple message elements for the same attribute. The AD password change ones are such an example.
2010-06-02s4:ldb_msg_element_compare - fix typo in commentMatthias Dieter Wallnöfer1-1/+1
2010-05-31ldb:ldb_msg_add_steal_string - prevent also there the addition of strings ↵Matthias Dieter Wallnöfer1-0/+5
with length 0
2010-05-13ldb:ldb_msg.c - use result constantMatthias Dieter Wallnöfer1-1/+1
2010-03-08LDB:common - Change counters to "unsigned" where appropriateMatthias Dieter Wallnöfer1-9/+11
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>
2010-02-14s4-ldb: use TYPESAFE_QSORT() in the rest of the ldb codeAndrew Tridgell1-2/+2
2010-01-13s4:ldb_msg: first try to decode integers as signed and then fallback to unsignedStefan Metzmacher1-0/+18
LDAP only knowns about signed integers, so let ldb_msg_find_attr_as_uint() and ldb_msg_find_attr_as_uint64() cope with it. metze
2010-01-13s4:ldb: be more strict in parsing ldb time stringsStefan Metzmacher1-4/+4
metze
2010-01-02s4-ldb: added ldb_val_to_time() Andrew Tridgell1-0/+27
This is intended as a replacement for ldb_string_to_time() for ldb_val inputs. This ensures it is length limited and includes additional validity checks
2009-11-30s4-ldb: changed ldb_msg_add_dn() to ldb_msg_add_linearized_dn()Crístian Deives1-3/+4
this makes the usage clearer Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-11-20s4-ldb: added a warning about ldb_msg_add_dnAndrew Tridgell1-0/+2
ldb_msg_add_dn does not copy the dn linearized string
2009-11-20added new function "ldb_msg_add_dn"Crístian Deives1-0/+9
a helper function to a DN element to an ldb_msg using ldb_msg_add_string. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-11-12s4:ldb Allow ldb_msg_canonicalize to handle empty elementsAndrew Bartlett1-1/+1
(These are deliberately there in DRS replication). Andrew Bartlett
2009-10-22s4-ldb: fast path for equal pointersAndrew Tridgell1-1/+1
We compare identical ldb_val values surprisingly often
2009-10-18s4:ldb_msg_check_string_attribute - add a comment about the result valuesMatthias Dieter Wallnöfer1-1/+5
2009-10-18Revert "s4:ldb_msg - Use LDB constants on results"Matthias Dieter Wallnöfer1-3/+4
This reverts commit 56a8baff3df6a5120b6c7bbca771dfb7c6934fd5. Simo pointed out that I was wrong here.
2009-10-18s4:ldb_msg - Use LDB constants on resultsMatthias Dieter Wallnöfer1-5/+7
2009-10-01s4:ldb_msg_diff - Fixes up possible memory leaks and the python binding of itMatthias Dieter Wallnöfer1-3/+9
2009-09-11s4-ldb: don't remove a message element beyond the end of the arrayAndrew Tridgell1-0/+4
2009-06-29ldb: Properly handle NULL when copying attr lists.Andrew Kroeger1-4/+4
When copying an attribute list, ensure the list itself is not NULL before attempting to access elements of the list.
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-08-21Don't walk past the end of ldb values.Andrew Bartlett1-3/+3
This is a partial fix towards bugs due to us walking past the end of what we think are strings in ldb. There is much more work to do in this area. Andrew Bartlett (This used to be commit 5805a9a8f35fd90fa4f718f73534817fa3bbdfd2)
2007-12-21r26529: Indeed, this belongs in the schema module. Ranged results need to useAndrew Bartlett1-5/+0
an attribute with ';' in the name. Andrew Bartlett (This used to be commit f4023b176eabfb3282fe9b999eac8db55a095ab0)
2007-12-21r25857: IndentAndrew Bartlett1-1/+2
(This used to be commit f42690a90c2f76e7fc130ebbdbd0f93fefacfad6)
2007-10-10r23993: Attempt to fix bug #4808, reported by mwallnoefer@yahoo.de. The issueAndrew Bartlett1-1/+4
is that when we all ldb_msg_add_empty(), we might realloc() the msg->elements array. We need to ensure the source pointer (when copying an element from the same msg) is still valid, or the data copied. Andrew Bartlett (This used to be commit 0fbea30577233d00e7c6cdd4faaece0f99fc57b1)
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-10r23560: - Activate metze's schema modules (from metze's schema-loading-13 ↵Andrew Bartlett1-2/+10
patch). - samba3sam.js: rework the samba3sam test to not use objectCategory, as it's has special rules (dnsName a simple match) - ldap.js: Test the ordering of the objectClass attributes for the baseDN - schema_init.c: Load the mayContain and mustContain (and system...) attributes when reading the schema from ldb - To make the schema load not suck in terms of performance, write the schema into a static global variable - ldif_handlers.c: Match objectCategory for equality and canonicolisation based on the loaded schema, not simple tring manipuation - ldb_msg.c: don't duplicate attributes when adding attributes to a list - kludge_acl.c: return allowedAttributesEffective based on schema results and privilages Andrew Bartlett (This used to be commit dcff83ebe463bc7391841f55856d7915c204d000)
2007-10-10r22681: Fix standalone ldb build when parent directory name != ldb.Jelmer Vernooij1-2/+1
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10r20731: we need the complex memmove() handling for removing an attribute ↵Stefan Metzmacher1-16/+12
only in one place metze (This used to be commit dfdfdd6cefeac2974a4b3425a49e3dd93ad7e952)
2007-10-10r20462: add functions to handle UTCTime stringsStefan Metzmacher1-3/+56
metze (This used to be commit 49c7da812c290e23bb65b98a2710fb90c4a0ece2)
2007-10-10r20189: remove unused struct elementStefan Metzmacher1-1/+0
metze (This used to be commit d20d1872d5ed1176928b85ef9811c6a5177d0148)
2007-10-10r19909: Make this one double as fastSimo Sorce1-5/+17
(This used to be commit 67b88e49b896f1d783619b8f96554adaeabe80df)
2007-10-10r19832: better prototypes for the linearization functions:Simo Sorce1-1/+1
- ldb_dn_get_linearized returns a const string - ldb_dn_alloc_linearized allocs astring with the linearized dn (This used to be commit 3929c086d5d0b3f08b1c4f2f3f9602c3f4a9a4bd)
2007-10-10r19831: Big ldb_dn optimization and interfaces enhancement patchSimo Sorce1-2/+10
This patch changes a lot of the code in ldb_dn.c, and also removes and add a number of manipulation functions around. The aim is to avoid validating a dn if not necessary as the validation code is necessarily slow. This is mainly to speed up internal operations where input is not user generated and so we can assume the DNs need no validation. The code is designed to keep the data as a string if possible. The code is not yet 100% perfect, but pass all the tests so far. A memleak is certainly present, I'll work on that next. Simo. (This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10r19731: Modify the ldb_map infrustructure to always map from requestedAndrew Bartlett1-1/+13
attributes to backend (remote) attributes. We can't do a reverse mapping safely where the remote attribute may be a source for multiple local attributes. (We end up with the wrong attributes returned). In doing this, I've modified the samba3sam.js test to be more realistic, and fixed some failures in the handling of primaryGroupID. I've added a new (private) helper function ldb_msg_remove_element() to avoid a double lookup of the element name. I've also re-formatted many of the function headers, to fit into standard editor widths. Andrew Bartlett (This used to be commit 186766e3095e71ba716c69e681592e217a3bc420)