aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppIncomingServer.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2019-12-14 23:44:51 +0100
committerLNJ <lnj@kaidan.im>2020-01-20 17:14:49 +0100
commite4c9336b2319aba7cc254b84b76e957e92b301e6 (patch)
tree78e43794f04eac303abe274e41c6b2cfad7f32df /src/server/QXmppIncomingServer.cpp
parent28411b5995553eb3a50c826c55517b4c610959c2 (diff)
downloadqxmpp-e4c9336b2319aba7cc254b84b76e957e92b301e6.tar.gz
server: Replace manual checks and hard-coded XML by QXmppStartTlsPacket
Diffstat (limited to 'src/server/QXmppIncomingServer.cpp')
-rw-r--r--src/server/QXmppIncomingServer.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/server/QXmppIncomingServer.cpp b/src/server/QXmppIncomingServer.cpp
index f121e479..bc76738d 100644
--- a/src/server/QXmppIncomingServer.cpp
+++ b/src/server/QXmppIncomingServer.cpp
@@ -30,6 +30,7 @@
#include "QXmppDialback.h"
#include "QXmppIncomingServer.h"
#include "QXmppOutgoingServer.h"
+#include "QXmppStartTlsPacket.h"
#include "QXmppStreamFeatures.h"
#include "QXmppUtils.h"
@@ -129,15 +130,12 @@ void QXmppIncomingServer::handleStanza(const QDomElement &stanza)
{
const QString ns = stanza.namespaceURI();
- if (ns == ns_tls && stanza.tagName() == QLatin1String("starttls"))
- {
- sendData("<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>");
+ if (QXmppStartTlsPacket::isStartTlsPacket(stanza, QXmppStartTlsPacket::StartTls)) {
+ sendPacket(QXmppStartTlsPacket(QXmppStartTlsPacket::Proceed));
socket()->flush();
socket()->startServerEncryption();
return;
- }
- else if (QXmppDialback::isDialback(stanza))
- {
+ } else if (QXmppDialback::isDialback(stanza)) {
QXmppDialback request;
request.parse(stanza);
// check the request is valid