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; } /***********************************************************************