1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

2364 Commits

Author SHA1 Message Date
Andrew Tridgell
cdf19ec5e2 s4-ldb: moved the ldb_ildap backend into lib/ldb-samba
this backend is samba4 specific
2010-11-01 18:55:20 +11:00
Andrew Tridgell
d103f2d346 s4-ldb: added support for general ldb hooks in modules
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-01 18:55:19 +11:00
Andrew Tridgell
c74601e0b3 s4-ldb: added an override flag to ldb_register_backend()
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-01 18:55:19 +11:00
Andrew Tridgell
05b37385fc s4-ldb: it is not an error for the modules directory to not exist 2010-11-01 18:55:19 +11:00
Andrew Tridgell
43f7c9ca26 s4-test: we don't need to set LDB_MODULES_PATH any more 2010-11-01 18:55:19 +11:00
Andrew Tridgell
6db57658a9 s4-ldb: removed the old ldb module loading style
this gets rid of some particularly obscure cpp macros for module lists
2010-11-01 18:55:19 +11:00
Andrew Tridgell
be8e91d9ca s4-ldb: convert the rest of the ldb modules to the new style 2010-11-01 18:55:19 +11:00
Andrew Tridgell
e8f0e3aca9 s4-ldb: convert the openldap ldb backend to the new style of module 2010-11-01 18:55:19 +11:00
Andrew Tridgell
efdcedb6b1 s4-ldb: convert the ildap module to the new type of ldb module
this gets rid of the module aliases, which caused issues on some
systems (eg. gentoo).
2010-11-01 18:55:18 +11:00
Andrew Tridgell
8b63ff52e2 s4-ldb: support a new type of ldb module loading
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-11-01 18:55:18 +11:00
Jelmer Vernooij
3deece5591 s4: Remove the old perl/m4/make/mk-based build system.
The new waf-based build system now has all the same functionality, and
the old build system has been broken for quite some time.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104
2010-10-31 02:01:44 +00:00
Jelmer Vernooij
7fc0aaba4b ldb: Drop autoconf-based build system. 2010-10-30 17:50:35 +02:00
Andrew Tridgell
2ea41fdbe2 s4-cmdline: make cmdline-credentials a private library 2010-10-30 23:49:01 +11:00
Andrew Tridgell
306754f294 s4-ldb: add explicit depenencies on ldb library in ldb modules
ldb modules call module functions from the main ldb library

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:01 +11:00
Andrew Tridgell
0d45d97540 s4-ldb: create a private library ldb-cmdline
this prevents duplicate linking of the cmdline support code
2010-10-30 23:48:59 +11:00
Jelmer Vernooij
50256c01d0 waf: Only specify vnum for non-private libraries. 2010-10-26 10:17:18 -07:00
Jelmer Vernooij
a74e8be6d1 waf: Stop automaticaly changing dashes to underscores in library names. 2010-10-26 10:17:18 -07:00
Andrew Tridgell
db73b4a2c1 waf: moved the -Wl,-no-undefined flags to source4 and ldb
moved it out of the general waf build as the s3 waf build cannot yet
handle linking with -Wl,-no-undefined

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Oct 25 01:12:15 UTC 2010 on sn-devel-104
2010-10-25 01:12:15 +00:00
Jelmer Vernooij
92c12a39a9 ldb: Rename pyldb pkg-config file to pyldb-util, to avoid confusion with
'ldb' python module.
2010-10-24 00:20:04 +00:00
Jelmer Vernooij
5224de3f74 s4: Rename LIBCLI_LDAP to libcli_ldap. 2010-10-24 00:20:04 +00:00
Jelmer Vernooij
49ef288819 waf: Rename some BUNDLED_ functios to PRIVATE_. 2010-10-23 22:24:06 +00:00
Jelmer Vernooij
c25afb6aa1 ldb: Support using system pyldb library.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Oct 23 19:24:25 UTC 2010 on sn-devel-104
2010-10-23 19:24:25 +00:00
Jelmer Vernooij
9a2f83a86a ldb: Install pkg-config file for pyldb. 2010-10-23 18:42:04 +00:00
Jelmer Vernooij
bd48e23f34 ldb: Install pyldb-util as public library. 2010-10-23 18:42:04 +00:00
Matthias Dieter Wallnöfer
c7d7c8f6f8 ldb:ldb.h - include a comment that the relax control is mainly used by the OpenLDAP backend
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sat Oct 23 16:40:04 UTC 2010 on sn-devel-104
2010-10-23 16:40:04 +00:00
Matthias Dieter Wallnöfer
f9a6ff482c s4/ldb:introduce the LDB_CONTROL_PROVISION_OID control
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-23 16:37:29 +02:00
Matthias Dieter Wallnöfer
89c42a96fc ldb:rename LDB_CONTROL_BYPASSOPERATIONAL_OID into LDB_CONTROL_BYPASS_OPERATIONAL_OID
It's nicer to have this consistent with "BYPASS_PASSWORD_HASH".
2010-10-23 16:37:29 +02:00
Matthias Dieter Wallnöfer
3c748714bb ldb:ldb_modules.c - "dlclose" could cause inference on "dlerror"
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-21 09:28:19 +00:00
Andrew Tridgell
19f8dc9580 s4-ldb: make ldb_options_find() public
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-21 19:03:27 +11:00
Andrew Tridgell
bbe016b77c s4-ldb: make pyldb_util a private library
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
7cba3cfac8 waf: replace the is_bundled option with private_library
'private_library' better captures what we are trying to get at when we
bundle a library
2010-10-21 19:03:24 +11:00
Matthias Dieter Wallnöfer
8044a20d8d ldb:ldb_modules.c - if we don't find the associated dynamic object then 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-21 07:52:43 +00:00
Matthias Dieter Wallnöfer
0b8b9aed34 ldb:ldb_tdb/ldb_cache.c - remove a superflous "talloc_free"
Didn't realise that this is already called by "ltdb_attributes_unload".
2010-10-21 09:09:04 +02:00
Matthias Dieter Wallnöfer
de9b737233 ldb:ldb_tdb/ldb_cache.c - in this function we don't use LDB return codes 2010-10-21 08:59:59 +02:00
Matthias Dieter Wallnöfer
0941099a28 ldb:ldb_index.c - fix some memory leaks
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Wed Oct 20 13:11:49 UTC 2010 on sn-devel-104
2010-10-20 13:11:49 +00:00
Matthias Dieter Wallnöfer
3bf8ca6790 ldb:ldb_index.c - let "ldb_module_oom" generate the return code 2010-10-20 12:31:05 +00:00
Matthias Dieter Wallnöfer
ec43a4d29e ldb:ldb_cache.c - fix memory contexts and memory leaks 2010-10-20 12:31:05 +00:00
Matthias Dieter Wallnöfer
06053a09cb ldb:ldb_tdb submodule - use "ldb_msg_new" where appropriate
It is saver than a manual "talloc".
2010-10-20 12:31:05 +00:00
Matthias Dieter Wallnöfer
1427895531 ldb:ldb_pack.c - remove superflous "message->elements = NULL"
It's already marked at this at the beginning of the call.
2010-10-20 12:31:05 +00:00
Matthias Dieter Wallnöfer
d652803c12 ldb:"ldb_schema_attribute_by_name_internal" - support the whole unsigned int range
Commit 8556602b04 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-19 10:52:08 +00:00
Andrew Tridgell
f6a9708b54 s4-ldb: increase minor version for 2 new functions
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Oct 19 01:27:44 UTC 2010 on sn-devel-104
2010-10-19 01:27:44 +00:00
Andrew Tridgell
d16fe72585 s4-ldb: cope with NULL oid in controls
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-19 11:22:35 +11:00
Andrew Tridgell
5f6c004dec s4-ldb: added --relax cmdline option
this adds the relax control
2010-10-19 11:22:35 +11:00
Andrew Tridgell
ff456cd100 s4-ldb: added ldb_req_mark_untrusted() and ldb_req_is_untrusted()
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-19 11:22:35 +11:00
Matthias Dieter Wallnöfer
dcbfcbbceb ldb: always return PROTOCOL_ERROR if an operation is unsupported
That's exactly the behaviour of various LDAP servers.
2010-10-18 19:51:19 +00:00
Matthias Dieter Wallnöfer
8556602b04 ldb:"ldb_schema_attribute_by_name_internal" - switch back to 32bit counters
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-18 19:01:31 +00:00
Matthias Dieter Wallnöfer
48cd89e25d ldb:ldb_tdb.c - fix up counter variables
"find_element" returns an "int" since there is also the possibility that a
certain element doesn't exist - then "-1" is returned. But beside this
exception treat all other return values as unsigned.
2010-10-18 20:14:56 +02:00
Matthias Dieter Wallnöfer
94a445869c ldb:ldb_tdb.c - improve the error outputs
- Fix indentation
- Include always the failing DN
- Reorder the outputs to make them consistent
2010-10-18 20:10:14 +02:00
Andrew Bartlett
034832ccd5 s4-ldb Add LDB_REQ_SET_LOCATION to help track handler use
This greatly assists in debugging what is going on with the
ldb handle, as it indicates where it was created.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Oct 18 11:54:46 UTC 2010 on sn-devel-104
2010-10-18 11:54:46 +00:00
Andrew Bartlett
48c54f9ec8 ldb Ensure we mark ongoing LDAP requests as PENDING 2010-10-18 11:13:04 +00:00
Andrew Bartlett
dab426476f Revert "s4:dsdb - make the RELAX control private"
This must be available to the OpenLDAP backend, to set the GUID values
in some situations.  We need a proper ACL mechanism to control the use
or abuse of this control.

