The branch, master has been updated
       via  2d2dbf5 s4-test-msds_intid: Verify ATTIDs for Linked Attributes
       via  6853883 s4-test-msds_intid: Simplify parameters for 
_make_error_message() function
      from  9e1e581 More neccessary const.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2d2dbf53ee110bfcd2f193d3e5c8d0e27759c4f3
Author: Kamen Mazdrashki <[email protected]>
Date:   Sat Oct 9 05:40:32 2010 +0300

    s4-test-msds_intid: Verify ATTIDs for Linked Attributes
    
    Autobuild-User: Kamen Mazdrashki <[email protected]>
    Autobuild-Date: Sat Oct  9 03:43:34 UTC 2010 on sn-devel-104

commit 6853883f3f171c69b28a0888548aaa464e163ac7
Author: Kamen Mazdrashki <[email protected]>
Date:   Sat Oct 9 04:22:24 2010 +0300

    s4-test-msds_intid: Simplify parameters for _make_error_message() function
    
    so it can be used in more places - when checking for
    Linked Attributes ATTIDs for instance

-----------------------------------------------------------------------

Summary of changes:
 source4/torture/drs/rpc/msds_intid.c |   73 +++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/drs/rpc/msds_intid.c 
b/source4/torture/drs/rpc/msds_intid.c
index ea5bdc6..2b2fa5e 100644
--- a/source4/torture/drs/rpc/msds_intid.c
+++ b/source4/torture/drs/rpc/msds_intid.c
@@ -460,17 +460,17 @@ static bool _test_GetNCChanges(struct torture_context 
*tctx,
 }
 
 static char * _make_error_message(TALLOC_CTX *mem_ctx,
-                                  const struct dsdb_attribute *dsdb_attr,
-                                  const struct drsuapi_DsReplicaAttribute 
*drs_attr,
-                                  const struct 
drsuapi_DsReplicaObjectListItemEx *drs_obj)
+                                 enum drsuapi_DsAttributeId drs_attid,
+                                 const struct dsdb_attribute *dsdb_attr,
+                                 const struct 
drsuapi_DsReplicaObjectIdentifier *identifier)
 {
        return talloc_asprintf(mem_ctx, "\nInvalid ATTID for %1$s (%2$s)\n"
                               " drs_attid:      %3$11d (0x%3$08X)\n"
                               " msDS_IntId:     %4$11d (0x%4$08X)\n"
                               " attributeId_id: %5$11d (0x%5$08X)",
                               dsdb_attr->lDAPDisplayName,
-                              drs_obj->object.identifier->dn,
-                              drs_attr->attid,
+                              identifier->dn,
+                              drs_attid,
                               dsdb_attr->msDS_IntId,
                               dsdb_attr->attributeID_id);
 }
@@ -489,6 +489,7 @@ static bool test_dsintid_schema(struct torture_context 
*tctx, struct DsIntIdTest
        const struct drsuapi_DsReplicaAttribute *drs_attr;
        const struct drsuapi_DsReplicaAttributeCtr *attr_ctr;
        const struct drsuapi_DsReplicaObjectListItemEx *cur;
+       const struct drsuapi_DsReplicaLinkedAttribute *la;
        TALLOC_CTX *mem_ctx;
 
        mem_ctx = talloc_new(ctx);
@@ -518,15 +519,40 @@ static bool test_dsintid_schema(struct torture_context 
*tctx, struct DsIntIdTest
 
                        torture_assert(tctx,
                                       drs_attr->attid == 
dsdb_attr->attributeID_id,
-                                      _make_error_message(ctx, dsdb_attr, 
drs_attr, cur))
+                                      _make_error_message(ctx, drs_attr->attid,
+                                                          dsdb_attr,
+                                                          
cur->object.identifier));
                        if (dsdb_attr->msDS_IntId) {
                                torture_assert(tctx,
-                                              drs_attr->attid != 
dsdb_attr->msDS_IntId,
-                                              _make_error_message(ctx, 
dsdb_attr, drs_attr, cur))
+                                              drs_attr->attid != 
dsdb_attr->msDS_IntId,
+                                              _make_error_message(ctx, 
drs_attr->attid,
+                                                                  dsdb_attr,
+                                                                  
cur->object.identifier));
                        }
                }
        }
 
