From: Volker Lendecke Date: Fri, 26 Aug 2022 14:29:32 +0000 (+0200) Subject: tests: Test invalid smb3 unix negotiate contexts X-Git-Tag: talloc-2.4.0~1221 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=51f99b7f191b18c4aabc632e4e32bfa8fc8a3ee7;p=thirdparty%2Fsamba.git tests: Test invalid smb3 unix negotiate contexts Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/python/samba/tests/smb3unix.py b/python/samba/tests/smb3unix.py index d45b77a7c26..04c451b251d 100644 --- a/python/samba/tests/smb3unix.py +++ b/python/samba/tests/smb3unix.py @@ -17,7 +17,7 @@ from samba.samba3 import libsmb_samba_internal as libsmb from samba.samba3 import param as s3param -from samba import (credentials,NTSTATUSError) +from samba import (credentials,NTSTATUSError,ntstatus) import samba.tests import os @@ -68,3 +68,36 @@ class Smb3UnixTests(samba.tests.TestCase): self.creds, posix=True) self.assertFalse(c.have_posix()) + + def test_negotiate_context_posix_invalid_length(self): + try: + self.enable_smb3unix() + + with self.assertRaises(NTSTATUSError) as cm: + c = libsmb.Conn( + os.getenv("SERVER_IP"), + "tmp", + self.lp, + self.creds, + negotiate_contexts=[(0x100, b'01234')]) + + e = cm.exception + self.assertEqual(e.args[0], ntstatus.NT_STATUS_INVALID_PARAMETER) + + finally: + self.disable_smb3unix() + + def test_negotiate_context_posix_invalid_blob(self): + try: + self.enable_smb3unix() + + c = libsmb.Conn( + os.getenv("SERVER_IP"), + "tmp", + self.lp, + self.creds, + negotiate_contexts=[(0x100, b'0123456789012345')]) + self.assertFalse(c.have_posix()) + + finally: + self.disable_smb3unix()