summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2021-10-08 15:40:09 +1300
committerJule Anger <janger@samba.org>2021-11-09 19:45:32 +0000
commit43df8d0b2ea539f031ff0226dbd78470b9c4f569 (patch)
tree244244b11fe91bd62ef82905d787c1fce7e85223 /python
parent06168fd4e3d1b1ea7fdcb6a42f1c721ba7340475 (diff)
downloadsamba-43df8d0b2ea539f031ff0226dbd78470b9c4f569.tar.gz
CVE-2020-25722 tests/krb5: Allow creating server accounts
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14776 Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python')
-rw-r--r--python/samba/tests/krb5/kdc_base_test.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/python/samba/tests/krb5/kdc_base_test.py b/python/samba/tests/krb5/kdc_base_test.py
index 813af767dbd..a0da89041c4 100644
--- a/python/samba/tests/krb5/kdc_base_test.py
+++ b/python/samba/tests/krb5/kdc_base_test.py
@@ -38,12 +38,14 @@ from samba.dsdb import (
DS_DOMAIN_FUNCTION_2000,
DS_DOMAIN_FUNCTION_2008,
DS_GUID_COMPUTERS_CONTAINER,
+ DS_GUID_DOMAIN_CONTROLLERS_CONTAINER,
DS_GUID_USERS_CONTAINER,
UF_WORKSTATION_TRUST_ACCOUNT,
UF_NO_AUTH_DATA_REQUIRED,
UF_NORMAL_ACCOUNT,
UF_NOT_DELEGATED,
UF_PARTIAL_SECRETS_ACCOUNT,
+ UF_SERVER_TRUST_ACCOUNT,
UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
)
from samba.join import DCJoinContext
@@ -94,6 +96,7 @@ class KDCBaseTest(RawKerberosTest):
class AccountType(Enum):
USER = auto()
COMPUTER = auto()
+ SERVER = auto()
@classmethod
def setUpClass(cls):
@@ -245,6 +248,8 @@ class KDCBaseTest(RawKerberosTest):
if ou is None:
if account_type is account_type.COMPUTER:
guid = DS_GUID_COMPUTERS_CONTAINER
+ elif account_type is account_type.SERVER:
+ guid = DS_GUID_DOMAIN_CONTROLLERS_CONTAINER
else:
guid = DS_GUID_USERS_CONTAINER
@@ -265,6 +270,8 @@ class KDCBaseTest(RawKerberosTest):
account_name += '$'
if account_type is self.AccountType.COMPUTER:
account_control |= UF_WORKSTATION_TRUST_ACCOUNT
+ elif account_type is self.AccountType.SERVER:
+ account_control |= UF_SERVER_TRUST_ACCOUNT
else:
self.fail()