+       /* verify ATTIDs for Linked Attributes */
+       torture_comment(tctx, "Verify ATTIDs for Linked Attributes (%u)\n",
+                       ctr6->linked_attributes_count);
+       for (i = 0; i < ctr6->linked_attributes_count; i++) {
+               la = &ctr6->linked_attributes[i];
+               dsdb_attr = dsdb_attribute_by_attributeID_id(ldap_schema, 
la->attid);
+
+               torture_assert(tctx,
+                              la->attid == dsdb_attr->attributeID_id,
+                              _make_error_message(ctx, la->attid,
+                                                  dsdb_attr,
+                                                  la->identifier))
+               if (dsdb_attr->msDS_IntId) {
+                       torture_assert(tctx,
+                                      drs_attr->attid != dsdb_attr->msDS_IntId,
+                                      _make_error_message(ctx, la->attid,
+                                                          dsdb_attr,
+                                                          la->identifier))
+               }
+       }
+
        talloc_free(mem_ctx);
 
        return true;
@@ -547,6 +573,7 @@ static bool test_dsintid_domain(struct torture_context 
*tctx, struct DsIntIdTest
        const struct drsuapi_DsReplicaAttribute *drs_attr;
        const struct drsuapi_DsReplicaAttributeCtr *attr_ctr;
        const struct drsuapi_DsReplicaObjectListItemEx *cur;
+       const struct drsuapi_DsReplicaLinkedAttribute *la;
        TALLOC_CTX *mem_ctx;
 
        mem_ctx = talloc_new(ctx);
@@ -576,15 +603,41 @@ static bool test_dsintid_domain(struct torture_context 
*tctx, struct DsIntIdTest
                        if (dsdb_attr->msDS_IntId) {
                                torture_assert(tctx,
                                               drs_attr->attid == 
dsdb_attr->msDS_IntId,
-                                              _make_error_message(ctx, 
dsdb_attr, drs_attr, cur))
+                                              _make_error_message(ctx, 
drs_attr->attid,
+                                                                  dsdb_attr,
+                                                                  
cur->object.identifier));
                        } else {
                                torture_assert(tctx,
                                               drs_attr->attid == 
dsdb_attr->attributeID_id,
-                                              _make_error_message(ctx, 
dsdb_attr, drs_attr, cur))
+                                              _make_error_message(ctx, 
drs_attr->attid,
+                                                                  dsdb_attr,
+                                                                  
cur->object.identifier));
                        }
                }
        }
 
+       /* verify ATTIDs for Linked Attributes */
+       torture_comment(tctx, "Verify ATTIDs for Linked Attributes (%u)\n",
+                       ctr6->linked_attributes_count);
+       for (i = 0; i < ctr6->linked_attributes_count; i++) {
+               la = &ctr6->linked_attributes[i];
+               dsdb_attr = dsdb_attribute_by_attributeID_id(ldap_schema, 
la->attid);
+
+               if (dsdb_attr->msDS_IntId) {
+                       torture_assert(tctx,
+                                      la->attid == dsdb_attr->msDS_IntId,
+                                      _make_error_message(ctx, la->attid,
+                                                          dsdb_attr,
+                                                          la->identifier));
+               } else {
+                       torture_assert(tctx,
+                                      la->attid == dsdb_attr->attributeID_id,
+                                      _make_error_message(ctx, la->attid,
+                                                          dsdb_attr,
+                                                          la->identifier));
+               }
+       }
+
        talloc_free(mem_ctx);
 
        return true;


-- 
Samba Shared Repository

Reply via email to