diff options
author | Mattes D <github@xoft.cz> | 2016-02-21 12:25:43 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2016-02-21 12:25:43 +0100 |
commit | 81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b (patch) | |
tree | 1c08c7f6f7ce8e1700efc9fb79264af0dc66afb3 /src/Bindings/LuaTCPLink.cpp | |
parent | Merge pull request #3035 from marvinkopf/hotfix-parentchunk (diff) | |
parent | LuaTCPLink: Report data received via SSL just before connection closed. (diff) | |
download | cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar.gz cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar.bz2 cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar.lz cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar.xz cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.tar.zst cuberite-81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b.zip |
Diffstat (limited to 'src/Bindings/LuaTCPLink.cpp')
-rw-r--r-- | src/Bindings/LuaTCPLink.cpp | 12 |
1 files 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)) |