On Mon, 2005-07-25 at 16:23, Rein Klazes wrote:
> On Thu, 14 Jul 2005 13:37:53 +0200 (CEST), you wrote:
> 
> > Hi,
> > 
> > currently we return ERROR_SUCCESS for WinVerifyTrust. Process Explorer
> > expects some data because of this.
> > 
> > As no trust provider is implemented yet, return TRUST_E_PROVIDER_UNKNOWN
> > instead.
> 
> Paul,
> 
> Girotel was perfectly happy with the ERROR_SUCCESS without anymore
> "data" (none is actually returned), now it fails. 
> 
> I think that in this case ERROR_SUCCESS should be the default. If you
> cannot figure out what data your program expects,  perhaps you can
> single out the specific ActionID to return a failure.
> 
> 
> Rein. 
> 
Hi Rein,

could you try the attached patch. It's a hack and we probably need an
implementation of softpub.h. I just want to make sure Girotel doesn't
use the same ActionID

Does anyone have softpub.h lying around to be included ?

Cheers,

Paul.
Index: dlls/wintrust/wintrust_main.c
===================================================================
RCS file: /home/wine/wine/dlls/wintrust/wintrust_main.c,v
retrieving revision 1.12
diff -u -p -r1.12 wintrust_main.c
--- dlls/wintrust/wintrust_main.c	15 Jul 2005 09:54:34 -0000	1.12
+++ dlls/wintrust/wintrust_main.c	25 Jul 2005 19:25:35 -0000
@@ -68,16 +68,31 @@ BOOL WINAPI CryptCATAdminReleaseContext(
  */
 LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID,  WINTRUST_DATA* ActionData )
 {
+    static const GUID WINTRUST_ACTION_GENERIC_VERIFY_V2 = { 0xaac56b, 0xcd44, 0x11d0,
+                                                          { 0x8c,0xc2,0x00,0xc0,0x4f,0xc2,0x95,0xee }};
+
     FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
 
     /* Trust providers can be found at:
      * HKLM\SOFTWARE\Microsoft\Cryptography\Providers\Trust\CertCheck\
      *
-     * As we do not have any trust providers yet (or cater for it),
-     * return just that.
+     * Process Explorer expects a correct implementation, so we 
+     * return TRUST_E_PROVIDER_UNKNOWN.
+     *
+     * Girotel needs ERROR_SUCCESS.
+     *
+     * For now return TRUST_E_PROVIDER_UNKNOWN only when 
+     * ActionID = WINTRUST_ACTION_GENERIC_VERIFY_V2.
+     *
      */
 
-    return TRUST_E_PROVIDER_UNKNOWN;
+    if (IsEqualCLSID(ActionID, &WINTRUST_ACTION_GENERIC_VERIFY_V2))
+    {
+        TRACE("ActionID is WINTRUST_ACTION_GENERIC_VERIFY_V2\n");
+        return TRUST_E_PROVIDER_UNKNOWN;
+    }
+
+    return ERROR_SUCCESS;
 }
 
 /***********************************************************************

Reply via email to