Jeremy Allison [Tue, 24 Nov 2009 05:06:54 +0000 (21:06 -0800)]
Restore NtCreateX case handling with FILE_FLAG_POSIX_SEMANTICS to the way
it worked in 3.3.x and 3.2.x. UCF_POSIX_PATHNAMES may no longer be needed,
as lp_posix_pathnames() being set isn't the same as case handling from
NtCreateX (lp_posix_pathnames() changes the STAT calls to LSTAT, not
the case semantics).
Jeremy.
Brad Hards [Tue, 24 Nov 2009 02:43:59 +0000 (13:43 +1100)]
s4:param remove reference to private header from source4/param/param.h
source4/param/param.h has a
param.h is a public header (and parmlist isn't, even if the relative path
could work), so I suggest making it a forward declaration in the header, and
including parmlist.h in the implementation.
(commit message included from e-mail by Andrew Bartlett) Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Jeremy Allison [Mon, 23 Nov 2009 23:01:34 +0000 (15:01 -0800)]
Proper fix for #6898 - Samba duplicates file content on appending. Pointed out by Volker.Restores the pathname handling for FILE_FLAG_POSIX_SEMANTICS but still prevents the O_APPEND problems. Jeremy.
Michael Adam [Fri, 20 Nov 2009 23:48:40 +0000 (00:48 +0100)]
s3: add dbwrap_torture - a tool to stress test tdb transactions through dbwrap
This can be used to also test tdb transactions on clustered installations
throught ctdb. The test is modeled after the ctdb_transaction.c test program
from the ctdb source code. It runs transactions in a tight loop on a test
database called "transactions.tdb" (by default), increasing a counter in each
iteration. In a clustered environment, a counter is maintained for each node.
Jeremy Allison [Mon, 23 Nov 2009 18:09:47 +0000 (10:09 -0800)]
Fix bug #6898 - Samba duplicates file content on appending
Clients using a Windows open call should not be able to set
FILE_FLAG_POSIX_SEMANTICS in an open.
Jeremy.
Andrew Bartlett [Mon, 23 Nov 2009 09:30:35 +0000 (20:30 +1100)]
s4:dsdb Move module configuration from each ldb into samba_dsdb.c
This makes getting the module order correct, the obligation of Samba4
developers, and not system administrators. In particular, once an ldb
is updated to use only the 'samba_dsdb' module, no further changes to the
ldb should be required when upgrading to later Samba4 versions.
(thanks to metze for the suggestion of samba_dsdb as a long-term
stable name for the module)
Andrew Bartlett [Fri, 20 Nov 2009 01:16:33 +0000 (12:16 +1100)]
s4:provision Simplify the module list
This makes the member server much more like the DC, the objectGUID
module replaces the repl_meta_data module.
We also generally rework the construction of the list, building a full
list in python, and then transforming it into a string, rather than
playing string concatonation games
Kamen Mazdrashki [Sun, 22 Nov 2009 20:21:12 +0000 (22:21 +0200)]
s4/schema(tort): Refactor DSDB-SYNTAX test for better performance
Test was implemented as a test fixture so that setup/teardown
occurs only once.
This should impact test performace as long as provision_get_schema()
is a slow function (especially when debugging)
Kamen Mazdrashki [Sun, 22 Nov 2009 15:48:32 +0000 (17:48 +0200)]
s4/schema: Handle Object(OR-Name) syntax in extended_dn_out module
Windows displays attribute values with Object(OR-Name) syntax
in plain DN format when queried through LDAP.
Hence, we need to post-process such values specially
in extended_dn_out.c module so they are always shown as plain DN,
no matter what controls are passed for search request.
Volker Lendecke [Sun, 15 Nov 2009 21:22:38 +0000 (22:22 +0100)]
s3: Tune if-conditions in a very hot codepath
This looks innocent, but it is visible in a netbench run. Due to boolean
short-circuiting we don't have to execute the conditions on the right-hand side
of the &&. So putting the less likely condition left gains a bit.
Jeremy Allison [Sat, 21 Nov 2009 01:23:20 +0000 (17:23 -0800)]
Fix logic bug where high bits tests was being
done on both Windows and POSIX mkdirs instead of
only on Windows mkdir (as intended). The variable
"file_attributes" had already had FILE_FLAG_POSIX_SEMANTICS
removed above in the function if it had already been set.
Jeremy.
Michael Adam [Fri, 20 Nov 2009 11:44:43 +0000 (12:44 +0100)]
s3:idmap_ldap: trim the " chars from the location string in idmap_ldap_db_init
When idmap backend is specified as
idmap backend = ldap:"ldap://server1 ldap://server2"
then currently "ldap://server1 ldap://server2" was passed to
ldap_initialize including the quotes, leading to an ldap error.
Michael Adam [Fri, 20 Nov 2009 11:38:44 +0000 (12:38 +0100)]
s3:idmap_ldap: trim the " chars from the location string in idmap_ldap_alloc_init
When idmap alloc backend is specified as
idmap alloc backend = ldap:"ldap://server1 ldap://server2"
then currently "ldap://server1 ldap://server2" was passed to
ldap_initialize including the quotes, leading to an ldap error.