Author: metze
Date: 2005-10-14 06:58:39 +0000 (Fri, 14 Oct 2005)
New Revision: 10988

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10988

Log:
print out the password blobs, with

--option="dssync:print_pwd_blobs=yes"

metze
Modified:
   branches/SAMBA_4_0/source/torture/rpc/dssync.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/dssync.c      2005-10-14 06:12:05 UTC 
(rev 10987)
+++ branches/SAMBA_4_0/source/torture/rpc/dssync.c      2005-10-14 06:58:39 UTC 
(rev 10988)
@@ -269,7 +269,62 @@
        return ret;
 }
 
+static void test_analyse_objects(struct DsSyncTest *ctx,
+                                struct drsuapi_DsReplicaObjectListItemEx *cur)
+{
+       if (!lp_parm_bool(-1,"dssync","print_pwd_blobs",False)) {
+               return; 
+       }
 
+       for (; cur; cur = cur->next_object) {
+               const char *dn;
+               BOOL dn_printed = False;
+               uint32_t i;
+
+               if (!cur->object.identifier) continue;
+
+               dn = cur->object.identifier->dn;
+
+               for (i=0; i < cur->object.attribute_ctr.num_attributes; i++) {
+                       const char *name = NULL;
+                       DATA_BLOB *data = NULL;
+                       struct drsuapi_DsReplicaAttribute *attr;
+                       attr = &cur->object.attribute_ctr.attributes[i];
+
+                       switch (attr->attid) {
+                       case DRSUAPI_ATTRIBUTE_dBCSPwd:
+                               name    = "dBCSPwd";
+                               break;
+                       case DRSUAPI_ATTRIBUTE_unicodePwd:
+                               name    = "unicodePwd";
+                               break;
+                       case DRSUAPI_ATTRIBUTE_ntPwdHistory:
+                               name    = "ntPwdHistory";
+                               break;
+                       case DRSUAPI_ATTRIBUTE_lmPwdHistory:
+                               name    = "lmPwdHistory";
+                               break;
+                       default:
+                               continue;
+                       }
+
+                       if (attr->value_ctr.data_blob.num_values != 1) continue;
+
+                       if (!attr->value_ctr.data_blob.values[0].data) continue;
+
+                       data = attr->value_ctr.data_blob.values[0].data;
+
+                       if (!dn_printed) {
+                               DEBUG(0,("DN: %s\n", dn));
+                               dn_printed = True;
+                       }
+                       DEBUGADD(0,("ATTR: %s data_blob.length=%u\n",
+                                   name, data->length));
+                       dump_data(0,data->data, data->length);
+               }
+       }
+}
+
 static BOOL test_FetchData(struct DsSyncTest *ctx)
 {
        NTSTATUS status;
@@ -419,6 +474,8 @@
                                        ctr6->new_highwatermark.tmp_highest_usn,
                                        ctr6->new_highwatermark.highest_usn));
 
+                               test_analyse_objects(ctx, ctr6->first_object);
+
                                if (ctr6->new_highwatermark.tmp_highest_usn > 
ctr6->new_highwatermark.highest_usn) {
                                        r.in.req.req8.highwatermark = 
ctr6->new_highwatermark;
                                        continue;

Reply via email to