[Bug 17296] VMware Infrastructure Client 2.5 could not validate server's SSL certificate

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Oct 21 18:28:58 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=17296

--- Comment #83 from Juan Lang <juan_lang at yahoo.com> 2010-10-21 18:28:56 CDT ---
At a quick glance, it looks like buffer handling is incorrect.  From the logs:

trace:secur32:InitializeSecurityContextW 0x481decc (nil) L"vulcan" 524572 0 16
(nil) 0 0xa3d4c0 0xa3d458 0xa3becc 0x481dec4
trace:secur32:schan_InitializeSecurityContextW 0x1a85a0 (nil) L"vulcan" 524572
0 16 (nil) 0 0x481de08 0xa3d458 0xa3becc 0x481dec4

Here we have the first call to InitializeSecurityContext.  The flags are the
fourth parameter, 524572, which is 0x0008011c.  The interesting one is
ISC_REQ_ALLOCATE_MEMORY.  The input buffer is so far empty (nil), which we
expect.

trace:secur32:dump_buffer_desc Buffer desc 0xa3d458:
trace:secur32:dump_buffer_desc  buffer 0: cbBuffer 0, BufferType 0x2 pvBuffer
(nil)

Here's the output SecBufferDesc getting traced.  It's empty so far, and the
call flow continues:

trace:secur32:schan_InitializeSecurityContextW Continue...         
(snip)
trace:secur32:schan_InitializeSecurityContextW 0x1a85a0 0x1a8668 L"vulcan"
524572 0 16 0xa3d664 0 0x481dd4c 0xa3d678 0xa3becc 0x481de08

Here's the second call to InitializeSecurityContext.  Note the change in the
SecBufferDescs:

trace:secur32:dump_buffer_desc Buffer desc 0xa3d664:
trace:secur32:dump_buffer_desc  buffer 0: cbBuffer 47, BufferType 0x2 pvBuffer
0xa3d4d4
trace:secur32:dump_buffer_desc Buffer desc 0xa3d678:
trace:secur32:dump_buffer_desc  buffer 0: cbBuffer 0, BufferType 0x2 pvBuffer
(nil)

Now the input buffer which contains 47 bytes, and the new output buffer is
still empty.  A little bit later we have:

trace:secur32:schan_pull Pull 5 bytes
trace:secur32:schan_get_buffer Using buffer 0: cbBuffer 47, BufferType 0x2,
pvBuffer 0xa3d4d4
trace:secur32:schan_get_buffer No next buffer                            
trace:secur32:schan_gnutls_log <2> ASSERT: gnutls_buffers.c:360

Here's where the problem appears to occur.  schan_get_buffer is searching the
input buffer for a buffer with the type SECBUFFER_TOKEN, but there are none
remaining.  It seems as though either schannel should be appending new data to
the input buffer, or making use of the output buffer.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list