diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-05-09 18:20:27 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-05-12 14:31:49 +0200 |
| commit | 8a9bae9f60de9789e391291372df26ef93b7fd75 (patch) | |
| tree | 15157290bda352cc554fb52a38bab69d8655e5f4 /src/base | |
| parent | 9de673a1c44dfc4be9651838b8abca1298c536b8 (diff) | |
| download | qxmpp-8a9bae9f60de9789e391291372df26ef93b7fd75.tar.gz | |
Message: Do not allow XEP-0184 request and received element together
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppMessage.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/base/QXmppMessage.cpp b/src/base/QXmppMessage.cpp index 46b8c797..abae1123 100644 --- a/src/base/QXmppMessage.cpp +++ b/src/base/QXmppMessage.cpp @@ -1598,13 +1598,15 @@ void QXmppMessage::serializeExtensions(QXmlStreamWriter *writer, QXmpp::SceMode } // XEP-0184: Message Delivery Receipts + // An ack message (message containing a "received" element) must not + // include a receipt request ("request" element) in order to prevent + // looping. if (!d->receiptId.isEmpty()) { writer->writeStartElement(QStringLiteral("received")); writer->writeDefaultNamespace(ns_message_receipts); writer->writeAttribute(QStringLiteral("id"), d->receiptId); writer->writeEndElement(); - } - if (d->receiptRequested) { + } else if (d->receiptRequested) { writer->writeStartElement(QStringLiteral("request")); writer->writeDefaultNamespace(ns_message_receipts); writer->writeEndElement(); |
