Преглед изворни кода

Proper TLS shutdown

Source commit: 86a380532057c0d913678b9ca910cb319a8f422c
Martin Prikryl пре 4 година
родитељ
комит
268f63557e
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();