pytest: sid_strings: Windows does allow lowercase s-1-... SIDs
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 2 May 2024 23:19:16 +0000 (11:19 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 7 May 2024 23:25:35 +0000 (23:25 +0000)
And so should we.

Right now, these tests won't pass against Windows because they rely on
ldb pre-parsing of the SIDs, so they fail before Windows gets to see
them. Running them against Windows looks something like this, BTW:

    SAMBA_SID_STRINGS_SKIP_LOCAL=1  \
    SMB_CONF_PATH=st/ad_dc/etc/smb.conf \
    PYTHONPATH=bin/default/python \
    DC_SERVER=192.168.122.126 \
    DC_USERNAME=Administrator DC_PASSWORD='xxx' \
    python3 python/samba/tests/sid_strings.py

When things are right, the only failing tests should be from the
SidStringBehavioursThatSambaPrefers suite.

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

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/sid_strings.py
selftest/knownfail.d/sid-strings

index dab7cc2848055225caf0c61a836018692af0fa10..737f2b89b3f9d983bcd37901000acef65f353583 100644 (file)
@@ -453,7 +453,8 @@ class SidStringsAsDnInSearchBase(SidStringBase):
              'S-1-99999999999999999999999999999999999999-32-11111111111': ldb.ERR_INVALID_DN_SYNTAX,
              'S-10-5-32-579': ldb.ERR_INVALID_DN_SYNTAX,
              'S-2-5-32-579': ldb.ERR_INVALID_DN_SYNTAX,
-             's-1-5-32-579': ldb.ERR_INVALID_DN_SYNTAX,
+             's-1-5-32-5791': ldb.ERR_NO_SUCH_OBJECT,
+             's-1-5-32-545': None,
              'AA': ldb.ERR_INVALID_DN_SYNTAX,
         }
 
@@ -517,7 +518,8 @@ class SidStringsAsDnSearchWithDnObject(SidStringBase):
                                                                            None),
              'S-10-5-32-579': (None, ldb.ERR_INVALID_DN_SYNTAX),
              'S-2-5-32-579': (None, ldb.ERR_INVALID_DN_SYNTAX),
-             's-1-5-32-579': ('parse error', None),
+             's-1-5-32-545': (None, None),
+             's-1-5-1234-5678': (None, ldb.ERR_NO_SUCH_OBJECT),
             }
 
     def _test_sid_string_with_args(self, code, expected):
index f9943c5c2b667b9fa16bbe599112280ac8af4392..a56d92986e3f8e1a70339615924bcf62a56ee21e 100644 (file)
@@ -54,6 +54,8 @@
 ^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_S-1-0xABcDef123-0xABCDef123-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_S-1-3-0.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_S-1-5-3.2-579.ad_dc
+^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_s-1-5-32-545.ad_dc
+^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_s-1-5-32-5791.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_S-10-5-32-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnInSearchBase.test_sid_string_S-2-5-32-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-0-5-32-579.ad_dc
@@ -62,6 +64,8 @@
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-1-0xABcDef123-0xABCDef123-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-1-3-0.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-1-5-3.2-579.ad_dc
+^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_s-1-5-1234-5678.ad_dc
+^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_s-1-5-32-545.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-10-5-32-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsAsDnSearchWithDnObject.test_sid_string_S-2-5-32-579.ad_dc
 ^samba.tests.sid_strings.+.SidStringsThatStartWithS.test_sid_string_.S-1-1-1-1-1-1-1.ad_dc