From 98d3bdebb4031ce4b293f4924d76354bc5159739 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 21 Feb 2016 10:44:13 +0100 Subject: [PATCH] LuaTCPLink: Report data received via SSL just before connection closed. --- src/Bindings/LuaTCPLink.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Bindings/LuaTCPLink.cpp b/src/Bindings/LuaTCPLink.cpp index d88c41120..deaba9d86 100644 --- a/src/Bindings/LuaTCPLink.cpp +++ b/src/Bindings/LuaTCPLink.cpp @@ -416,9 +416,10 @@ void cLuaTCPLink::OnReceivedData(const char * a_Data, size_t a_Length) } // If we're running in SSL mode, put the data into the SSL decryptor: - if (m_SslContext != nullptr) + auto sslContext = m_SslContext; + if (sslContext != nullptr) { - m_SslContext->StoreReceivedData(a_Data, a_Length); + sslContext->StoreReceivedData(a_Data, a_Length); return; } @@ -442,6 +443,13 @@ void cLuaTCPLink::OnRemoteClosed(void) return; } + // If running in SSL mode and there's data left in the SSL contect, report it: + auto sslContext = m_SslContext; + if (sslContext != nullptr) + { + sslContext->FlushBuffers(); + } + // Call the callback: cPluginLua::cOperation Op(m_Plugin); if (!Op().Call(cLuaState::cTableRef(m_Callbacks, "OnRemoteClosed"), this))