Bläddra i källkod

Proper TLS shutdown

Source commit: 86a380532057c0d913678b9ca910cb319a8f422c
Martin Prikryl 4 år sedan
förälder
incheckning
268f63557e
1 ändrade filer med 8 tillägg och 0 borttagningar
  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()
 void CAsyncSslSocketLayer::Close()
 {
 {
+  if (!m_nShutDown)
+  {
+    ShutDown();
+    while (!ShutDownComplete())
+    {
+      OnSend(0);
+    }
+  }
   m_nShutDown = 0;
   m_nShutDown = 0;
   m_onCloseCalled = false;
   m_onCloseCalled = false;
   ResetSslSession();
   ResetSslSession();