Re: wintrust: Always return ERROR_SUCCESS in WinVerifyTrust [RESEND]

2006-08-07 Thread Paul Vriens
On Mon, 2006-08-07 at 11:11 -0700, James Hawkins wrote:
 Hi,
 
 Accoring to recent comments by Paul Vriens, Process Explorer now
 accepts ERROR_SUCCESS from WinVerifyTrust, and several installers
 require ERROR_SUCCESS in order to continue, so everyone is happy.
 Fixes bugs 5573 and 3619.
 
 http://bugs.winehq.org/show_bug.cgi?id=5573
 http://bugs.winehq.org/show_bug.cgi?id=3619
 
 Changelog:
 * Always return ERROR_SUCCESS in WinVerifyTrust.
 
  dlls/wintrust/wintrust_main.c |   18 +-
  1 files changed, 5 insertions(+), 13 deletions(-)
 
When I run process explorer without tracing/debugging everything is
fine. As soon as I add +wintrust,+heap it fails again. There is most
likely some heap corruption somewhere (couldn't be more vague).

Alexandre's patch to add more free list entries only masked the problem,
as far as I can see from the results.

Cheers and sorry for the misleading remarks,

Paul.





Re: wintrust: Always return ERROR_SUCCESS in WinVerifyTrust [RESEND]

2006-08-07 Thread James Hawkins

On 8/7/06, Paul Vriens [EMAIL PROTECTED] wrote:


When I run process explorer without tracing/debugging everything is
fine. As soon as I add +wintrust,+heap it fails again. There is most
likely some heap corruption somewhere (couldn't be more vague).

Alexandre's patch to add more free list entries only masked the problem,
as far as I can see from the results.

Cheers and sorry for the misleading remarks,



Can you explain your comment, Process Explorer expects a correct
implementation concerning WinVerifyTrust?  When it calls
WinVerifyTrust and we return ERROR_SUCCESS, what does it do with that
information that causes the application to fail?  Even if we took the
time to implement WinVerifyTrust, we would still return ERROR_SUCCESS
and the situation wouldn't be any different.  In the meantime, several
installers are hanging up because of this.

--
James Hawkins




Re: wintrust: Always return ERROR_SUCCESS in WinVerifyTrust [RESEND]

2006-08-07 Thread Paul Vriens
On Mon, 2006-08-07 at 11:44 -0700, James Hawkins wrote:
 On 8/7/06, Paul Vriens [EMAIL PROTECTED] wrote:
  
  When I run process explorer without tracing/debugging everything is
  fine. As soon as I add +wintrust,+heap it fails again. There is most
  likely some heap corruption somewhere (couldn't be more vague).
 
  Alexandre's patch to add more free list entries only masked the problem,
  as far as I can see from the results.
 
  Cheers and sorry for the misleading remarks,
 
 
 Can you explain your comment, Process Explorer expects a correct
 implementation concerning WinVerifyTrust?  When it calls
 WinVerifyTrust and we return ERROR_SUCCESS, what does it do with that
 information that causes the application to fail?  Even if we took the
 time to implement WinVerifyTrust, we would still return ERROR_SUCCESS
 and the situation wouldn't be any different.  In the meantime, several
 installers are hanging up because of this.
 
It just turned out (and that makes sense of course) that when returning
a real error Process Explorer uses a different code path. The calls PE
uses are:

CryptCATAdminAcquireContext (stubbed)
CryptCATAdminCalcHashFromFileHandle (stubbed)
CryptCATAdminReleaseContext (stubbed)

and then WinVerifyTrust (stubbed as well).

Before Alexandre's patch it always failed when returning ERROR_SUCCESS,
now it only fails when extra debugging is added. I have no clue (yet)
where the heap corruption comes from.

I can live btw with a default of ERROR_SUCCESS as that will work
(100% ?) when run as an ordinary user. There is however something fishy
going on.

Cheers,

Paul.