1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-24 02:04:21 +03:00

4795 Commits

Author SHA1 Message Date
Nadezhda Ivanova
7c8b34657a Implementation of LDAP_SERVER_SD_FLAGS_OID on modify requests. 2009-11-20 13:25:13 +02:00
Nadezhda Ivanova
a760f169f4 Some changes to allow processing of ldap controls on modify requests.
ldap_backend used to filter out ldap controls on modify. Also, modified
python binding for ldap_modify to allow writing tests for such controls.
2009-11-20 13:22:38 +02:00
Andrew Tridgell
51a59e8f9e s4-ldb: added a warning about ldb_msg_add_dn
ldb_msg_add_dn does not copy the dn linearized string
2009-11-20 14:41:27 +11:00
Crístian Deives
1169dd3b50 added new function "ldb_msg_add_dn"
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-20 14:39:01 +11:00
Matthias Dieter Wallnöfer
a2707a3248 ldb:ldb_tdb backend/indexes - Outside API
- The outside API contains "DN" string arguments: Bad. Since in this way we
  fully rely on the outside calls regarding the right DN format. Solution: Use
  always a "struct ldb_dn" entry. Since this one is interchangeable and we can
  handle it in our preferred way.
2009-11-20 12:30:44 +11:00
Matthias Dieter Wallnöfer
afb70f9176 ldb:ldb_tdb backend/indexes - DN comparison
- DN comparison: The function doesn't seem that efficient. I "upgraded" it a bit
  to be more powerful (added a second length check and do both before the string
  comparison)
2009-11-20 12:26:37 +11:00
Andrew Tridgell
47923ea507 s4-ldb: added a double-rename test
This tests the fix for double rename/add and indexing
2009-11-20 12:23:46 +11:00
Andrew Tridgell
c99b310063 s4-ldb: when -v is specified, show progress of ldbadd/ldbmodify
This is useful for speed tests with large numbers of records.
2009-11-20 11:34:39 +11:00
Andrew Tridgell
79a43fb743 s4-ldb: make ldb tools line buffered
this prevents output being buffered when redirected to a file. Useful
for larger ldb command line operations
2009-11-20 11:34:39 +11:00
Andrew Tridgell
3b96d08b29 s4-ldb: fixed an issue in rename/modify indexing
When we rename or modify a record, we need to update the indexes at
the same time. It is important that we use the DN of the actual
message that is stored in the database to do this, not the DN that was
passed in by the user. If the two differ in case then the index
records needs to use the 'real' record DN, as index handling is
currently case sensitive.
2009-11-20 11:34:39 +11:00
Andrew Tridgell
2e46df492c s4-ldb: allow ldap.py test suite to run directly against a file
This makes it much easier to debug (as you can break in the ldb
modules by running gdb on /usr/bin/python)
2009-11-20 11:34:38 +11:00
Nadezhda Ivanova
6178c17e09 Added control copying for message types other than ldb_search.
When ildap created a new message to forward, it only copied controls for ldb_search
requests. This caused controls for add and modify to be lost in transition
and tests for them could not be implemented.
2009-11-18 18:47:29 +02:00
Endi S. Dewata
8e5f5e3f05 s4:provision - Removed dependency on full Samba 3 schema from FDS 2009-11-16 07:57:40 +11:00
Wilco Baan Hofman
df3451aec0 Fix writing corrupt registries because of hardcoded version string in IDL.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-11-15 19:26:51 +01:00
Wilco Baan Hofman
5a7d48f82b Fix writing corrupt REG_SZ to the registry.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-11-15 19:26:50 +01:00
Wilco Baan Hofman
45bb24e939 Fix trailing garbage in the hbin block.
This specifically fixes a problem showing extra bytes of garbage in list and
print in regshell, even though the vk.data_length has the correct size.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-11-15 19:26:50 +01:00
Zahari Zahariev
1e984e6630 Added tests for descriptor inheritance on ldap modify.
Fixed some expected owners and groups.