This reverts commit 10adee8936.
2010-10-18 00:16:17 +00:00
Matthias Dieter Wallnöfer
10adee8936 s4:dsdb - make the RELAX control private
This makes our LDAP much more secure and less error-prone.

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sat Oct 16 19:43:36 UTC 2010 on sn-devel-104
2010-10-16 19:43:36 +00:00
Matthias Dieter Wallnöfer
c4739f7be8 ldb:ldb.h - reorder controls/extended operations
This makes it easier to read
2010-10-16 20:45:08 +02:00
Matthias Dieter Wallnöfer
dd0f22d446 ldb:pyldb.c - remove pointless comment
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sat Oct 16 14:38:58 UTC 2010 on sn-devel-104
2010-10-16 14:38:58 +00:00
Matthias Dieter Wallnöfer
39d11a977d ldb:"ldb_dn_compare_base" - use "unsigned int" counters
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-16 13:54:13 +00:00
Matthias Dieter Wallnöfer
531d7f569e ldb:"ldb_dn_add_child" - use "unsigned int" counters 2010-10-16 15:11:45 +02:00
Matthias Dieter Wallnöfer
1557acb44a ldb:"ldb_dn_remove_base_components" - use an "unsigned int" counter 2010-10-16 15:04:57 +02:00
Matthias Dieter Wallnöfer
19e94349b3 ldb:"ldb_dn_canonical" - use an "unsigned int" counter
Convert it to use an "unsigned int" counter which represents the exact length
of the DN components.
2010-10-16 14:57:52 +02:00
Jelmer Vernooij
18ea6c5dce ldb: Only build LIBLDB_MAIN when building ldb itself.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Wed Oct 13 15:41:29 UTC 2010 on sn-devel-104
2010-10-13 15:41:29 +00:00
Matthias Dieter Wallnöfer
9bdea1b384 ldb:ldb_match.c - fix a counter type 2010-10-13 13:35:21 +00:00
Andrew Tridgell
d5e599204c ldb: raise minor version number for new ldb_msg_match_error() function
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct 13 11:42:18 UTC 2010 on sn-devel-104
2010-10-13 11:42:17 +00:00
Andrew Tridgell
269143fa00 s4-ldb: take advantage of ldb_match_msg_error() in more places
this gives better error checking
2010-10-13 11:00:04 +00:00
Andrew Tridgell
180304516d s4-ldb: use operator_fn syntax function in ldb_match code
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-13 11:00:04 +00:00
Andrew Tridgell
3d75111fd6 s4-ldb: added an optional operator_fn in the schema syntax
this function takes the operator being invoked, which will allow
schema functions to provide more fine grained control over
comparisons.

