CVE-2022-37966 python:/tests/krb5: call sys.path.insert(0, "bin/python") before any...
authorStefan Metzmacher <metze@samba.org>
Tue, 29 Nov 2022 13:14:32 +0000 (14:14 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 14 Dec 2022 12:40:42 +0000 (12:40 +0000)
This allows the tests to be executed without an explicit
PYTHONPATH="bin/python".

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15237

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Dec 13 14:06:14 UTC 2022 on sn-devel-184

(similar to commit 987cba90573f955fe9c781830daec85ad4d5bf92)

Autobuild-User(v4-17-test): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(v4-17-test): Wed Dec 14 12:40:42 UTC 2022 on sn-devel-184

20 files changed:
python/samba/tests/krb5/alias_tests.py
python/samba/tests/krb5/as_canonicalization_tests.py
python/samba/tests/krb5/etype_tests.py
python/samba/tests/krb5/fast_tests.py
python/samba/tests/krb5/kdc_base_test.py
python/samba/tests/krb5/kpasswd_tests.py
python/samba/tests/krb5/lockout_tests.py
python/samba/tests/krb5/nt_hash_tests.py
python/samba/tests/krb5/pac_align_tests.py
python/samba/tests/krb5/protected_users_tests.py
python/samba/tests/krb5/rodc_tests.py
python/samba/tests/krb5/s4u_tests.py
python/samba/tests/krb5/salt_tests.py
python/samba/tests/krb5/spn_tests.py
python/samba/tests/krb5/test_ccache.py
python/samba/tests/krb5/test_idmap_nss.py
python/samba/tests/krb5/test_ldap.py
python/samba/tests/krb5/test_min_domain_uid.py
python/samba/tests/krb5/test_rpc.py
python/samba/tests/krb5/test_smb.py

index 1f63775c189ce7ac3e806b102c12dca682c9fe48..3ddfe4ecc75366c6545d632f7da65e12c04b4605 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
+
 import ldb
 
 from samba.tests import delete_force
@@ -32,9 +35,6 @@ from samba.tests.krb5.rfc4120_constants import (
     NT_PRINCIPAL,
 )
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index 700a03622e1d129ef23213418798501effa5e0f6..22ea14d3575257c83ca9d0ef34a6c945e86aa23a 100755 (executable)
 
 import sys
 import os
-from enum import Enum, unique
-import pyasn1
 
 sys.path.insert(0, "bin/python")
 os.environ["PYTHONUNBUFFERED"] = "1"
 
+from enum import Enum, unique
+import pyasn1
+
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 import samba.tests.krb5.rfc4120_pyasn1 as krb5_asn1
 from samba.credentials import DONT_USE_KERBEROS
index 9725d544c2ac5ac4a983a3f51da13d5ca6c809ad..46ccc70f07df2b1620503a3893d059e2ab3faefb 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import itertools
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
+import itertools
+
 from samba.dcerpc import security
 
 from samba.tests import DynamicTestCase
@@ -34,8 +38,6 @@ from samba.tests.krb5.rfc4120_constants import (
 )
 import samba.tests.krb5.rfc4120_pyasn1 as krb5_asn1
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
 
 global_asn1_print = False
 global_hexdump = False
index 7e69d6c83df5f33401f931e691f662f7799b9f0f..52c0aa1d84af23e78908a526aa62496c6aca0983 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import functools
-import os
 import sys
+import os
+
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
+import functools
 import collections
 
 import ldb
@@ -58,9 +62,6 @@ from samba.tests.krb5.rfc4120_constants import (
 import samba.tests.krb5.rfc4120_pyasn1 as krb5_asn1
 import samba.tests.krb5.kcrypto as kcrypto
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 46271a90bcf452877e2cade51d9f11a861cc6d17..127de665fd57ec33684f5fda07a67c0697bce34e 100644 (file)
 
 import sys
 import os
+
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 from datetime import datetime, timezone
 import tempfile
 import binascii
@@ -95,9 +99,6 @@ from samba.tests.krb5.rfc4120_constants import (
     PADATA_ETYPE_INFO2,
 )
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 0db857f7bbd1d3d3dad9ee2d94a76d952568c145..014bd10aebd0f75da89575fd0b0b73b780cacb5d 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import os
 import sys
+import os
+
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
 
 from functools import partial
 
@@ -41,9 +44,6 @@ from samba.tests.krb5.rfc4120_constants import (
     NT_SRV_INST,
 )
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index e49e82a4bd5fc86ca87d95df86a556e50e9a0fa6..1e3330b0a42b0080b170f87ec7bd3edce402f5f4 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+import sys
+import os
+
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
+
 from concurrent import futures
 from enum import Enum
 from functools import partial
 from multiprocessing import Pipe
-import os
-import sys
 import time
 
 from cryptography.hazmat.backends import default_backend
@@ -66,9 +70,6 @@ from samba.tests.krb5.rfc4120_constants import (
     NT_SRV_INST,
 )
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index e64a874b080097408078793f429033c44fe12dc4..f2cd14887f85ad4a209ca48e04cb895976d147b7 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import os
 import sys
+import os
+
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
 
 import ldb
 
@@ -26,9 +29,6 @@ from samba.dcerpc import drsuapi, misc
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index ff8b608dde14de90aee9df405f759666b2ed52a1..ae6359648e921ad2c2f7137be751b66ea652fd26 100755 (executable)
 import sys
 import os
 
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
+
 from samba.dcerpc import krb5pac
 from samba.ndr import ndr_unpack
 from samba.tests import DynamicTestCase
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index 02d7356bb7dcf32d0ee0570728911e8838bb8da0..1c899a15a5ff751170e5ccc0a16fdbc6765ea7c4 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import os
 import sys
+import os
+
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
 
 from functools import partial
 
@@ -47,9 +50,6 @@ from samba.tests.krb5.rfc4120_constants import (
 )
 import samba.tests.krb5.rfc4120_pyasn1 as krb5_asn1
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index 3e0e2a7712e6f3ab9cb10d6dc060fdcb5ad3ecc3..71ef603f49a6730db0d5a9a4fa90876b58086f9e 100755 (executable)
 import sys
 import os
 
-from samba.tests.krb5.kdc_base_test import KDCBaseTest
-
 sys.path.insert(0, "bin/python")
 os.environ["PYTHONUNBUFFERED"] = "1"
 
+from samba.tests.krb5.kdc_base_test import KDCBaseTest
+
 global_asn1_print = False
 global_hexdump = False
 
index 97d07682ffe33655b1ad73c47542694915730784..5b7aee8020d5a5129d80d33fbc9bab9578ecb412 100755 (executable)
 
 import sys
 import os
-import functools
 
 sys.path.insert(0, "bin/python")
 os.environ["PYTHONUNBUFFERED"] = "1"
 
+import functools
+
 from samba import dsdb, ntstatus
 from samba.dcerpc import krb5pac, lsa, security
 
index db777f8b7bc07c3c5ef08f293211279e3a52a975..b9e82f984b3a67f4761acd0ba46fccf85b2f3d9f 100755 (executable)
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import ldb
 
 from samba.tests.krb5.as_req_tests import AsReqBaseTest
 import samba.tests.krb5.kcrypto as kcrypto
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 62d2ea081bca3deaba6548d2d558237be5e8392f..f4f20bea4f2f1f8834ac27af94867d2b165496ec 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import os
 import sys
+import os
+
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
 
 from samba.tests import DynamicTestCase
 
@@ -33,9 +36,6 @@ from samba.tests.krb5.rfc4120_constants import (
     NT_PRINCIPAL,
 )
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 75038ea5cc15217058f048ea0fb9091edf53e7e0..6413bfa211505e6a00e122267fd20bc488f221ae 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import ldb
 
 from ldb import SCOPE_SUBTREE
@@ -31,9 +34,6 @@ from samba.ntstatus import NT_STATUS_NO_IMPERSONATION_TOKEN
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index d3480dbca3f719ba77dc18375da5bc7f01615d35..1ee020122b95141e69ba6355ca604ec50ec05194 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, 'bin/python')
+os.environ['PYTHONUNBUFFERED'] = '1'
+
 from ldb import SCOPE_SUBTREE
 from samba import NTSTATUSError
 from samba.credentials import DONT_USE_KERBEROS
@@ -34,9 +37,6 @@ from samba.samba3 import param as s3param
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, 'bin/python')
-os.environ['PYTHONUNBUFFERED'] = '1'
-
 global_asn1_print = False
 global_hexdump = False
 
