浏览代码

Proper TLS shutdown

(cherry picked from commit 268f63557e7b3e796cec361d26c44c9316fe2d4d)

Source commit: 125f7dfc4018387befd6155f9426a3cd39c71ebd
Martin Prikryl 4 年之前
父节点
当前提交
7f58c1e925
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      source/filezilla/AsyncSslSocketLayer.cpp

+ 8 - 0
source/filezilla/AsyncSslSocketLayer.cpp

@@ -606,6 +606,14 @@ int CAsyncSslSocketLayer::Receive(void* lpBuf, int nBufLen, int nFlags)
 
 void CAsyncSslSocketLayer::Close()
 {
+  if (!m_nShutDown)
+  {
+    ShutDown();
+    while (!ShutDownComplete())
+    {
+      OnSend(0);
+    }
+  }
   m_nShutDown = 0;
   m_onCloseCalled = false;
   ResetSslSession();