The key bug this was introduced to fix is the incorrect handling of
the LDB_OP_PRESENT test for deleted linked attributes. The backends
are unaware of the deleted state of these links, so they cannot do a
LDB_OP_PRESENT test on their own.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-13 11:00:04 +00:00
Andrew Tridgell
d95160ca2f ldb: when running from build directory, use the build modules
we need to use the build modules, not the installed modules, so tests
run from the source directory are valid

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-10-13 11:00:03 +00:00
Jelmer Vernooij
9d2e777e18 ldb: Build ildap module as shared object. 2010-10-11 15:13:16 +00:00
Andrew Bartlett
13ba3464c0 ldb The use of a private event context isn't a hack
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
2010-10-11 13:45:13 +00:00
Andrew Bartlett
1555d5acf5 s4-ldb Don't use talloc_autofree_context() in ldb
The private event context only needs to live as long as ldb itself.

Andrew Bartlett
2010-10-11 13:02:16 +00:00
Jelmer Vernooij
5324b943e7 wafsamba: Fix handling of pyembed/pyext. 2010-10-10 23:54:04 +00:00
Jelmer Vernooij
c15e919a09 wafsamba: Clarify needs_python argument name, use pyembed/pyext where
applicable.

Allow using both pyembed and pyext, to prevent unresolved symbols.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 10 03:54:01 UTC 2010 on sn-devel-104
2010-10-10 03:54:01 +00:00
Andrew Tridgell
bb0017615d waf: fixed exit status of test suites
use RUN_COMMAND() to handle signal errors and exit status
2010-10-07 14:29:21 +11:00
Matthias Dieter Wallnöfer
933aef0bf4 s4:ldb_modules.c - fix a typo 2010-10-05 08:43:19 +00:00
Jelmer Vernooij
5548d3d41e Add missing dependencies for com_err. 2010-10-05 00:38:35 +02:00
Jelmer Vernooij
6ea99a237d ldb: Refer to ldb(3), not ldb(7). 2010-10-05 00:38:35 +02:00
Matthieu Patou
d09cfc04fb unittests: add a test to avoid regression on previous fix
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Mon Oct  4 20:23:31 UTC 2010 on sn-devel-104
2010-10-04 20:23:31 +00:00
Matthieu Patou
9dcad792b6 pyldb: test return code before trying to talloc_steal
Otherwise you can have an error on the talloc_steal as the req can have
been not talloced yet
2010-10-04 19:42:19 +00:00
Jelmer Vernooij
beed95e3a2 heimdal: convert some subsystems to libraries, consistent with upstream heimdal. 2010-10-03 16:25:37 +02:00
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
Andrew Tridgell
491e89fa1c ldb-tdb: ignore failure to register control on rootdse
this is expected for non-sam LDBs
2010-09-28 11:36:40 -07:00
Jelmer Vernooij
b4a5ece84a ldb: Fix path to alternative buildtools. 2010-09-28 09:16:03 +02:00
Jelmer Vernooij
63928c82c1 ldb/tevent: Fix detection of waf paths. 2010-09-28 09:12:41 +02:00
Jelmer Vernooij
85443e0850 ldb: Update autogen-waf.sh to no longer overwrite existing files. 2010-09-28 09:12:40 +02:00
Jelmer Vernooij
72a41cc820 ldb: Remove samba-specific targets from Makefile. 2010-09-28 09:12:40 +02:00
Jelmer Vernooij
78b4b21b40 ldb: Bump version because of addition of ldb_req_location. 2010-09-28 09:12:40 +02:00
Andrew Tridgell
6676142347 s4-ildap: two more places that need talloc_reparent()
these contexts can have references

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Sep 28 00:04:03 UTC 2010 on sn-devel-104
2010-09-28 00:04:03 +00:00
Nadezhda Ivanova
aeedd29d39 s4-ldb: Added ldb_request_replace_control
It is the same as ldb_request_add_control, except it will replace
an existing control.

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Sep 27 19:00:38 UTC 2010 on sn-devel-104
2010-09-27 19:00:38 +00:00
Jelmer Vernooij
296ff486e4 Check in configure/Makefile for those projects that have waf as primary build system. 2010-09-25 12:20:57 -07:00
Andrew Tridgell
f4893e7d33 ldb: added request location tracking
this is used to help debug async ldb requests. The ldb request handle
now contains a location string and the parent request pointer. This
allows us to print a backtrace of ldb requests in the dsdb modules.
2010-09-25 10:38:45 -07:00
Matthias Dieter Wallnöfer
9ca8214978 ldb:ldb_match.c - fix counter variable type
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-09-24 09:25:41 +10:00
Matthias Dieter Wallnöfer
0f163eb611 ldb:ldb_msg_add_linearized_dn - handle NULL DNs
Don't let the routine crash

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-09-24 09:25:41 +10:00
Jelmer Vernooij
8dd0c8c546 ldb: Use waf as default build system. 2010-09-22 17:48:24 -07:00
Jelmer Vernooij
c031329af1 ldb: Depend directly on replace, fixes the build on systems with
tdb and tevent installed in the system.
2010-09-22 17:48:24 -07:00
Matthias Dieter Wallnöfer
1ddd63bddb ldb:tools/cmdline.c - reorganise imports 2010-09-11 18:07:47 +02:00
Matthias Dieter Wallnöfer
5f98d31fc0 ldb:tools/cmdline.c - make a counter unsigned where appropriate 2010-09-11 17:43:44 +02:00
Matthias Dieter Wallnöfer
c0a863b6f3 s4:ldb_register_samba_handlers - fix up and convert result codes to LDB/LDAP results 2010-09-11 17:41:38 +02:00
Andrew Tridgell
c95c3863df pyldb: expose PyLdbDn_FromDn()
This is needed by the dsdb python interface

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-09 21:39:24 +10:00
Matthieu Patou
e2d575ee80 python-ldb: allow ldb_rename to take optional control(s) 2010-09-05 12:29:20 +04:00
Jelmer Vernooij
261d9aaff0 ldb: Add missing aliases for ldb_ildap. 2010-09-04 17:59:48 +02:00
Björn Jacke
d45f901b93 s4/ldb: fix standalone build 2010-09-01 11:23:50 +02:00
Björn Jacke
60002600b8 s4/ldb: use monotonic clock for time deltas in ldbtest 2010-08-31 10:26:36 +02:00
Andrew Tridgell
d55b19b56a pyldb: do type checking on the list form of ldb add
Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-08-22 14:57:34 +10:00
Andrew Tridgell
a662bdc024 s4-ldb: added support for rodc_control in ldb
this allows you to specify the RODC join control in python ldb calls
or on the command line

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-20 20:34:11 +10:00
Andrew Tridgell
56f04188df s4-ldb: ensure element flags are zero in ldb search return
the distinguishedName element was getting an uninitialised flags value
2010-08-17 21:21:51 +10:00
Andrew Tridgell
0caf347098 s4-ldb: added LDB_FLAG_INTERNAL_DISABLE_VALIDATION
When this flag is set on an element in an add/modify request then the
normal validate_ldb() call that checks the element against schema
constraints is disabled

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 21:21:50 +10:00
Andrew Tridgell
9e27201b24 s4-ldb: added LDB_FLAG_INTERNAL_MASK
This ensures that internal bits for the element flags in add/modify
requests are not set via the ldb API

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 21:21:50 +10:00
Andrew Tridgell
6baa834ebe s4-ldb: use LDB_FLAG_MOD_TYPE() to extract element type from messages
The flags field of message elements is part of a set of flags. We had
LDB_FLAG_MOD_MASK for extracting the type, but it was only rarely
being used (only 1 call used it correctly). This adds
LDB_FLAG_MOD_MASK() to make it more obvious what is going on.

