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/QXmppIncomingClient.cpp | |
| parent | 28411b5995553eb3a50c826c55517b4c610959c2 (diff) | |
| download | qxmpp-e4c9336b2319aba7cc254b84b76e957e92b301e6.tar.gz | |
server: Replace manual checks and hard-coded XML by QXmppStartTlsPacket
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp index c7da7bfd..009d4427 100644 --- a/src/server/QXmppIncomingClient.cpp +++ b/src/server/QXmppIncomingClient.cpp @@ -33,6 +33,7 @@ #include "QXmppPasswordChecker.h" #include "QXmppSasl_p.h" #include "QXmppSessionIq.h" +#include "QXmppStartTlsPacket.h" #include "QXmppStreamFeatures.h" #include "QXmppUtils.h" @@ -237,15 +238,12 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv) if (d->idleTimer->interval()) d->idleTimer->start(); - if (ns == ns_tls && nodeRecv.tagName() == QLatin1String("starttls")) - { - sendData("<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>"); + if (QXmppStartTlsPacket::isStartTlsPacket(nodeRecv, QXmppStartTlsPacket::StartTls)) { + sendPacket(QXmppStartTlsPacket(QXmppStartTlsPacket::Proceed)); socket()->flush(); socket()->startServerEncryption(); return; - } - else if (ns == ns_sasl) - { + } else if (ns == ns_sasl) { if (!d->passwordChecker) { warning("Cannot perform authentication, no password checker"); sendPacket(QXmppSaslFailure("temporary-auth-failure")); |
