The Samba-Bugzilla – Attachment 17774 Details for
Bug 15313
large directory optimization broken for non-lcomp path elements
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Patch for 4.18
bug-15313-4.18.txt (text/plain), 4.93 KB, created by
Volker Lendecke
on 2023-02-24 09:02:29 UTC
(
hide
)
Description:
Patch for 4.18
Filename:
MIME Type:
Creator:
Volker Lendecke
Created:
2023-02-24 09:02:29 UTC
Size:
4.93 KB
patch
obsolete
>From a2e4b58e3183992a8a1492104ca580731458f9be Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Fri, 17 Feb 2023 15:40:30 +0100 >Subject: [PATCH 1/3] tests: Move libsmb-basic to fileserver_smb1 environment > >This has the lower-case share, used in the next commit > >Bug: https://bugzilla.samba.org/show_bug.cgi?id=15313 >Signed-off-by: Volker Lendecke <vl@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> >(cherry picked from commit a9301d8f2956409a6d36e7776d0237d03bfbdbf6) >--- > selftest/target/Samba3.pm | 1 + > source4/selftest/tests.py | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > >diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm >index 6f93694f1b3..fd1d6873ae3 100755 >--- a/selftest/target/Samba3.pm >+++ b/selftest/target/Samba3.pm >@@ -2106,6 +2106,7 @@ sub setup_fileserver_smb1 > [global] > client min protocol = CORE > server min protocol = LANMAN1 >+ check parent directory delete on close = yes > > [hidenewfiles] > path = $prefix_abs/share >diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py >index 774b874edbd..5e88cb54d3c 100755 >--- a/source4/selftest/tests.py >+++ b/source4/selftest/tests.py >@@ -532,7 +532,7 @@ for t in smbtorture4_testsuites("dlz_bind9."): > # The dlz_bind9 tests needs to look at the DNS database > plansmbtorture4testsuite(t, "chgdcpass:local", ["ncalrpc:$SERVER", '-U$USERNAME%$PASSWORD']) > >-planpythontestsuite("nt4_dc_smb1", "samba.tests.libsmb-basic") >+planpythontestsuite("fileserver_smb1", "samba.tests.libsmb-basic") > > planpythontestsuite("ad_member", "samba.tests.smb-notify", > environ={'USERNAME':'$DC_USERNAME', >-- >2.30.2 > > >From 71858c3f06193ee6fbdce41935c4b1fd521d29ee Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Fri, 17 Feb 2023 15:41:12 +0100 >Subject: [PATCH 2/3] tests: Show that the case sensitive large dir > optimization is broken > >We don't normalize the directories > >Bug: https://bugzilla.samba.org/show_bug.cgi?id=15313 >Signed-off-by: Volker Lendecke <vl@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> >(cherry picked from commit 342d8f6a0a8bc2229332783a840c882f85a1dd4e) >--- > python/samba/tests/libsmb-basic.py | 9 +++++++++ > selftest/knownfail.d/dircasesensitive | 1 + > 2 files changed, 10 insertions(+) > create mode 100644 selftest/knownfail.d/dircasesensitive > >diff --git a/python/samba/tests/libsmb-basic.py b/python/samba/tests/libsmb-basic.py >index 61a25a8c682..37b82b26dac 100644 >--- a/python/samba/tests/libsmb-basic.py >+++ b/python/samba/tests/libsmb-basic.py >@@ -193,6 +193,15 @@ class LibsmbTestCase(samba.tests.libsmb.LibsmbTests): > finally: > c.deltree(testdir) > >+ def test_libsmb_TortureDirCaseSensitive(self): >+ c = libsmb.Conn(self.server_ip, "lowercase", self.lp, self.creds) >+ c.mkdir("subdir") >+ c.mkdir("subdir/b") >+ ret = c.chkpath("SubDir/b") >+ c.rmdir("subdir/b") >+ c.rmdir("subdir") >+ self.assertTrue(ret) >+ > if __name__ == "__main__": > import unittest > unittest.main() >diff --git a/selftest/knownfail.d/dircasesensitive b/selftest/knownfail.d/dircasesensitive >new file mode 100644 >index 00000000000..d2eae416772 >--- /dev/null >+++ b/selftest/knownfail.d/dircasesensitive >@@ -0,0 +1 @@ >+^samba.tests.libsmb-basic.samba.tests.libsmb-basic.LibsmbTestCase.test_libsmb_TortureDirCaseSensitive.* >-- >2.30.2 > > >From ee9ff24225211216a6d43b60b9c22a263ac7e667 Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Fri, 17 Feb 2023 10:02:37 +0100 >Subject: [PATCH 3/3] smbd: Fix case normalization in for directories > >Bug: https://bugzilla.samba.org/show_bug.cgi?id=15313 >Signed-off-by: Volker Lendecke <vl@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> > >Autobuild-User(master): Volker Lendecke <vl@samba.org> >Autobuild-Date(master): Fri Feb 24 08:46:14 UTC 2023 on atb-devel-224 > >(cherry picked from commit bf9130d375b6c401bb79fc1a0911975814759e3b) >--- > selftest/knownfail.d/dircasesensitive | 1 - > source3/smbd/filename.c | 8 ++++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > delete mode 100644 selftest/knownfail.d/dircasesensitive > >diff --git a/selftest/knownfail.d/dircasesensitive b/selftest/knownfail.d/dircasesensitive >deleted file mode 100644 >index d2eae416772..00000000000 >--- a/selftest/knownfail.d/dircasesensitive >+++ /dev/null >@@ -1 +0,0 @@ >-^samba.tests.libsmb-basic.samba.tests.libsmb-basic.LibsmbTestCase.test_libsmb_TortureDirCaseSensitive.* >diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c >index 73e88add2c3..e9775387d11 100644 >--- a/source3/smbd/filename.c >+++ b/source3/smbd/filename.c >@@ -1123,6 +1123,14 @@ static NTSTATUS filename_convert_dirfsp_nosymlink( > char *substitute = NULL; > size_t unparsed = 0; > >+ status = normalize_filename_case(conn, dirname, ucf_flags); >+ if (!NT_STATUS_IS_OK(status)) { >+ DBG_ERR("normalize_filename_case %s failed: %s\n", >+ dirname, >+ nt_errstr(status)); >+ goto fail; >+ } >+ > status = openat_pathref_dirfsp_nosymlink( > mem_ctx, > conn, >-- >2.30.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
slow
:
review+
Actions:
View
Attachments on
bug 15313
: 17774 |
17775