This will allow us to use some of the other flags bits for internal
markers on elements

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 21:21:50 +10:00
Andrew Tridgell
191d632e23 s4-dsdb: added support for LDB_CONTROL_RODC_DCPROMO_OID
this control adds a unique msDS-SecondaryKrbTgtNumber attribute to a
user object.

There is some 'interesting' interaction with the rangeLower and
rangeUpper attributes and this add. We don't implementat
rangeLower/rangeUpper yet, but when we do we'll need an override for
this control (or be careful about module ordering).

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 21:21:49 +10:00
Andrew Tridgell
045e04a2c6 s4-ldb: test the 'displayName=a,b' bug
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 08:44:28 +10:00
Andrew Tridgell
fd59a7c4af s4-ldb: fixed the ldb 'displayName=a,b' indexing bug
the problem was the inconsistency between the key form of DNs between
the itdb used for indexing and the on disk form

Thanks to Matthieu Patou for finding this bug!

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-08-17 08:44:28 +10:00
Andrew Tridgell
1cc471d69f s4-ldb: add some comments explaining the ltdb_index_idxptr() function
this function copes with alignment sensitive CPUs

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-08-17 08:44:28 +10:00
Kamen Mazdrashki
88f1798100 s4-ldb: use TALLOC_CTX type instead of 'void' 2010-07-29 00:53:49 +03:00
Kamen Mazdrashki
35b1e00ba3 s4: Remove trailing whitespaces
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:35 +10:00
Kamen Mazdrashki
11a44ce6f8 ldb: Mark _DEPRECATED_ ldb_msg_diff() and ldb_msg_canonicalize() functions
They are not quite safe to use (requires caller to steal
resulting message in own context) and may lead to holding
memory for too long.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:35 +10:00
Kamen Mazdrashki
31aeb841c9 s4-dsdb: use ldb_msg_normalize() in ldb_msg_difference()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:35 +10:00
Kamen Mazdrashki
1e20dbd812 s4-test: Use ldb_msg_normalize() in sqlite3 backend
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:35 +10:00
Kamen Mazdrashki
d71b20e8dc s4-dsdb: use ldb_msg_normalize() in ldbadd-process_file()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:35 +10:00
Kamen Mazdrashki
2ad701911e s4-dsdb: use ldb_msg_normalize() in source4/lib/ldb/common/ldb.c
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:34 +10:00
Kamen Mazdrashki
e5a9469a88 s4-ldb: Add ldb_msg_normalize() to accept a memory context from client
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-19 17:33:34 +10:00
Kamen Mazdrashki
48574ccc3f s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add()
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-19 17:33:34 +10:00
Kamen Mazdrashki
3944c81d08 s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add_empty()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:34 +10:00
Kamen Mazdrashki
8d523d46f5 s4-ldb: Add separate function to add empty element into ldb_msg
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-19 17:33:34 +10:00
Kamen Mazdrashki
a95fd4ef64 s4-ldb: Write more explanatory comment for ldb_msg_add()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:34 +10:00
Kamen Mazdrashki
8deae13313 s4-pyldb: Use ldb_msg_difference() in py_ldb_msg_diff()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:34 +10:00
Kamen Mazdrashki
fa0db46af1 s4-tools: use ldb_msg_difference() in ldbedit - modify_record()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:33 +10:00
Kamen Mazdrashki
65b967a706 s4-ldb: Implement ldb_msg_difference() function to accept a memory context 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-07-19 17:33:33 +10:00
Andrew Bartlett
3e8dba1703 s4:pyldb whitespace fix 2010-07-15 22:08:22 +10:00
Andrew Bartlett
fcdf619b36 s4:pyldb Fix memory handling for ldb_message_element
The problem here is that we need to use the array, not the individual
message element as the memory context.

