]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
python: Do not interpret 16 character group names as GUIDs
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 13 Jun 2025 00:29:02 +0000 (12:29 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Mon, 16 Jun 2025 22:22:26 +0000 (22:22 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15854

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Björn Baumbach <bb@samba.org>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Mon Jun 16 22:22:27 UTC 2025 on atb-devel-224

python/samba/samdb.py
selftest/knownfail.d/samba-tool-group-addmember [deleted file]

index ab3d40d70aab40a9266abeb189b3a55037af57b9..6d1f3f0da3c1e8e91057dc93572055815561a91a 100644 (file)
@@ -35,6 +35,7 @@ from samba.common import normalise_int32
 from samba.common import get_bytes, cmp
 from samba.dcerpc import security
 from samba import is_ad_dc_built
+from samba import string_is_guid
 from samba import NTSTATUSError, ntstatus
 import binascii
 
@@ -388,6 +389,13 @@ lockoutTime: 0
 
         partial_groupfilter = None
 
+        # If <group> looks like a SID, GUID, or DN, we use it
+        # accordingly, otherwise as a name.
+        #
+        # Because misc.GUID() will read any 16 byte sequence as a
+        # binary guid, we need to be careful not to read 16 character
+        # names as GUIDs.
+
         group_sid = None
         try:
             group_sid = security.dom_sid(group)
@@ -397,7 +405,7 @@ lockoutTime: 0
             partial_groupfilter = "(objectClass=*)"
 
         group_guid = None
-        if partial_groupfilter is None:
+        if partial_groupfilter is None and string_is_guid(group):
             try:
                 group_guid = misc.GUID(group)
             except NTSTATUSError as e:
diff --git a/selftest/knownfail.d/samba-tool-group-addmember b/selftest/knownfail.d/samba-tool-group-addmember
deleted file mode 100644 (file)
index ddc6021..0000000
+++ /dev/null
@@ -1 +0,0 @@
-^samba.tests.samba_tool.group.+GroupCmdTestCase.test_addmember