sid_strings.py used the same OID range as ldap_schema.py, which
occasionally led to test failures when the same OID was generated twice.
Using a different range, and making use of the expected RID if we have
it, should reduce the likelihood of collisions.
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Aug 25 13:55:47 UTC 2022 on sn-devel-184
class_dn = f'CN={class_name},{self.schema_dn}'
+ governs_id = f'1.3.6.1.4.1.7165.4.6.2.9.{random_suffix}'
+ if expected_sid is not None:
+ # Append the RID to our OID to ensure more uniqueness.
+ rid = expected_sid.rsplit('-', 1)[1]
+ governs_id += f'.{rid}'
+
ldif = f'''
dn: {class_dn}
objectClass: classSchema
cn: {class_name}
-governsId: 1.3.6.1.4.1.7165.4.6.2.6.3.{random_suffix}
+governsId: {governs_id}
subClassOf: top
possSuperiors: domainDNS
defaultSecurityDescriptor: O:{code}
## 1.3.6.1.4.1.7165.4.6.2.6.x - ldap_schema.py
## 1.3.6.1.4.1.7165.4.6.2.7.x - dsdb_schema_info.py
## 1.3.6.1.4.1.7165.4.6.2.8.x - getnc_schema.py
+## 1.3.6.1.4.1.7165.4.6.2.9.x - sid_strings.py
## 1.3.6.1.4.1.7165.4.255.x - mapped OIDs due to conflicts between AD and standards-track
#