s4/dsdb_schema: fetch msDS-IntId value during SCHEMA replication
authorKamen Mazdrashki <kamen.mazdrashki@postpath.com>
Thu, 7 Jan 2010 00:46:25 +0000 (02:46 +0200)
committerAndrew Tridgell <tridge@samba.org>
Fri, 8 Jan 2010 02:03:03 +0000 (13:03 +1100)
source4/dsdb/schema/schema.h
source4/dsdb/schema/schema_init.c

index 186f5d5ddbf25b6809a19f5286b1340dbc533d10..1a40c45b21c6902a84ea2c9117faf0987d017292 100644 (file)
@@ -62,6 +62,7 @@ struct dsdb_attribute {
        uint32_t attributeID_id;
        struct GUID schemaIDGUID;
        uint32_t mAPIID;
+       uint32_t msDS_IntId;
 
        struct GUID attributeSecurityGUID;
        struct GUID objectGUID;
index 87599a9223ae7b89b6e42e316ac00faa245e22db..48da80c7f1999eb4b3ce75cbe4e05e02ef1512b5 100644 (file)
@@ -833,6 +833,7 @@ static const struct {
        { "mayContain",                         "1.2.840.113556.1.2.25" },
        { "defaultSecurityDescriptor",          "1.2.840.113556.1.4.224" },
        { "defaultHidingValue",                 "1.2.840.113556.1.4.518" },
+       { "msDS-IntId",                         "1.2.840.113556.1.4.1716" },
 };
 
 static struct drsuapi_DsReplicaAttribute *dsdb_find_object_attr_name(struct dsdb_schema *schema,
@@ -1020,6 +1021,9 @@ WERROR dsdb_attribute_from_drsuapi(struct ldb_context *ldb,
                        win_errstr(status)));
                return status;
        }
+       /* fetch msDS-IntId to be used in resolving ATTRTYP values */
+       GET_UINT32_DS(schema, r, "msDS-IntId", attr, msDS_IntId, 0);
+
        GET_GUID_DS(schema, r, "schemaIDGUID", mem_ctx, attr, schemaIDGUID);
        GET_UINT32_DS(schema, r, "mAPIID", attr, mAPIID, 0);