Andrew Bartlett
2010-07-15 22:08:22 +10:00
Matthieu Patou
b67a71f00b ldb: allow ldb_sequence_number to be called in python
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-15 22:08:20 +10:00
Matthias Dieter Wallnöfer
514c596561 ldb:common/ldb_dn.c - "ldb_dn_get_parent" - no need to manipulate the real DN
Since the parent DN is a duplication of the passed DN parameter.
2010-07-09 09:02:44 +02:00
Kamen Mazdrashki
6a0d3665e2 s4: fix warning: unused variable ‘i’ 2010-07-09 07:01:26 +03:00
Andrew Tridgell
fc68558ab9 s4-ldb: added ldb_error() and ldb_operr()
These will be used to help avoid the problem we have with hundreds of
places that do "return LDB_ERR_OPERATIONS_ERROR" without an
explanation. It is very difficult to track down ldb errors which don't
have any explanation.

By replacing "return LDB_ERR_OPERATIONS_ERROR;" with "return ldb_operr(ldb);"
we at least get a file:line message in the ldb error string. It isn't
an ideal error message, but it is much better than just "operations
error"

This change also makes ldb_oom() return the error code
(LDB_ERR_OPERATIONS_ERROR) so you can do:

  return ldb_oom(ldb);

instead of:

  ldb_oom(ldb);
  return LDB_ERR_OPERATIONS_ERROR;
