Juan Lang : wintrust: Trace input to WinVerifyTrust.

Alexandre Julliard julliard at winehq.org
Tue Oct 9 13:37:48 CDT 2007


Module: wine
Branch: master
Commit: 7bff4e7141cf863f555bf9e18306da3935f439ea
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7bff4e7141cf863f555bf9e18306da3935f439ea

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Oct  8 15:34:27 2007 -0700

wintrust: Trace input to WinVerifyTrust.

---

 dlls/wintrust/wintrust_main.c |  110 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/dlls/wintrust/wintrust_main.c b/dlls/wintrust/wintrust_main.c
index aa51a98..faf837c 100644
--- a/dlls/wintrust/wintrust_main.c
+++ b/dlls/wintrust/wintrust_main.c
@@ -198,6 +198,115 @@ static LONG WINTRUST_PublishedSoftware(HWND hwnd, GUID *actionID,
     return WINTRUST_DefaultVerifyAndClose(hwnd, actionID, &wintrust_data);
 }
 
+static void dump_file_info(WINTRUST_FILE_INFO *pFile)
+{
+    TRACE("%p\n", pFile);
+    if (pFile)
+    {
+        TRACE("cbStruct: %d\n", pFile->cbStruct);
+        TRACE("pcwszFilePath: %s\n", debugstr_w(pFile->pcwszFilePath));
+        TRACE("hFile: %p\n", pFile->hFile);
+        TRACE("pgKnownSubject: %s\n", debugstr_guid(pFile->pgKnownSubject));
+    }
+}
+
+static void dump_catalog_info(WINTRUST_CATALOG_INFO *catalog)
+{
+    TRACE("%p\n", catalog);
+    if (catalog)
+    {
+        TRACE("cbStruct: %d\n", catalog->cbStruct);
+        TRACE("dwCatalogVersion: %d\n", catalog->dwCatalogVersion);
+        TRACE("pcwszCatalogFilePath: %s\n",
+         debugstr_w(catalog->pcwszCatalogFilePath));
+        TRACE("pcwszMemberTag: %s\n", debugstr_w(catalog->pcwszMemberTag));
+        TRACE("pcwszMemberFilePath: %s\n",
+         debugstr_w(catalog->pcwszMemberFilePath));
+        TRACE("hMemberFile: %p\n", catalog->hMemberFile);
+        TRACE("pbCalculatedFileHash: %p\n", catalog->pbCalculatedFileHash);
+        TRACE("cbCalculatedFileHash: %d\n", catalog->cbCalculatedFileHash);
+        TRACE("pcCatalogContext: %p\n", catalog->pcCatalogContext);
+    }
+}
+
+static void dump_blob_info(WINTRUST_BLOB_INFO *blob)
+{
+    TRACE("%p\n", blob);
+    if (blob)
+    {
+        TRACE("cbStruct: %d\n", blob->cbStruct);
+        TRACE("gSubject: %s\n", debugstr_guid(&blob->gSubject));
+        TRACE("pcwszDisplayName: %s\n", debugstr_w(blob->pcwszDisplayName));
+        TRACE("cbMemObject: %d\n", blob->cbMemObject);
+        TRACE("pbMemObject: %p\n", blob->pbMemObject);
+        TRACE("cbMemSignedMsg: %d\n", blob->cbMemSignedMsg);
+        TRACE("pbMemSignedMsg: %p\n", blob->pbMemSignedMsg);
+    }
+}
+
+static void dump_sgnr_info(WINTRUST_SGNR_INFO *sgnr)
+{
+    TRACE("%p\n", sgnr);
+    if (sgnr)
+    {
+        TRACE("cbStruct: %d\n", sgnr->cbStruct);
+        TRACE("pcwszDisplayName: %s\n", debugstr_w(sgnr->pcwszDisplayName));
+        TRACE("psSignerInfo: %p\n", sgnr->psSignerInfo);
+        TRACE("chStores: %d\n", sgnr->chStores);
+    }
+}
+
+static void dump_cert_info(WINTRUST_CERT_INFO *cert)
+{
+    TRACE("%p\n", cert);
+    if (cert)
+    {
+        TRACE("cbStruct: %d\n", cert->cbStruct);
+        TRACE("pcwszDisplayName: %s\n", debugstr_w(cert->pcwszDisplayName));
+        TRACE("psCertContext: %p\n", cert->psCertContext);
+        TRACE("chStores: %d\n", cert->chStores);
+        TRACE("dwFlags: %08x\n", cert->dwFlags);
+        TRACE("psftVerifyAsOf: %p\n", cert->psftVerifyAsOf);
+    }
+}
+
+static void dump_wintrust_data(WINTRUST_DATA *data)
+{
+    TRACE("%p\n", data);
+    if (data)
+    {
+        TRACE("cbStruct: %d\n", data->cbStruct);
+        TRACE("pPolicyCallbackData: %p\n", data->pPolicyCallbackData);
+        TRACE("pSIPClientData: %p\n", data->pSIPClientData);
+        TRACE("dwUIChoice: %d\n", data->dwUIChoice);
+        TRACE("fdwRevocationChecks: %08x\n", data->fdwRevocationChecks);
+        TRACE("dwUnionChoice: %d\n", data->dwUnionChoice);
+        switch (data->dwUnionChoice)
+        {
+        case WTD_CHOICE_FILE:
+            dump_file_info(data->u.pFile);
+            break;
+        case WTD_CHOICE_CATALOG:
+            dump_catalog_info(data->u.pCatalog);
+            break;
+        case WTD_CHOICE_BLOB:
+            dump_blob_info(data->u.pBlob);
+            break;
+        case WTD_CHOICE_SIGNER:
+            dump_sgnr_info(data->u.pSgnr);
+            break;
+        case WTD_CHOICE_CERT:
+            dump_cert_info(data->u.pCert);
+            break;
+        }
+        TRACE("dwStateAction: %d\n", data->dwStateAction);
+        TRACE("hWVTStateData: %p\n", data->hWVTStateData);
+        TRACE("pwszURLReference: %s\n", debugstr_w(data->pwszURLReference));
+        TRACE("dwProvFlags: %08x\n", data->dwProvFlags);
+        TRACE("dwUIContext: %d\n", data->dwUIContext);
+    }
+}
+
 /***********************************************************************
  *		WinVerifyTrust (WINTRUST.@)
  *
@@ -227,6 +336,7 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
     WINTRUST_DATA *actionData = (WINTRUST_DATA *)ActionData;
 
     TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(ActionID), ActionData);
+    dump_wintrust_data(ActionData);
 
     /* Support for known old-style callers: */
     if (IsEqualGUID(ActionID, &published_software))




More information about the wine-cvs mailing list