summaryrefslogtreecommitdiffstats
path: root/src/Bindings/LuaTCPLink.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2016-02-21 12:25:43 +0100
committerMattes D <github@xoft.cz>2016-02-21 12:25:43 +0100
commit81e80f6edb3ef9fb1e57455a7bcc58dfca198c5b (patch)
tree1c08c7f6f7ce8e1700efc9fb79264af0dc66afb3 /src/Bindings/LuaTCPLink.cpp
parentMerge pull request #3035 from marvinkopf/hotfix-parentchunk (diff)
parentLuaTCPLink: Report data received via SSL just before connection closed. (diff)
downloadcuberite-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.cpp12
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))