The branch, master has been updated
via 969d043 s4: torture: Test mkdir race condition.
via b1c823d s3: smbd: Fix mkdir race condition.
via ce62124 docs: Fix references to async smb echo handler in smb.conf
manpage
from dec34db s4:torture: add a test for 0 byte sized streams
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -
commit 969d043596c0a382325d54d16dbd5e049f884fa9
Author: Jeremy Allison
Date: Tue Sep 22 18:01:22 2015 -0700
s4: torture: Test mkdir race condition.
Found by Max of LoadDynamix
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11486
Signed-off-by: Jeremy Allison
Reviewed-by: Volker Lendecke
Autobuild-User(master): Volker Lendecke
Autobuild-Date(master): Thu Sep 24 06:13:22 CEST 2015 on sn-devel-104
commit b1c823dc8c2824ec89921601d8e5e95f6d18fca8
Author: Jeremy Allison
Date: Tue Sep 22 18:02:53 2015 -0700
s3: smbd: Fix mkdir race condition.
Found by Max of LoadDynamix
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11486
Signed-off-by: Jeremy Allison
Reviewed-by: Volker Lendecke
commit ce62124c6196f82dd543223bd646703479e5f328
Author: Christof Schmitt
Date: Wed Sep 23 10:41:06 2015 -0700
docs: Fix references to async smb echo handler in smb.conf manpage
Signed-off-by: Christof Schmitt
Reviewed-by: Volker Lendecke
---
Summary of changes:
docs-xml/smbdotconf/protocol/readraw.xml | 4 +-
docs-xml/smbdotconf/protocol/writeraw.xml | 4 +-
selftest/knownfail| 1 +
source3/smbd/open.c | 19
source4/torture/smb2/create.c | 151 ++
5 files changed, 175 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/smbdotconf/protocol/readraw.xml
b/docs-xml/smbdotconf/protocol/readraw.xml
index 3b7c6c4..a467f52 100644
--- a/docs-xml/smbdotconf/protocol/readraw.xml
+++ b/docs-xml/smbdotconf/protocol/readraw.xml
@@ -3,7 +3,7 @@
type="boolean"
xmlns:samba="http://www.samba.org/samba/DTD/samba-doc;>
-This is ignored if is set,
+This is ignored if is
set,
because this feature is incompatible with raw read SMB requests
If enabled, raw reads allow reads of 65535 bytes in
@@ -21,5 +21,5 @@
yes
write raw
-async echo handler
+async smb echo handler
diff --git a/docs-xml/smbdotconf/protocol/writeraw.xml
b/docs-xml/smbdotconf/protocol/writeraw.xml
index f6ad7ba..9a3d11f 100644
--- a/docs-xml/smbdotconf/protocol/writeraw.xml
+++ b/docs-xml/smbdotconf/protocol/writeraw.xml
@@ -3,7 +3,7 @@
type="boolean"
xmlns:samba="http://www.samba.org/samba/DTD/samba-doc;>
-This is ignored if is
set,
+This is ignored if is
set,
because this feature is incompatible with raw write SMB requests
If enabled, raw writes allow writes of 65535 bytes in
@@ -21,5 +21,5 @@
yes
read raw
-async echo handler
+async smb echo handler
diff --git a/selftest/knownfail b/selftest/knownfail
index 447544e..bf73176 100644
--- a/selftest/knownfail
+++ b/selftest/knownfail
@@ -143,6 +143,7 @@
^samba4.raw.acls.*.create_file
^samba4.smb2.create.*.acldir
^samba4.smb2.create.*.impersonation
+^samba4.smb2.create.*.mkdir-dup # bug 11486
^samba4.smb2.acls.*.generic
^samba4.smb2.acls.*.inheritflags
^samba4.smb2.acls.*.owner
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 809fa35..162e834 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -3488,6 +3488,25 @@ static NTSTATUS open_directory(connection_struct *conn,
nt_errstr(status)));
return status;
}
+
+ /*
+* If mkdir_internal() returned
+* NT_STATUS_OBJECT_NAME_COLLISION
+* we still must lstat the path.
+*/
+
+ if (SMB_VFS_LSTAT(conn, smb_dname)
+ == -1) {
+ DEBUG(2, ("Could not stat "
+ "directory '%s' just "
+ "opened: %s\n",
+ smb_fname_str_dbg(
+