index c1375730e6fbd07af46ac5d47c21f26239ccfed2..eaf79e7fa01d692d4238e8d31b8049d0bbe562d7 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import ldb
 
 from ldb import LdbError, ERR_OPERATIONS_ERROR, SCOPE_BASE, SCOPE_SUBTREE
@@ -30,9 +33,6 @@ from samba import credentials
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 77414b239f08f8dbca0357e78f90d03ad23f5ca9..7c7942c6cbeeede64ef183ce0b2e8cb8773e45f4 100755 (executable)
 
 import sys
 import os
+
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import pwd
 import ctypes
 
@@ -29,9 +33,6 @@ from samba import NTSTATUSError, ntstatus
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 from samba.credentials import MUST_USE_KERBEROS, DONT_USE_KERBEROS
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 class SmbMinDomainUid(KDCBaseTest):
     """Test for SMB authorization without NSS winbind. In such setup domain
        accounts are mapped to local accounts using the 'username map' option.
index 5a3c7339ceaa65b5a6caccba4d2ff2a342355d5d..6faf2a060632e384ffe9a0dbe1764b6d0d513cb5 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import ldb
 
 from samba import NTSTATUSError, credentials
@@ -31,9 +34,6 @@ from samba.ntstatus import (
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False
 
index 47e9e48c971d1fcce5f96219340d8b70d6bad454..f0a82a432291dc3df00632221fa16846d72c7573 100755 (executable)
@@ -20,6 +20,9 @@
 import sys
 import os
 
+sys.path.insert(0, "bin/python")
+os.environ["PYTHONUNBUFFERED"] = "1"
+
 import ldb
 
 from ldb import SCOPE_SUBTREE
@@ -32,9 +35,6 @@ from samba.samba3 import param as s3param
 
 from samba.tests.krb5.kdc_base_test import KDCBaseTest
 
-sys.path.insert(0, "bin/python")
-os.environ["PYTHONUNBUFFERED"] = "1"
-
 global_asn1_print = False
 global_hexdump = False