selftest: Use random OIDs from under the Samba OID arc
authorAndrew Bartlett <abartlet@samba.org>
Mon, 18 Apr 2016 02:58:10 +0000 (14:58 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 6 Jun 2016 06:50:08 +0000 (08:50 +0200)
The urgent_replication.py test used the OID of uid, and this caused
other tests to fail

The other random OIDs should have been from under our arc, not under
iso.member-body.us

We split up the range a little to avoid some of the birthday paradox,
in the tests that create multiple OIDs.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz
source4/dsdb/tests/python/dsdb_schema_info.py
source4/dsdb/tests/python/ldap_schema.py
source4/dsdb/tests/python/ldap_syntaxes.py
source4/dsdb/tests/python/sec_descriptor.py
source4/dsdb/tests/python/urgent_replication.py
source4/setup/schema_samba4.ldif
source4/torture/drs/python/repl_schema.py
source4/torture/drs/rpc/msds_intid.c

index 8f64f1063c07d4ba26ab3c516f8e06c635d60dfe..18c2f08f13f9006bb8a6cfee4160dc93afa3f1cf 100755 (executable)
@@ -157,7 +157,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalPerson
index 2d20b48768494b07936635cb3498d4586a030a43..2b8590e04eb487c73c63c1f71d3548753ee22719 100755 (executable)
@@ -105,7 +105,7 @@ objectClass: attributeSchema
 adminDescription: """ + attr_name + """
 adminDisplayName: """ + attr_name + """
 cn: """ + attr_name + """
-attributeId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9940
+attributeId: 1.3.6.1.4.1.7165.4.6.1.""" + str(random.randint(1,100000)) + """
 attributeSyntax: 2.5.5.12
 omSyntax: 64
 instanceType: 4
@@ -149,7 +149,7 @@ defaultObjectCategory: CN=_
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalPerson
@@ -172,7 +172,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalPerson
@@ -254,7 +254,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalUnit
@@ -343,7 +343,7 @@ objectClass: attributeSchema
 adminDescription: """ + attr_name + """
 adminDisplayName: """ + attr_name + """
 cn: """ + attr_name + """
-attributeId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9940
+attributeId: 1.3.6.1.4.1.7165.4.6.1.""" + str(random.randint(1,100000)) + """
 attributeSyntax: 2.5.5.12
 omSyntax: 64
 instanceType: 4
@@ -459,7 +459,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalPerson
index 6a3dab2aec10cc4555490da3149f255b17085998..56a1755b73711b7880844ec3b8f77729d8288242 100755 (executable)
@@ -65,7 +65,7 @@ ldapDisplayName: """ + attr_ldap_display_name + """
 objectClass: top
 objectClass: attributeSchema
 cn: """ + attr_name + """
-attributeId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9940
+attributeId: 1.3.6.1.4.1.7165.4.6.1.1.""" + str(random.randint(1,100000)) + """
 attributeSyntax: 2.5.5.14
 omSyntax: 127
 omObjectClass: \x2A\x86\x48\x86\xF7\x14\x01\x01\x01\x0C
@@ -92,7 +92,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.1.""" + str(random.randint(1,100000)) + """
 schemaIdGuid: """ + str(uuid.uuid4()) + """
 objectClassCategory: 1
 subClassOf: organizationalPerson
@@ -125,7 +125,7 @@ ldapDisplayName: """ + attr_ldap_display_name + """
 objectClass: top
 objectClass: attributeSchema
 cn: """ + attr_name + """
-attributeId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9940
+attributeId: 1.3.6.1.4.1.7165.4.6.1.2.""" + str(random.randint(1,100000)) + """
 attributeSyntax: 2.5.5.7
 omSyntax: 127
 omObjectClass: \x2A\x86\x48\x86\xF7\x14\x01\x01\x01\x0B
@@ -152,7 +152,7 @@ objectClass: classSchema
 adminDescription: """ + class_name + """
 adminDisplayName: """ + class_name + """
 cn: """ + class_name + """
-governsId: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.2.2.""" + str(random.randint(1,100000)) + """
 schemaIdGuid: """ + str(uuid.uuid4()) + """
 objectClassCategory: 1
 subClassOf: organizationalPerson
index 321d1288cc1921373f4e692c1d27593ee2abc4f2..ac80469a3dfea5fa986ca2ff5cfcf465314d4d81 100755 (executable)
@@ -81,7 +81,7 @@ objectClass: classSchema
 objectCategory: CN=Class-Schema,""" + self.schema_dn + """
 defaultObjectCategory: """ + object_dn + """
 distinguishedName: """ + object_dn + """
-governsID: 1.2.840.""" + str(random.randint(1,100000)) + """.1.5.9939
+governsId: 1.3.6.1.4.1.7165.4.6.3.""" + str(random.randint(1,100000)) + """
 instanceType: 4
 objectClassCategory: 1
 subClassOf: organizationalPerson
index 93f3553ebd51fa48b7ae993c61b2b4d7b916ce2a..46aa55807a5bc118f9ba9e65b85ad6a91dbaa9b9 100755 (executable)
@@ -12,6 +12,7 @@ from ldb import (LdbError, ERR_NO_SUCH_OBJECT, Message,
 import samba.tests
 import samba.dsdb as dsdb
 import samba.getopt as options
+import random
 
 parser = optparse.OptionParser("urgent_replication.py [options] <host>")
 sambaopts = options.SambaOptions(parser)
@@ -154,7 +155,7 @@ cn: test attributeSchema
 instanceType: 4
 isSingleValued: FALSE
 showInAdvancedViewOnly: FALSE
-attributeID: 0.9.2342.19200300.100.1.1
+attributeID: 1.3.6.1.4.1.7165.4.6.1.4.""" + str(random.randint(1,100000)) + """
 attributeSyntax: 2.5.5.12
 adminDisplayName: test attributeSchema
 adminDescription: test attributeSchema
@@ -189,7 +190,7 @@ objectClass: classSchema
 cn: test classSchema
 instanceType: 4
 subClassOf: top
-governsID: 1.2.840.113556.1.5.999
+governsId: 1.3.6.1.4.1.7165.4.6.2.4.""" + str(random.randint(1,100000)) + """
 rDNAttID: cn
 showInAdvancedViewOnly: TRUE
 adminDisplayName: test classSchema
index 69aa363cc90b61351a8ce90b67b114725e0b788f..c331063301d810aee95d52f7dd5c6b01fca2a2c2 100644 (file)
 
 ## 1.3.6.1.4.1.7165.4.5.x - ldap extended matches
 
+## 1.3.6.1.4.1.7165.4.6.1.x - SELFTEST random attributes
+## 1.3.6.1.4.1.7165.4.6.1.1.x - ldap_syntaxes.py
+## 1.3.6.1.4.1.7165.4.6.1.2.x - ldap_syntaxes.py
+## 1.3.6.1.4.1.7165.4.6.1.4.x - urgent_replication.py
+
+## 1.3.6.1.4.1.7165.4.6.2.x - SELFTEST random classes
+## 1.3.6.1.4.1.7165.4.6.2.1.x - ldap_syntaxes.py
+## 1.3.6.1.4.1.7165.4.6.2.2.x - ldap_syntaxes.py
+## 1.3.6.1.4.1.7165.4.6.2.3.x - sec_descriptor.py
+## 1.3.6.1.4.1.7165.4.6.2.4.x - urgent_replication.py
+
 ## 1.3.6.1.4.1.7165.4.255.x - mapped OIDs due to conflicts between AD and standards-track
 #
 #
index aefeadb115e43025440fe5e28e11228389a44faf..23b2a398640595a4e9458ff7892dc8ab5874361c 100644 (file)
@@ -69,13 +69,14 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
         obj_dn = "CN=%s,%s" % (obj_name, self.schema_dn)
         return (obj_dn, obj_name, obj_ldn)
 
-    def _schema_new_class(self, ldb_ctx, base_name, attrs=None):
+    def _schema_new_class(self, ldb_ctx, base_name, base_int, attrs=None):
         (class_dn, class_name, class_ldn) = self._make_obj_names(base_name)
         rec = {"dn": class_dn,
                "objectClass": ["top", "classSchema"],
                "cn": class_name,
                "lDAPDisplayName": class_ldn,
-               "governsId": "1.2.840." + str(random.randint(1,100000)) + ".1.5.13",
+               "governsId": "1.3.6.1.4.1.7165.4.6.2." \
+                + str((100000 * base_int) + random.randint(1,100000)) + ".1.5.13",
                "instanceType": "4",
                "objectClassCategory": "1",
                "subClassOf": "top",
@@ -92,13 +93,14 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
         self._ldap_schemaUpdateNow(ldb_ctx)
         return (rec["lDAPDisplayName"], rec["dn"])
 
-    def _schema_new_attr(self, ldb_ctx, base_name, attrs=None):
+    def _schema_new_attr(self, ldb_ctx, base_name, base_int, attrs=None):
         (attr_dn, attr_name, attr_ldn) = self._make_obj_names(base_name)
         rec = {"dn": attr_dn,
                "objectClass": ["top", "attributeSchema"],
                "cn": attr_name,
                "lDAPDisplayName": attr_ldn,
-               "attributeId": "1.2.841." + str(random.randint(1,100000)) + ".1.5.13",
+               "attributeId": "1.3.6.1.4.1.7165.4.6.1." \
+                + str((100000 * base_int) + random.randint(1,100000)) + ".1.5.13",
                "attributeSyntax": "2.5.5.12",
                "omSyntax": "64",
                "instanceType": "4",
@@ -133,7 +135,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
     def test_class(self):
         """Simple test for classSchema replication"""
         # add new classSchema object
-        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-S")
+        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-S", 0)
         # force replication from DC1 to DC2
         self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn)
         # check object is replicated
@@ -147,7 +149,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
         c_ldn_last = None
         for i in range(1, 6):
             base_name = "cls-I-%02d" % i
-            (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, base_name)
+            (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, base_name, i)
             c_dn_list.append(c_dn)
             if c_ldn_last:
                 # inherit from last class added
@@ -170,14 +172,14 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
            This should check code path that searches for
            AttributeID_id in Schema cache"""
         # add new attributeSchema object
-        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-A")
+        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-A", 1)
         # add a base classSchema class so we can use our new
         # attribute in class definition in a sibling class
-        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-A",
+        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-A", 7,
                                                {"systemMayContain": a_ldn,
                                                 "subClassOf": "classSchema"})
         # add new classSchema object with value for a_ldb attribute
-        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-B",
+        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-B", 8,
                                                {"objectClass": ["top", "classSchema", c_ldn],
                                                 a_ldn: "test_classWithCustomAttribute"})
         # force replication from DC1 to DC2
@@ -189,7 +191,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
     def test_attribute(self):
         """Simple test for attributeSchema replication"""
         # add new attributeSchema object
-        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-S")
+        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-S", 2)
         # force replication from DC1 to DC2
         self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn)
         # check object is replicated
@@ -201,9 +203,9 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
            and then check all objects are replicated correctly"""
 
         # add new classSchema object
-        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-A")
+        (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-A", 9)
         # add new attributeSchema object
-        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-A")
+        (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-A", 3)
 
         # add attribute to the class we have
         m = Message.from_dict(self.ldb_dc1,
index 9d84047f07fd1c490b331eb1b1c591f619b0d124..13c9625cd4c61b1894049f1d2374ca65cd8897d0 100644 (file)
@@ -85,7 +85,7 @@ struct DsIntIdTestCtx {
                "objectClass: top\n" \
                "objectClass: attributeSchema\n" \
                "cn: msds-intid-%1$d\n" \
-               "attributeID: 1.2.840.%1$d.1.5.9940\n" \
+               "attributeID: 1.3.6.1.4.1.7165.4.6.1.%1$d.1.5.9940\n" \
                "attributeSyntax: 2.5.5.10\n" \
                "omSyntax: 4\n" \
                "instanceType: 4\n" \