Re: [wintrust] Return TRUST_E_PROVIDER_UNKNOWN for WinVerifyTrust

2005-07-26 Thread Rein Klazes
On Mon, 25 Jul 2005 21:28:27 +0200, you wrote:


 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

Yes that works. Here is the Girotel's output:

| fixme:wintrust:WinVerifyTrust 0x 
{64b9d180-8da2-11cf-8736-00aa00a485eb} 0x7ba7f2f0
(repeated 10 times or so.)

Rein.



Re: [wintrust] Return TRUST_E_PROVIDER_UNKNOWN for WinVerifyTrust

2005-07-25 Thread Rein Klazes
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. 



Re: [wintrust] Return TRUST_E_PROVIDER_UNKNOWN for WinVerifyTrust

2005-07-25 Thread Paul Vriens
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. 
 
Ok Rein, will have a look.

Paul.




Re: [wintrust] Return TRUST_E_PROVIDER_UNKNOWN for WinVerifyTrust

2005-07-25 Thread Paul Vriens
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 -	1.12
+++ dlls/wintrust/wintrust_main.c	25 Jul 2005 19:25:35 -
@@ -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;
 }
 
 /***