Signed-off-by: Nadezhda Ivanova <nadezhda.ivanova@postpath.com>
2009-11-15 19:26:02 +02:00
Matthias Dieter Wallnöfer
cc080742bd ldb:python bindings - add a context on "py_ldb_delete"
So the converted DN will be freed after usage.
2009-11-15 14:26:41 +01:00
Matthias Dieter Wallnöfer
6cf43db7fc s4:ldap.py - enhance schema addition test
Don't add only a new objectclass but also a new attribute. Plus let now the
server itself calculate the "lDAPDisplayName" attribute and compare the result.
2009-11-15 14:26:41 +01:00
Matthias Dieter Wallnöfer
8e320aea71 s4:ldap.py - Deactivates some at the moment pointless test parts
I think those parts should be deactivated since they're result set checks for
lookups which are commented out already.
2009-11-15 10:38:30 +01:00
Andrew Tridgell
dbae29de1c s4-ldb: make DN escaping/unescaping consistent
The DN escape function was using the form \c where c is any
character. The unescape function was using \XX where XX is a 2 digit
hex number. The asymmetry led to quite a few problems when we start to
deal with DNs containing escape chars, such as CN=foo\0ADEL:XXX. The
result was a DN that was not accessible.

This patch changes the escaping to follow RFC2253 much more
closely. We accept either type of escape, and produce the two types of
escape, depending on the character being escaped
2009-11-13 19:32:46 +11:00
Andrew Bartlett
ae72153daa s4:ldb Allow ldb_msg_canonicalize to handle empty elements
(These are deliberately there in DRS replication).

Andrew Bartlett
2009-11-12 16:34:15 +11:00
Andrew Bartlett
5940ca60e2 s4:ldb Don't segfault if we somehow get an unknown extended dn element 2009-11-12 16:34:14 +11:00
Andrew Bartlett
716bba5457 s4:ldb Change ldb_request_add_control to the normal 'for loop' pattern 2009-11-12 16:34:14 +11:00
Andrew Bartlett
d6d0c23d49 s4:ldb Add Well Known GUID (WKGUID) tests to ldap.py 2009-11-12 16:34:06 +11:00
Andrew Bartlett
f5890ddd83 s4:ldb Remove DN+Binary code from the core ldb_dn
This is now in dsdb_dn.  Removing this to a specific wrapper avoids a
number of bugs where Binary DNs were being handled incorrectly.

This reverts much of tridge's commit
fd22e0304782e20b9bbb29464b6c745d409ff4c6

Andrew Bartlett
2009-11-12 16:34:05 +11:00
Andrew Bartlett
f0d43e9e56 s4:dsdb Use new dsdb_dn code in LDB modules and Samba4 schema
This converts the code from using the binary DN code in ldb_dn to
using a special Samba-specfic wrapper around ldb_dn.

We also use the dsdb_dn code for DN+Binary and DN+String comparisons
(changed from treating them as Binary blobs)

Andrew Bartlett
2009-11-12 16:34:04 +11:00
Andrew Bartlett
973197cd9d s4:ldb-samba Use new ldb_any_comparison helper function in ldb-samba 2009-11-12 16:34:04 +11:00
Andrew Bartlett
3abc3e7a3a s4:ldb Add a helper function for 'canonicalise' both strings base compares
This will help simplify boilerplate comparison functions where we
don't have a shortcut way to compare.

Andrew Bartlett
2009-11-12 16:34:02 +11:00
Andrew Bartlett
fd5174e88c lib/util Split data_blob_hex_string() into upper and lower
Rather than have a repeat of the bugs we found at the plugfest where
hexidecimal strings must be in upper or lower case in particular
places, ensure that each caller chooses which case they want.

This reverts most of the callers back to upper case, as things were
before tridge's patch.  The critical call in the extended DN code is
of course handled in lower case.

