summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
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.
2010-10-23s4/ldb:introduce the LDB_CONTROL_PROVISION_OID controlMatthias Dieter Wallnöfer1-0/+27
This control is exactly thought for the actions which previously were performed using the RELAX one. We agreed that the RELAX control will only remain for interactions with OpenLDAP.
2010-10-23ldb:rename LDB_CONTROL_BYPASSOPERATIONAL_OID into ↵Matthias Dieter Wallnöfer1-1/+1
LDB_CONTROL_BYPASS_OPERATIONAL_OID It's nicer to have this consistent with "BYPASS_PASSWORD_HASH".
2010-10-21ldb:ldb_modules.c - "dlclose" could cause inference on "dlerror"Matthias Dieter Wallnöfer1-1/+1
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Thu Oct 21 09:28:19 UTC 2010 on sn-devel-104
2010-10-21s4-ldb: make ldb_options_find() publicAndrew Tridgell1-1/+1
we need to make this symbol public to allow for -Wl,-no-undefined, as otherwise the pyldb module can't find the symbol when it creates the module
2010-10-21ldb:ldb_modules.c - if we don't find the associated dynamic object then ↵Matthias Dieter Wallnöfer1-0/+1
please close the handle Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Thu Oct 21 07:52:44 UTC 2010 on sn-devel-104
2010-10-19ldb:"ldb_schema_attribute_by_name_internal" - support the whole unsigned int ↵Matthias Dieter Wallnöfer1-7/+5
range Commit 8556602b048e825b35df314d6865f997823ec2bb wasn't quite right - it only restored the functionality on the positive integer range. This one however should now really support the whole unsigned range. Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Tue Oct 19 10:52:08 UTC 2010 on sn-devel-104
2010-10-19s4-ldb: cope with NULL oid in controlsAndrew Tridgell2-9/+11
the ldap server will mark a control with a NULL oid in order to remove it. This prevents a O(n^2) cost in control handling. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-19s4-ldb: added ldb_req_mark_untrusted() and ldb_req_is_untrusted()Andrew Tridgell1-0/+17
these will be used to determine if a ldb request comes from an untrusted source. We want requests over ldap:// to be marked untrusted so we can reject unregistered controls Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-18ldb:"ldb_schema_attribute_by_name_internal" - switch back to 32bit countersMatthias Dieter Wallnöfer1-4/+5
Use the signed counter for the binary search but use an unsigned one for accessing the entry. Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Mon Oct 18 19:01:31 UTC 2010 on sn-devel-104
2010-10-16ldb:"ldb_dn_compare_base" - use "unsigned int" countersMatthias Dieter Wallnöfer1-2/+2
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Sat Oct 16 13:54:13 UTC 2010 on sn-devel-104
2010-10-16ldb:"ldb_dn_add_child" - use "unsigned int" countersMatthias Dieter Wallnöfer1-2/+3
2010-10-16ldb:"ldb_dn_remove_base_components" - use an "unsigned int" counterMatthias Dieter Wallnöfer1-6/+6
2010-10-16ldb:"ldb_dn_canonical" - use an "unsigned int" counterMatthias Dieter Wallnöfer1-3/+3
Convert it to use an "unsigned int" counter which represents the exact length of the DN components.
2010-10-13ldb:ldb_match.c - fix a counter typeMatthias Dieter Wallnöfer1-1/+1
2010-10-13s4-ldb: use operator_fn syntax function in ldb_match codeAndrew Tridgell1-92/+212
this also fixes error handling in case of bad syntax, memory error etc, which was previously conidered as a mismatch, but should return an error Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-11ldb The use of a private event context isn't a hackAndrew Bartlett1-2/+3
This is deliberate behaviour. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Mon Oct 11 13:45:14 UTC 2010 on sn-devel-104