2010-07-07 20:14:55 +10:00
Andrew Tridgell
9c3a9824a9 s4-ldb: added support for simple binds on ldb_ldap backend
this uses the options[] array to pass in bindMech, bindID and
bindSecret. Currently only "simple" is supported.
2010-07-07 17:26:03 +10:00
Andrew Tridgell
7f9153f7e8 s4-ldb: added ldb_options_find()
ldb_options_find() allows backends to find options in the options[]
array passed to the connect operation.

This will be used by the ldb_ldap bind code
2010-07-07 17:26:03 +10:00
Andrew Tridgell
84c5dd1e4b s4-ldb: fixed error handling in openldap backend
fixed several bugs in error handling. the ldb context was used without
being initialised in the error paths, and several error paths did not
set an ldb error string.
2010-07-02 12:49:04 +10:00
Andrew Tridgell
277a9b4aac s4-ldb: fixed the parsing of references in the openldap backend
We need to use ldap_parse_reference() not ldap_parse_result()
2010-07-02 12:49:04 +10:00
Stefan Metzmacher
14f8953aa4 s4:dsdb: move dsdb python tests from lib/ldb/ to dsdb/
metze
2010-06-30 11:10:28 +02:00
Stefan Metzmacher
19d93c6a1e s4:ldb/python: make it possible to run tests standalone
metze
2010-06-30 10:59:57 +02:00
Matthias Dieter Wallnöfer
17a5c876a6 ldb:ldb_map_outbound.c - "ldb_parse_tree_collect_attrs" - remove unneeded return value 2010-06-29 22:21:22 +02:00
Matthias Dieter Wallnöfer
8e9d7e84f6 ldb:ldb_modules.c - "ldb_dso_load_symbol" - remove unneeded caste before "dlsym" 2010-06-29 22:16:15 +02:00
Matthias Dieter Wallnöfer
657045ca9a s4:ldb - "ldb_dn_update_components" - fix free of invalid DN parts
Use "LDB_FREE" for such free operations and in addition wipe also the casefolded
DN out.
2010-06-29 22:13:05 +02:00
Matthias Dieter Wallnöfer
f1e92c91b2 ldb:ldb_dn.c - "ldb_dn_set_extended_component" - free the linearized string when the components change 2010-06-29 22:07:51 +02:00
Matthias Dieter Wallnöfer
0f0d9aa9b5 s4:ldb_dn.c - make the code parts which free extended components consistent
Cosmetic
2010-06-29 22:07:01 +02:00
Matthias Dieter Wallnöfer
1e04f49ddb ldb:ldb_dn - "ldb_dn_explode" - move the "dn->comp_num" initalisation upwards and use "LDB_FREE" for freeing "dn->components"
Mostly cosmetic - no behaviour change
2010-06-29 21:59:37 +02:00
Nadezhda Ivanova
5a18fc2b2a Implementation of self membership validated right.
When this right is granted, the user can add or remove themselves from a group even
if they dont have write property right.
2010-06-28 10:43:50 +03:00
Matthieu Patou
3fc9675e93 ldb: Fix a wrong changetype in unit test
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-25 11:33:26 +02:00
Andrew Tridgell
0be1820718 s4-ldb: use CHECK_XSLTPROC_MANPAGES() 2010-06-24 18:46:57 +10:00
Andrew Tridgell
4cb423f527 s4-python: python is not always in /usr/bin
Using "#!/usr/bin/env python" is more portable. It still isn't ideal
though, as we should really use the python path found at configure
time. We do that in many places already, but some don't.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-24 18:46:57 +10:00
Endi S. Dewata
e228b67e56 s4/ldb: ldb_msg_el_map_remote() should rename the remote attribute names into local names as defined in simple_ldap_map.c. 2010-06-24 10:04:51 +02:00
Andrew Bartlett
c4482bf53e libds:common Remove DS_DC_* domain functionality flags
These are just a subset of the DS_DOMAIN_ functionality flags, are compared and often confused with each other.  Just make them one set.

