From 51f99b7f191b18c4aabc632e4e32bfa8fc8a3ee7 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 26 Aug 2022 16:29:32 +0200 Subject: [PATCH] tests: Test invalid smb3 unix negotiate contexts Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- python/samba/tests/smb3unix.py | 35 +++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) 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() -- 2.47.3