summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/TLS/OpenSSL/OpenSSLContext.cpp')
-rw-r--r--Swiften/TLS/OpenSSL/OpenSSLContext.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Swiften/TLS/OpenSSL/OpenSSLContext.cpp b/Swiften/TLS/OpenSSL/OpenSSLContext.cpp
index e9889bc..5692e74 100644
--- a/Swiften/TLS/OpenSSL/OpenSSLContext.cpp
+++ b/Swiften/TLS/OpenSSL/OpenSSLContext.cpp
@@ -227,10 +227,11 @@ void OpenSSLContext::doAccept() {
//const char* comp = SSL_get_current_compression(handle_.get());
//std::cout << "Compression: " << SSL_COMP_get_name(comp) << std::endl;
onConnected();
// The following call is important so the client knowns the handshake is finished.
sendPendingDataToNetwork();
+ sendPendingDataToApplication();
break;
}
case SSL_ERROR_WANT_READ:
sendPendingDataToNetwork();
break;
@@ -252,10 +253,13 @@ void OpenSSLContext::doConnect() {
state_ = State::Connected;
//std::cout << x->name << std::endl;
//const char* comp = SSL_get_current_compression(handle_.get());
//std::cout << "Compression: " << SSL_COMP_get_name(comp) << std::endl;
onConnected();
+ // The following is needed since OpenSSL 1.1.1 for the server to be able to calculate the
+ // TLS finish message.
+ sendPendingDataToNetwork();
break;
}
case SSL_ERROR_WANT_READ:
sendPendingDataToNetwork();
break;