From c98b50753fe93128bc1831c5bd060cc7e6939d4b Mon Sep 17 00:00:00 2001
From: Marc Hoersken <info@marc-hoersken.de>
Date: Sun, 14 Dec 2014 16:40:49 +0100
Subject: [PATCH] curl_schannel.c: Data may be available before connection
 shutdown

---
 lib/vtls/curl_schannel.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/vtls/curl_schannel.c b/lib/vtls/curl_schannel.c
index bc8f58ac5..f31e9c273 100644
--- a/lib/vtls/curl_schannel.c
+++ b/lib/vtls/curl_schannel.c
@@ -912,10 +912,11 @@ schannel_recv(struct connectdata *conn, int sockindex,
     }
 
     /* 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 ||
                                   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) {
         infof(data, "schannel: decrypted data length: %lu\n",
               inbuf[1].cbBuffer);
-- 
2.40.0