diff options
| author | Linus Jahn <lnj@kaidan.im> | 2023-03-14 23:17:55 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-03-14 23:31:51 +0100 |
| commit | 7bfb39fe1eb853a95929c16a2692cbb648d7387c (patch) | |
| tree | 75605946a10061f85e547458e12a48e224fbd241 | |
| parent | 054b35de3ea9251ca713209ea73b2b814fb6c0bc (diff) | |
Client: Don't fill empty 'to' attributes of outgoing IQs
| -rw-r--r-- | src/base/QXmppStream.cpp | 4 | ||||
| -rw-r--r-- | src/base/QXmppStream.h | 2 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 7 |
3 files changed, 5 insertions, 8 deletions
diff --git a/src/base/QXmppStream.cpp b/src/base/QXmppStream.cpp index 428e8e55..a4921a43 100644 --- a/src/base/QXmppStream.cpp +++ b/src/base/QXmppStream.cpp @@ -208,7 +208,7 @@ QXmppTask<QXmpp::SendResult> QXmppStream::send(QXmppPacket &&packet, bool &writt /// /// \since QXmpp 1.5 /// -QXmppTask<QXmppStream::IqResult> QXmppStream::sendIq(QXmppIq &&iq) +QXmppTask<QXmppStream::IqResult> QXmppStream::sendIq(QXmppIq &&iq, const QString &to) { using namespace QXmpp; @@ -223,7 +223,7 @@ QXmppTask<QXmppStream::IqResult> QXmppStream::sendIq(QXmppIq &&iq) iq.setId(QXmppUtils::generateStanzaUuid()); } - return sendIq(QXmppPacket(iq), iq.id(), iq.to()); + return sendIq(QXmppPacket(iq), iq.id(), to); } /// diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h index 55dc7967..a7584366 100644 --- a/src/base/QXmppStream.h +++ b/src/base/QXmppStream.h @@ -47,7 +47,7 @@ public: QXmppTask<QXmpp::SendResult> send(QXmppPacket &&); using IqResult = std::variant<QDomElement, QXmppError>; - QXmppTask<IqResult> sendIq(QXmppIq &&); + QXmppTask<IqResult> sendIq(QXmppIq &&, const QString &to); QXmppTask<IqResult> sendIq(QXmppPacket &&, const QString &id, const QString &to); void cancelOngoingIqs(); bool hasIqId(const QString &id) const; diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index 20e88b9c..53c02e41 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -328,11 +328,8 @@ bool QXmppOutgoingClient::isStreamResumed() const /// QXmppTask<QXmppStream::IqResult> QXmppOutgoingClient::sendIq(QXmppIq &&iq) { - // always set a to address (the QXmppStream needs this for matching) - if (iq.to().isEmpty()) { - iq.setTo(d->config.domain()); - } - return QXmppStream::sendIq(std::move(iq)); + auto to = iq.to(); + return QXmppStream::sendIq(std::move(iq), to.isEmpty() ? d->config.domain() : to); } void QXmppOutgoingClient::_q_socketDisconnected() |
