summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
2011-07-05ldb: make ldb a top level library for Samba 4.0Andrew Bartlett14-11302/+0
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-06-09ldb:ldb_msg.c - move away from "errno"Matthias Dieter Wallnöfer1-3/+0
Reviewed-by: Tridge
2011-04-29ldb:ldb_controls.c - fix comment indentationMatthias Dieter Wallnöfer1-4/+4
Reviewed-by: abartlet
2011-04-21ldb: add custom flags and functions for the application that wants to ↵Matthieu Patou1-0/+38
manipulate them Signed-off-by: Simo Sorce <idra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-04-21s4:ldb/ldif: add support for "modrdn"Stefan Metzmacher1-0/+199
This add a ldb_ldif_parse_modrdn() helper function to parse the information out of a ldb_message structure. Signed-off-by: Simo Sorce <idra@samba.org> metze
2011-04-08ldb:ldb/common/ldb_modules.c - change the request counter type to be "unsigned"Matthias Dieter Wallnöfer1-1/+1
Just for consistency since all other LDB counters are unsigned as well. And also the debug output specifier has been chosen to be "%u" - so it really should be unsigned. Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Fri Apr 8 09:17:47 CEST 2011 on sn-devel-104
2011-04-08ldb:ldb/common/ldb_modules.c - trivial - fix integer output specifiersMatthias Dieter Wallnöfer1-2/+2
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-04-07ldb:ldb/common/ldb_modules.c - always use LDB error codes if possibleMatthias Dieter Wallnöfer1-6/+7
The callers do compare against LDB error codes - hence don't give back "-1". Reviewed-by: Tridge + abartlet
2011-04-07ldb:common/*.c - check for some OOM conditionsMatthias Dieter Wallnöfer2-0/+7
Reviewed-by: abartlet
2011-03-20ldb:fix control parsing for dirsyncMatthieu Patou1-2/+3
2011-03-10ldb:ldb_controls.c - "ldb_save_controls" - allow that "saver" can also be NULLMatthias Dieter Wallnöfer1-8/+12
Suggested by Tridge
2011-03-10ldb:ldb_controls.c - always allocate enough spaceMatthias Dieter Wallnöfer1-13/+27
The size for an additional "struct ldb_control" shouldn't hurt and so the excluded control can also be NULL. Added an ending "talloc_realloc" to resize the chunk to the effective needed size (requested by tridge).
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
2011-03-04ldb:ldb_request - handle here the DN checksMatthias Dieter Wallnöfer1-1/+22
This is a much better solution than we had before - so all important DN checks are enforced for each type of LDB database (and not limited to DSDB). Many "ldb_dn_validate" checks will now become obsolete. Reviewed by: Tridge
2011-02-21ldb: controls marshalling/unmarshalling improvementMatthieu Patou1-622/+660
Add a function to marshall a control to a string Refactor the code of ldb_control_parse_strings to allow to extract the core code into ldb_control_parse_from_string so that this function can be called for just 1 string
2011-02-13ldb: use the sizeof of the control variable as offset instead of hardcoded ↵Matthieu Patou1-22/+21
values, helps to avoid bugs
2011-02-13ldb: remove "magic" string in ldb_controls, replace them with constants ↵Matthieu Patou1-22/+30
defined in ldb.h Allow to have less magic value in the control code and will allow not to duplicate names when doing a function that marshal a control to it's string representation
2011-01-18s4-ldb_ldif: Take into account LDB_FLG_SHOW_BINARYKamen Mazdrashki1-1/+4
when user requires binary data to be displayed using samba user-friendly ldif handlers Found using following test search: bin/ldbsearch -H st/dc/private/sam.ldb -b "CN=Deleted Objects,DC=samba,DC=example,DC=com" \ "(objectGUID=97b52eac-6d89-434d-b935-1e5f2e086ffc)" replPropertyMetaData --show-deleted --show-binary Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Tue Jan 18 00:40:01 CET 2011 on sn-devel-104
2011-01-18s4-ldb_ldif: Don't check for LDB_FLG_SHOW_BINARY in ldb_should_b64_encodeKamen Mazdrashki1-4/+0
LDB_FLG_SHOW_BINARY is data representation flag and should not modify behavior of data checking functions. This lead to a bug in lib/ldb/ldb_tdb/ldb_index.c as ltdb_index_key() function relies on ldb_should_b64_encode function to determine how to process index keys. Found using following test search: bin/ldbsearch -H st/dc/private/sam.ldb -b "CN=Deleted Objects,DC=samba,DC=example,DC=com" \ "(objectGUID=97b52eac-6d89-434d-b935-1e5f2e086ffc)" replPropertyMetaData --show-deleted --show-binary
2011-01-17ldb: added ldb_req_mark_trusted()Andrew Tridgell1-0/+8
this is used to mark a ldb child request trusted, if the caller has validated all inputs. This will be used when creating new child requests with trusted inputs. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-01-17ldb: inherit parent flags on child requests in modulesMatthias Dieter Wallnöfer1-0/+11
2011-01-14ldb:ldb_dn.c - fix counter type in "ldb_dn_minimise"Matthias Dieter Wallnöfer1-1/+1
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Fri Jan 14 10:43:29 CET 2011 on sn-devel-104
2011-01-14ldb: added ldb_dn_minimise()Andrew Tridgell1-0/+54
this removes any extraneous components from a DN. For an extended DN, this means removing the string DN and all but the first extended component. This is needed as AD returns "invalid syntax" if you don't use a minimal DN as the base DN for a search. A non-minimal DN also doesn't ever match in a search expression. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-01-14ldb: added ldb_dn_get_extended_comp_num()Andrew Tridgell1-0/+8
this returns the number of extended components. We need this to validate a DN in the extended_dn_in module Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-01-12ldb:ldb_dn_explode - remove/unify some duplicate initialisationsMatthias Dieter Wallnöfer1-6/+2
2010-12-18ldb: Rename controls_except_specified -> ldb_controls_except_specified.Jelmer Vernooij1-1/+1
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sat Dec 18 01:33:24 CET 2010 on sn-devel-104
2010-12-18ldb: Rename two exported functions so they match abi_match.Jelmer Vernooij1-2/+2
2010-12-08s4-ldb: use RTLD_DEEPBIND if available for ldb modulesAndrew Tridgell1-1/+13
this allows us to avoid issues with ldb using heimdal while an application using ldb using MIT kerberos Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-06s4:fix some shadowed declaration warnings on Solaris by renaming the symbolsMatthias Dieter Wallnöfer1-2/+2
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-11-23s4-ldb: added an environment varibale LDB_WARN_UNINDEXEDAndrew Tridgell1-1/+1
when LDB_WARN_UNINDEXED is set, we produce warnings about unindexed searches. This makes it easier to find performance problems caused by unindexed searches.
2010-11-18ldb: error out when modules are not foundSimo Sorce1-1/+1
We shouldn't proceed without all required modules, it could cause damage to the ldb if operations are performed w/o the needed modules. Autobuild-User: Simo Sorce <idra@samba.org> Autobuild-Date: Thu Nov 18 14:02:34 UTC 2010 on sn-devel-104
2010-11-18ldb:ldb_dn_explode - point out that on error cases "data" is implicitly free'dMatthias Dieter Wallnöfer1-1/+1
2010-11-17ldb:ldb_dn.c - ldb_dn_explode - free also the extended components on error casesMatthias Dieter Wallnöfer1-1/+4
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Wed Nov 17 08:45:53 UTC 2010 on sn-devel-104
2010-11-08s4-ldb: don't give an error if a module is already registeredAndrew Tridgell1-0/+7
this can happen when both the build and install paths are used to load ldb modules Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Mon Nov 8 05:28:14 UTC 2010 on sn-devel-104
2010-11-08s4-ldb: better error message when we try to register a module twiceAndrew Tridgell1-2/+3
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-06ldb:ldb_parse.c - "ldb_parse_hex2char" - always initialise "c"Matthias Dieter Wallnöfer1-1/+1
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Sat Nov 6 21:04:58 UTC 2010 on sn-devel-104
2010-11-05s4-ldb: show the reason for module initialization failureAndrew Tridgell1-1/+2
2010-11-04s4-ldb: don't load modules from the same directory twiceAndrew Tridgell1-4/+4
this prevents samba dying if you do a 'make install' while it is running. Otherwise the make install changes the inode numbers of the modules in the modules directory, causing them to reload, which causes multiple modules of the same name to try and load
2010-11-03s4-ldb: fixed sorting of module namesAndrew Tridgell1-1/+6
this should also fix a valgrind error on freebsd thanks to Matthieu for spotting this
2010-11-02s4-ldb: give the user a hint as to what may be wrongAndrew Tridgell1-2/+2
when a backend or module can't be found, give a hint about the LDB_MODULES_PATH environment variable Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Tue Nov 2 21:28:22 UTC 2010 on sn-devel-104
2010-11-03s4-ldb: expose some more ldb module functionsAndrew Tridgell2-11/+81
this exposes enough functions for s4 to not need ldb_private.h any more.
2010-11-01s4-ldb: use ldb_set_modules_dir() to load additional ldb modulesAndrew Tridgell1-6/+12
this allows ldb_wrap to enable s4 modules in a standalone ldb install without any additional installation Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Mon Nov 1 13:47:33 UTC 2010 on sn-devel-104
2010-11-01s4-ldb: added support for general ldb hooks in modulesAndrew Tridgell1-11/+45
this allows a ldb module to register a hook function called at various stages of processing. It will be initially used for ldb command line hooks, but should work generally. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-01s4-ldb: added an override flag to ldb_register_backend()Andrew Tridgell1-27/+30
this will be used to allow a system ldb build with an ldb backend to have its ldap handler overridden by the s4 one
2010-11-01s4-ldb: it is not an error for the modules directory to not existAndrew Tridgell1-0/+5
2010-11-01s4-ldb: removed the old ldb module loading styleAndrew Tridgell1-158/+31
this gets rid of some particularly obscure cpp macros for module lists
2010-11-01s4-ldb: support a new type of ldb module loadingAndrew Tridgell2-0/+195
this supports module loading in ldb which uses the approach of "load all modules in a directory". This is much more flexible than the current module loading, as it will allow us to load modules for command line parsing and authentication. Modules are loaded from a colon separated path, in the environment variable LDB_MODULES_PATH. If unset, it defaults to LDB_MODULESDIR. Within each directory modules are loaded recursively (traversing down the directory tree). The device/inode number of each module is remembered to prevent us loading a module twice. Each module is checked for a ldb_init_module() function with dlsym(). If found, it is called with the ldb module version as an argument.