diff options
| author | Linus Jahn <lnj@kaidan.im> | 2019-12-14 23:44:51 +0100 |
|---|---|---|
| committer | LNJ <lnj@kaidan.im> | 2020-01-20 17:14:49 +0100 |
| commit | e4c9336b2319aba7cc254b84b76e957e92b301e6 (patch) | |
| tree | 78e43794f04eac303abe274e41c6b2cfad7f32df /src/server/QXmppIncomingServer.cpp | |
| parent | 28411b5995553eb3a50c826c55517b4c610959c2 (diff) | |
| download | qxmpp-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.cpp | 10 |
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 |
