aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStun.cpp
diff options
context:
space:
mode:
authorVladimir Pankratov <sollex.uz@gmail.com>2023-02-18 15:54:36 +0500
committerLinus Jahn <lnj@kaidan.im>2023-02-21 14:45:47 +0100
commit79e684bad566a56c17c1cc270e90b0bfb9de28f2 (patch)
tree957c1df95796fca34e95b16a301ea503d62d7e83 /src/base/QXmppStun.cpp
parent6779e8e077db4100996a01700418263048febcaf (diff)
downloadqxmpp-79e684bad566a56c17c1cc270e90b0bfb9de28f2.tar.gz
According to RFC 5389, nonce (STUN attribute) should be padded
Diffstat (limited to 'src/base/QXmppStun.cpp')
-rw-r--r--src/base/QXmppStun.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/base/QXmppStun.cpp b/src/base/QXmppStun.cpp
index 8a7e61c3..9a2b3932 100644
--- a/src/base/QXmppStun.cpp
+++ b/src/base/QXmppStun.cpp
@@ -916,6 +916,10 @@ QByteArray QXmppStunMessage::encode(const QByteArray &key, bool addFingerprint)
stream << quint16(Nonce);
stream << quint16(m_nonce.size());
stream.writeRawData(m_nonce.data(), m_nonce.size());
+ if (m_nonce.size() % 4) {
+ const QByteArray padding(4 - (m_nonce.size() % 4), 0);
+ stream.writeRawData(padding.data(), padding.size());
+ }
}
// REALM