aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppTlsManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/QXmppTlsManager.cpp')
-rw-r--r--src/client/QXmppTlsManager.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/client/QXmppTlsManager.cpp b/src/client/QXmppTlsManager.cpp
index 061a3cba..683d6ec2 100644
--- a/src/client/QXmppTlsManager.cpp
+++ b/src/client/QXmppTlsManager.cpp
@@ -21,27 +21,31 @@
*
*/
-#include "QXmppTlsManager.h"
+#include "QXmppTlsManager_p.h"
#include "QXmppConstants_p.h"
#include "QXmppClient.h"
+#include "QXmppClient_p.h"
+#include "QXmppOutgoingClient.h"
#include "QXmppStreamFeatures.h"
#include "QXmppStartTlsPacket.h"
#include <QDomElement>
+#include <QSslSocket>
+/// \cond
QXmppTlsManager::QXmppTlsManager() = default;
bool QXmppTlsManager::handleStanza(const QDomElement &stanza)
{
- if (QXmppStreamFeatures::isStreamFeatures(stanza) && !client()->isSocketEncrypted()) {
+ if (QXmppStreamFeatures::isStreamFeatures(stanza) && !clientStream()->socket()->isEncrypted()) {
QXmppStreamFeatures features;
features.parse(stanza);
// determine TLS mode to use
const QXmppConfiguration::StreamSecurityMode localSecurity = client()->configuration().streamSecurityMode();
const QXmppStreamFeatures::Mode remoteSecurity = features.tlsMode();
- if (!client()->socketSupportsSsl() &&
+ if (!clientStream()->socket()->supportsSsl() &&
(localSecurity == QXmppConfiguration::TLSRequired ||
remoteSecurity == QXmppStreamFeatures::Required)) {
warning("Disconnecting since TLS is required, but SSL support is not available");
@@ -55,7 +59,7 @@ bool QXmppTlsManager::handleStanza(const QDomElement &stanza)
return true;
}
- if (client()->socketSupportsSsl() &&
+ if (clientStream()->socket()->supportsSsl() &&
localSecurity != QXmppConfiguration::TLSDisabled &&
remoteSecurity != QXmppStreamFeatures::Disabled) {
// enable TLS since it is supported by both parties
@@ -66,9 +70,10 @@ bool QXmppTlsManager::handleStanza(const QDomElement &stanza)
if (QXmppStartTlsPacket::isStartTlsPacket(stanza, QXmppStartTlsPacket::Proceed)) {
debug("Starting encryption");
- client()->startSocketEncryption();
+ clientStream()->socket()->startClientEncryption();
return true;
}
return false;
}
+/// \endcond