curl_schannel.c: Data may be available before connection shutdown

This commit is contained in:
Marc Hoersken 2014-12-14 16:40:49 +01:00
parent 96d3c9363f
commit c98b50753f

View File

@ -912,10 +912,11 @@ schannel_recv(struct connectdata *conn, int sockindex,
} }
/* check if everything went fine (server may want to renegotiate /* check if everything went fine (server may want to renegotiate
context) */ or shutdown the connection context) */
if(sspi_status == SEC_E_OK || sspi_status == SEC_I_RENEGOTIATE || if(sspi_status == SEC_E_OK || sspi_status == SEC_I_RENEGOTIATE ||
sspi_status == SEC_I_CONTEXT_EXPIRED) { sspi_status == SEC_I_CONTEXT_EXPIRED) {
/* check for successfully decrypted data */ /* check for successfully decrypted data, even before actual
renegotiation or shutdown of the connection context */
if(inbuf[1].BufferType == SECBUFFER_DATA) { if(inbuf[1].BufferType == SECBUFFER_DATA) {
infof(data, "schannel: decrypted data length: %lu\n", infof(data, "schannel: decrypted data length: %lu\n",
inbuf[1].cbBuffer); inbuf[1].cbBuffer);