Andrew Bartlett
2010-06-23 20:10:03 +10:00
Kamen Mazdrashki
efe65cd7b7 s4/dsdb-test: fix usage comment 2010-06-22 04:50:19 +03:00
Matthias Dieter Wallnöfer
91c49c2fb2 s4:ldap.py - test subtree deletes through a new testcase 2010-06-20 18:52:31 +02:00
Matthias Dieter Wallnöfer
ad5e19f29e ldb:controls - add the "TREE_DELETE" control for allowing subtree deletes 2010-06-20 18:52:29 +02:00
Matthias Dieter Wallnöfer
065579b4c6 ldb:ldb.h - add classifications to the control declarations
This makes it easier to understand which standard specifies which control.
2010-06-20 18:52:28 +02:00
Matthias Dieter Wallnöfer
d7ad7eed24 ldb:pyldb.c - introduce a "mem_ctx" also on "py_ldb_search"
To prevent memory leaks
2010-06-20 18:52:27 +02:00
Matthias Dieter Wallnöfer
00bf608481 ldb:pyldb.c - some cleanups and adequations also in "py_ldb_modify" and "py_ldb_rename"
To make them consistent.
2010-06-20 18:52:26 +02:00
Stefan Metzmacher
e812832db3 s4:ldb: only do ABI checking for the standalone build for now
Otherwise we fail to build samba4 with a system ldb.

metze

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-20 17:42:22 +02:00
Jelmer Vernooij
a2540fb3cb ldb: Add ABI file for use when including ildap in the build. 2010-06-20 13:54:51 +02:00
Jelmer Vernooij
9bcd0daba2 ldb: Change LDBSAMBA back to subsystem, update comments, use different
ABI file based on whether ldb_ildap is included.
2010-06-20 11:49:08 +02:00
Jelmer Vernooij
a5e8ef884b Move a few more samdb-specific methods to SamDB, away from Ldb. 2010-06-20 01:37:06 +02:00
Matthieu Patou
3ebe560622 ldb: add a new control bypassioperationnal
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-20 00:43:08 +02:00
Jelmer Vernooij
c92db7b6dc python: Use samba.tests.TestCase, make sure base class tearDown and
setUp methods are called, fix formatting.
2010-06-19 22:46:45 +02:00
Jelmer Vernooij
105ebb3440 acl: Clean up formatting, use samba.tests.TestCase. 2010-06-19 22:46:44 +02:00
Jelmer Vernooij
96f120e234 python/passwords: Clean up imports. 2010-06-19 22:46:44 +02:00
Jelmer Vernooij
2b7b69544c dsdb_schema_info: Clean up imports, avoid using rpc test case for
non-RPC tests.
2010-06-19 22:46:44 +02:00
Matthias Dieter Wallnöfer
131be8da0f s4:instancetype LDB module - "instanceType" is single-valued - MS-ADTS 3.1.1.5.2.2 2010-06-19 19:37:47 +02:00
Matthias Dieter Wallnöfer
e315aceda3 ldb:ldb_dn.c - don't support "ldb_dn_add_child" on a "" parent DN
It's meaningless and could end in DNs as "cn=child,".
2010-06-19 17:53:23 +02:00
Matthias Dieter Wallnöfer
c0538a006d ldb:api.py - add a small test for the enhanced "py_ldb_delete" syntax 2010-06-19 17:53:21 +02:00
Matthias Dieter Wallnöfer
ca34ffaaac ldb:python bindings - some small cleanup & improvements in "py_ldb_add"
Also to make it similar to "py_ldb_delete".
2010-06-19 17:53:21 +02:00
Matthias Dieter Wallnöfer
2aeea4bb4d ldb:python bindings - let also "py_ldb_delete" support controls 2010-06-19 17:53:20 +02:00
Jelmer Vernooij
bd1786f7f1 wafsamba: Fix typo: noextenion -> noextension. 2010-06-19 12:10:29 +02:00
Jelmer Vernooij
380ee5f081 ldb: Remove dependency on self. 2010-06-18 23:51:40 +02:00
Jelmer Vernooij
8e8496208b ldb: Don't build pyldb_util as python module but rather as subsystem, so as to not delute /usr/lib. 2010-06-18 23:51:40 +02:00
Matthias Dieter Wallnöfer
12fdfc9430 s4:ldap.py - add another test about linked attributes
In addition this test makes sure that the bug regarding the search with deleted
linked attributes in the filter has been fixed.
2010-06-16 15:34:42 +02:00
Jelmer Vernooij
a4a127ea5a s4-waf: Fix build of libldb_ildap against system ldb. 2010-06-15 20:52:01 +02:00
Jelmer Vernooij
773e47f4a9 wafsamba: Fix include path inheritance from module subsystems. 2010-06-15 20:35:22 +02:00
Jelmer Vernooij
026fcc6a4f ldb: Bump version number, use same ABI version for Samba4 and non-Samba 4 versions.s 2010-06-15 13:15:51 +02:00
Jelmer Vernooij
fb7a98aa32 ldb: Fix included ldb build. 2010-06-15 13:15:50 +02:00
Jelmer Vernooij
e27ef3dd6d ldb: Only build standard ldb modules when building bundled ldb. 2010-06-15 13:15:50 +02:00
Nadezhda Ivanova
5ad12f70c5 s4:Descriptor tests clean-up.
A bit of refactoring and modified the tests to use encrypted connection so that they pass against Windows unconditionally.
2010-06-14 15:12:00 +03:00
Jelmer Vernooij
08c972504a Support system talloc/tevent headers. 2010-06-13 19:39:20 +02:00
Jelmer Vernooij
51058213cb s4-test: Use smb.conf path set in environment rather than using
command-line options.

