From: Volker Lendecke Date: Wed, 20 Sep 2023 17:53:52 +0000 (-0700) Subject: tests: Add reproducer for BZ15481 X-Git-Tag: samba-4.18.7~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7de498a38d93411cb4810456b6bd42e9a5ead4ce;p=thirdparty%2Fsamba.git tests: Add reproducer for BZ15481 Bug: https://bugzilla.samba.org/show_bug.cgi?id=15481 Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison (cherry picked from commit 56df75d44795582dcecb8676a0d80d6f4a46c7e9) --- diff --git a/python/samba/tests/libsmb-basic.py b/python/samba/tests/libsmb-basic.py index cbe7cce5bae..163c5b09ea9 100644 --- a/python/samba/tests/libsmb-basic.py +++ b/python/samba/tests/libsmb-basic.py @@ -215,6 +215,33 @@ class LibsmbTestCase(samba.tests.libsmb.LibsmbTests): c1.unlink("x") c1 = None + def test_gencache_pollution_bz15481(self): + c = libsmb.Conn(self.server_ip, "tmp", self.lp, self.creds) + fh = c.create("file", + DesiredAccess=security.SEC_STD_DELETE, + CreateDisposition=libsmb.FILE_CREATE) + + # prime the gencache File->file + fh_upper = c.create("File", + DesiredAccess=security.SEC_FILE_READ_ATTRIBUTE, + CreateDisposition=libsmb.FILE_OPEN) + c.close(fh_upper) + + c.delete_on_close(fh, 1) + c.close(fh) + + fh = c.create("File", + DesiredAccess=security.SEC_STD_DELETE, + CreateDisposition=libsmb.FILE_CREATE) + + directory = c.list("\\", "File") + + c.delete_on_close(fh, 1) + c.close(fh) + + # Without the bugfix for 15481 we get 'file' not 'File' + self.assertEqual(directory[0]['name'], 'File') + if __name__ == "__main__": import unittest unittest.main() diff --git a/selftest/knownfail.d/bug-15481 b/selftest/knownfail.d/bug-15481 new file mode 100644 index 00000000000..e4ca91c8d67 --- /dev/null +++ b/selftest/knownfail.d/bug-15481 @@ -0,0 +1 @@ +^samba.tests.libsmb-basic.samba.tests.libsmb-basic.LibsmbTestCase.test_gencache_pollution_bz15481