]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tests: Test invalid smb3 unix negotiate contexts
authorVolker Lendecke <vl@samba.org>
Fri, 26 Aug 2022 14:29:32 +0000 (16:29 +0200)
committerRalph Boehme <slow@samba.org>
Fri, 2 Sep 2022 13:31:38 +0000 (13:31 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
python/samba/tests/smb3unix.py

index d45b77a7c26007016f662446d1a56fec0fe39f38..04c451b251d266fb09e56c76e58ee8139bcff12e 100644 (file)
@@ -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()