Andrew Bartlett
2009-11-12 16:34:01 +11:00
Nadezhda Ivanova
cee83ac34a Fixes for some tests not eorking against Windows or Samba. 2009-11-10 15:58:52 +02:00
Andrew Tridgell
932cda330a s4-samdb: remove the rDN size constraint of 64
This size constraint is not correct in it's current form, as windows
does send us rDN values for CN with lengths longer than 64. Once we
know how this constraint really works we can add it back in.
2009-11-09 22:19:52 +11:00
Matthias Dieter Wallnöfer
f6eacfcf1d s4:lib/messaging - fix up the python bindings
This fixes up the broken "send" method of the python bindings and corrects some
other parameter lists in parsing functions (this is only cosmetic). The reason
for the bug was a superfluous "|"!
2009-11-07 18:02:05 +01:00
Matthias Dieter Wallnöfer
843be3bcd9 ldb_init: use constant for result of "ldb_setup_wellknown_attributes" 2009-11-07 10:18:26 +01:00
Kamen Mazdrashki
716eb62b5d s4/ldb: Fix double allocation for "ldb_url"
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-11-06 14:05:36 +01:00
Zahari Zahariev
5fb9d06607 Python tests for the acl module.
Signed-off-by: Nadezhda Ivanova <nadezhda.ivanova@postpath.com>

Author:    Zahari Zahariev <zahari.zahariev@postpath.com>
2009-11-05 17:40:54 +02:00
Endi S. Dewata
bf01937549 s4:dsdb - Store SID as string in FDS. 2009-11-02 16:36:54 +11:00
Andrew Bartlett
f1f1bdada6 s4:ldb Remove debug traces duplicated by the new generic trace code 2009-11-02 16:36:51 +11:00
Matthias Dieter Wallnöfer
90862a55fd ldb:tdb backend - be also here more careful with the result value
"msg_delete_attribute" doesn't return an LDB result constant.
2009-10-27 19:42:12 +01:00
Matthias Dieter Wallnöfer
4c79fbfbe5 ldb:python bindings - make the intention by Jelmer ("int" vs. "enum") more clear 2009-10-27 19:11:15 +01:00
Matthias Dieter Wallnöfer
aa46400cb2 Revert "ldb python bindungs - better use the "enum ldb_scope" for the search scope rather than "int""
This reverts commit 4f8826ff7f4789c5b5f363b733a42053f72aa526.

Jelmer pointed out that the "enum"s don't work so well in combination with python.
2009-10-27 19:07:53 +01:00
Andrew Tridgell
798b05a974 s4-dsdb: call dsdb_make_schema_global() from ldb_wrap
Calling it from samdb_connect() can cause a stale schema to be put
into the global schema.

Thanks to Andrew Bartlett for spotting this.
2009-10-27 20:30:53 +11:00
Andrew Tridgell
6afac82e4b s4-ldb: '+' can also happen in base64 encoded index DNs 2009-10-27 11:44:05 +11:00
Andrew Bartlett
8ae0abc65f s4:ldb Add detail to failures in the indexing code 2009-10-27 11:32:21 +11:00
Andrew Bartlett
3c6c230b2d s4:ldb Add additional tracing of the ldb API
This helps pin down where errors occour, by printing a call stack and
setting error strings and trace messages in the transaction case.

Andrew Bartlett
2009-10-27 11:32:14 +11:00
Andrew Tridgell
98a3725252 Merge branch 'master' of ssh://git.samba.org/data/git/samba 2009-10-25 23:14:56 +11:00
Andrew Tridgell
12c9af7817 s4-ldb: allow for unescaped '=' in a index DN
The ldb_dn_explode code normally enforces all special characters,
including a '=', must be escaped. Unfortunately this conflicts with
the ltdb index DNs, which for binary attributes may be base64
encoded. This allows a unescaped '=' as a special case for index DNs.
2009-10-25 22:02:31 +11:00
Matthias Dieter Wallnöfer
1ea460b0b0 ldb:backend "connect" functions - convert result values to LDB constants
I think this is better since "ldb_backend_connect" and "ldb_connect" which
propagate those values should return only LDB constants. Therefore a conversion
(especially for "-1") would be needed.
2009-10-25 11:24:54 +01:00
Andrew Tridgell
b55a5adab9 s4-ldb: ensure DNs pass validity tests in indexing 2009-10-25 13:15:18 +11:00
Andrew Tridgell
2eca02a408 s4-ldb: fixed string length handling on index records 2009-10-25 13:15:18 +11:00