This is the first step towards supporting custom test runners.
2010-06-13 18:19:03 +02:00
Nadezhda Ivanova
e3c95940cd Adjusted ACL tests to use encripted connection.
This way we get rid of the conditional if.Samba checks, because users are
successfully created and enabled.
2010-06-11 17:22:21 +03:00
Matthias Dieter Wallnöfer
93fe926842 s4:passwords.py - set the "dSHeuristics"
As per Nadia's request and abartlet's suggestion the test now also sets the
"dSHeuristics" attribute properly to be able to perform the tests also against
Windows without further configuration.

The code has the neat feature that it undoes the change and resets the
behaviour as it was before.
2010-06-11 10:04:50 +02:00
Matthias Dieter Wallnöfer
61976e4fcf s4:passwords.py - use "self" before "enable_account" to make really sure which LDB connection should be used 2010-06-11 10:04:19 +02:00
Matthias Dieter Wallnöfer
315602f845 s4:ldap.py - check how the directory server behaves when the 'distinguishedName' attribute wasn't set correctly
(On add operations the server does completely ignore it and uses the "header"
DN)
2010-06-11 09:19:02 +02:00
Matthias Dieter Wallnöfer
ace9bd6560 s4:ldap.py - check if the "name" of an entry was really ignored 2010-06-11 09:17:08 +02:00
Matthias Dieter Wallnöfer
4d3362776f ldb:ldb_sqlite3 backend - remove a warning which has already been resolved 2010-06-11 08:52:12 +02:00
Matthias Dieter Wallnöfer
155a672567 ldb:ldb_sqlite3 backend - remove checks which are now done elsewhere
(In SAMBA LDB modules)
2010-06-11 08:50:36 +02:00
Matthias Dieter Wallnöfer
bdd83c0639 s4:ldap.py - add testcase which demonstrates the reset of the "primaryGroupID" 2010-06-10 16:22:09 +02:00
Matthias Dieter Wallnöfer
c1b4ccb23b s4:ldap.py - add a test to demonstrate the 'instanceType' behaviour 2010-06-10 16:22:05 +02:00
Matthias Dieter Wallnöfer
99c9e358c5 ldb:pyldb.c - we cannot use "ldb_dn_compare" if both message DNs are NULL in "py_ldb_msg_compare"
Discovered by the testcase.
2010-06-07 21:26:33 +02:00
Matthieu Patou
0c3dfd7a79 s4 python: add more unit tests to verify the compare tests 2010-06-07 21:06:23 +02:00
Matthias Dieter Wallnöfer
1949864417 s4:objectclass_attrs LDB module - move the single-valued attribute check into this module
It seems to me more consistent (and also to keep the same behaviour on all
backends).

Also the DRS hack should therefore not be needed anymore since the
"repl_meta_data" module launches requests behind "objectclass_attrs".
2010-06-07 20:54:10 +02:00
Matthias Dieter Wallnöfer
a75d271373 s4:rdn_name LDB module - move the "distinguishedName" write prevent check here
In my eyes it fits better here than in the TDB backend code.
2010-06-07 20:31:22 +02:00
Matthias Dieter Wallnöfer
aa32725886 s4:ldap.py - add some "objectclass" behaviour tests 2010-06-07 14:47:26 +02:00
Matthias Dieter Wallnöfer
17f465a4ac s4:ldap.py - enhance the attributes testcase to demonstrate how the attributes are checked against the schema and the specified objectclasses
This demonstrates the bew "objectclass_attrs" LDB module behaviour.
2010-06-07 14:47:24 +02:00
Matthias Dieter Wallnöfer
9ab3365fa5 s4:ldap.py - enhance the rename tests to demonstrate the functionality 2010-06-07 14:47:21 +02:00
Matthieu Patou
e2061095b5 s4:ldb python bindings - implement comparison on Python LDB Message objects
Coauthors: Jelmer Vernooij, Matthias Dieter Wallnöfer
2010-06-07 11:58:29 +02:00
Matthias Dieter Wallnöfer
28cb8839b7 ldb:ldb_msg_remove_attr - provide a better implementation
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-06 23:13:00 +02:00
Matthias Dieter Wallnöfer
ae9faaa894 s4:ldap.py - enhance the RDN name test to show that invalid "name" attributes are allowed on add operations 2010-06-06 20:48:24 +02:00