Paul Vriens : wintrust: We do care about errors during this kind of registration.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 13 06:06:59 CDT 2006


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

Author: Paul Vriens <Paul.Vriens at xs4all.nl>
Date:   Tue Sep 12 19:52:56 2006 +0200

wintrust: We do care about errors during this kind of registration.

---

 dlls/wintrust/register.c |   89 +++++++++++++++++++++++++++++-----------------
 1 files changed, 57 insertions(+), 32 deletions(-)

diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index 5a7f219..061dfaf 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -412,10 +412,10 @@ static LONG WINTRUST_WriteSingleUsageEnt
  * NOTES
  *   WINTRUST_ACTION_GENERIC_VERIFY_V2 ({00AAC56B-CD44-11D0-8CC2-00C04FC295EE}
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterGenVerifyV2(void)
+static BOOL WINTRUST_RegisterGenVerifyV2(void)
 {
+    BOOL RegisteredOK = TRUE;
     static GUID ProvGUID = WINTRUST_ACTION_GENERIC_VERIFY_V2;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
                                          SoftpubInitialization,
@@ -432,9 +432,13 @@ static void WINTRUST_RegisterGenVerifyV2
                                             NULL,   /* No load callback function */
                                             NULL }; /* No free callback function */
 
-    WintrustAddDefaultForUsage(szOID_PKIX_KP_CODE_SIGNING, &DefUsage);
+    if (!WintrustAddDefaultForUsage(szOID_PKIX_KP_CODE_SIGNING, &DefUsage))
+        RegisteredOK = FALSE;
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        RegisteredOK = FALSE;
+
+    return RegisteredOK;
 }
 
 /***************************************************************************
@@ -445,9 +449,8 @@ static void WINTRUST_RegisterGenVerifyV2
  * NOTES
  *   WIN_SPUB_ACTION_PUBLISHED_SOFTWARE ({64B9D180-8DA2-11CF-8736-00AA00A485EB})
  *   is defined in wintrust.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterPublishedSoftware(void)
+static BOOL WINTRUST_RegisterPublishedSoftware(void)
 {
     static GUID ProvGUID = WIN_SPUB_ACTION_PUBLISHED_SOFTWARE;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -460,7 +463,10 @@ static void WINTRUST_RegisterPublishedSo
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          SoftpubCleanup };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 #define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE_NOBADUI { 0xc6b2e8d0, 0xe005, 0x11cf, { 0xa1,0x34,0x00,0xc0,0x4f,0xd7,0xbf,0x43 }}
@@ -473,9 +479,8 @@ #define WIN_SPUB_ACTION_PUBLISHED_SOFTWA
  * NOTES
  *   WIN_SPUB_ACTION_PUBLISHED_SOFTWARE_NOBADUI ({C6B2E8D0-E005-11CF-A134-00C04FD7BF43})
  *   is not defined in any include file. (FIXME: Find out if the name is correct).
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterPublishedSoftwareNoBadUi(void)
+static BOOL WINTRUST_RegisterPublishedSoftwareNoBadUi(void)
 {
     static GUID ProvGUID = WIN_SPUB_ACTION_PUBLISHED_SOFTWARE_NOBADUI;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -488,7 +493,10 @@ static void WINTRUST_RegisterPublishedSo
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          SoftpubCleanup };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***************************************************************************
@@ -499,9 +507,8 @@ static void WINTRUST_RegisterPublishedSo
  * NOTES
  *   WINTRUST_ACTION_GENERIC_CERT_VERIFY ({189A3842-3041-11D1-85E1-00C04FC295EE})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterGenCertVerify(void)
+static BOOL WINTRUST_RegisterGenCertVerify(void)
 {
     static GUID ProvGUID = WINTRUST_ACTION_GENERIC_CERT_VERIFY;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -514,7 +521,10 @@ static void WINTRUST_RegisterGenCertVeri
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          SoftpubCleanup };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***************************************************************************
@@ -525,9 +535,8 @@ static void WINTRUST_RegisterGenCertVeri
  * NOTES
  *   WINTRUST_ACTION_TRUSTPROVIDER_TEST ({573E31F8-DDBA-11D0-8CCB-00C04FC295EE})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterTrustProviderTest(void)
+static BOOL WINTRUST_RegisterTrustProviderTest(void)
 {
     static GUID ProvGUID = WINTRUST_ACTION_TRUSTPROVIDER_TEST;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -540,7 +549,10 @@ static void WINTRUST_RegisterTrustProvid
                                          SoftpubDumpStructure,
                                          SoftpubCleanup };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***************************************************************************
@@ -551,10 +563,10 @@ static void WINTRUST_RegisterTrustProvid
  * NOTES
  *   HTTPSPROV_ACTION ({573E31F8-AABA-11D0-8CCB-00C04FC295EE})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterHttpsProv(void)
+static BOOL WINTRUST_RegisterHttpsProv(void)
 {
+    BOOL RegisteredOK = TRUE;
     static CHAR SoftpubLoadUsage[] = "SoftpubLoadDefUsageCallData";
     static CHAR SoftpubFreeUsage[] = "SoftpubFreeDefUsageCallData";
     static GUID ProvGUID = HTTPSPROV_ACTION;
@@ -576,14 +588,21 @@ static void WINTRUST_RegisterHttpsProv(v
     DefUsage.pwszDllName = HeapAlloc(GetProcessHeap(), 0, sizeof(SP_POLICY_PROVIDER_DLL_NAME));
     lstrcpyW(DefUsage.pwszDllName, SP_POLICY_PROVIDER_DLL_NAME);
 
-    WintrustAddDefaultForUsage(szOID_PKIX_KP_SERVER_AUTH, &DefUsage);
-    WintrustAddDefaultForUsage(szOID_PKIX_KP_CLIENT_AUTH, &DefUsage);
-    WintrustAddDefaultForUsage(szOID_SERVER_GATED_CRYPTO, &DefUsage);
-    WintrustAddDefaultForUsage(szOID_SGC_NETSCAPE, &DefUsage);
+    if (!WintrustAddDefaultForUsage(szOID_PKIX_KP_SERVER_AUTH, &DefUsage))
+        RegisteredOK = FALSE;
+    if (!WintrustAddDefaultForUsage(szOID_PKIX_KP_CLIENT_AUTH, &DefUsage))
+        RegisteredOK = FALSE;
+    if (!WintrustAddDefaultForUsage(szOID_SERVER_GATED_CRYPTO, &DefUsage))
+        RegisteredOK = FALSE;
+    if (!WintrustAddDefaultForUsage(szOID_SGC_NETSCAPE, &DefUsage))
+        RegisteredOK = FALSE;
 
     HeapFree(GetProcessHeap(), 0, DefUsage.pwszDllName);
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        RegisteredOK = FALSE;
+
+    return RegisteredOK;
 }
 
 /***************************************************************************
@@ -594,9 +613,8 @@ static void WINTRUST_RegisterHttpsProv(v
  * NOTES
  *   OFFICESIGN_ACTION_VERIFY ({5555C2CD-17FB-11D1-85C4-00C04FC295EE})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterOfficeSignVerify(void)
+static BOOL WINTRUST_RegisterOfficeSignVerify(void)
 {
     static GUID ProvGUID = OFFICESIGN_ACTION_VERIFY;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -609,7 +627,10 @@ static void WINTRUST_RegisterOfficeSignV
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          OfficeCleanupPolicy };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***************************************************************************
@@ -620,9 +641,8 @@ static void WINTRUST_RegisterOfficeSignV
  * NOTES
  *   DRIVER_ACTION_VERIFY ({F750E6C3-38EE-11D1-85E5-00C04FC295EE})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterDriverVerify(void)
+static BOOL WINTRUST_RegisterDriverVerify(void)
 {
     static GUID ProvGUID = DRIVER_ACTION_VERIFY;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -635,7 +655,10 @@ static void WINTRUST_RegisterDriverVerif
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          DriverCleanupPolicy };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***************************************************************************
@@ -646,9 +669,8 @@ static void WINTRUST_RegisterDriverVerif
  * NOTES
  *   WINTRUST_ACTION_GENERIC_CHAIN_VERIFY ({FC451C16-AC75-11D1-B4B8-00C04FB66EA0})
  *   is defined in softpub.h
- *   We don't care about failures (see comments in DllRegisterServer)
  */
-static void WINTRUST_RegisterGenChainVerify(void)
+static BOOL WINTRUST_RegisterGenChainVerify(void)
 {
     static GUID ProvGUID = WINTRUST_ACTION_GENERIC_CHAIN_VERIFY;
     CRYPT_REGISTER_ACTIONID ProvInfo = { sizeof(CRYPT_REGISTER_ACTIONID),
@@ -661,7 +683,10 @@ static void WINTRUST_RegisterGenChainVer
                                          { 0, NULL, NULL }, /* No diagnostic policy */
                                          SoftpubCleanup };
 
-    WintrustAddActionID(&ProvGUID, 0, &ProvInfo);
+    if (!WintrustAddActionID(&ProvGUID, 0, &ProvInfo))
+        return FALSE;
+
+    return TRUE;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list