aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/client/QXmppClient.cpp2
-rw-r--r--src/client/QXmppTlsManager.cpp15
-rw-r--r--src/client/QXmppTlsManager_p.h (renamed from src/client/QXmppTlsManager.h)19
4 files changed, 27 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 11d7f535..3f46c666 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -77,7 +77,6 @@ set(INSTALL_HEADER_FILES
client/QXmppRemoteMethod.h
client/QXmppRosterManager.h
client/QXmppRpcManager.h
- client/QXmppTlsManager.h
client/QXmppTransferManager.h
client/QXmppTransferManager_p.h
client/QXmppUploadRequestManager.h
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp
index 7763676b..5fb1b869 100644
--- a/src/client/QXmppClient.cpp
+++ b/src/client/QXmppClient.cpp
@@ -33,7 +33,7 @@
#include "QXmppMessage.h"
#include "QXmppUtils.h"
-#include "QXmppTlsManager.h"
+#include "QXmppTlsManager_p.h"
#include "QXmppRosterManager.h"
#include "QXmppVCardManager.h"
#include "QXmppVersionManager.h"
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
diff --git a/src/client/QXmppTlsManager.h b/src/client/QXmppTlsManager_p.h
index 086bfdf7..562ac273 100644
--- a/src/client/QXmppTlsManager.h
+++ b/src/client/QXmppTlsManager_p.h
@@ -21,18 +21,31 @@
*
*/
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the QXmpp API.
+//
+// This header file may change from version to version without notice,
+// or even be removed.
+//
+// We mean it.
+//
+
#ifndef QXMPPTLSMANAGER_H
#define QXMPPTLSMANAGER_H
-#include "QXmppClientExtension.h"
+#include "QXmppInternalClientExtension_p.h"
+///
/// \brief The QXmppTlsManager enables the QXmppClient to use STARTTLS. It is
/// added to the client by default and can be configured using the
/// \c QXmppConfiguration class.
///
/// \ingroup Managers
-
-class QXMPP_EXPORT QXmppTlsManager : public QXmppClientExtension
+///
+class QXmppTlsManager : public QXmppInternalClientExtension
{
Q_OBJECT