diff options
| author | Vladimir Pankratov <sollex.uz@gmail.com> | 2023-02-18 15:54:36 +0500 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-02-21 14:45:47 +0100 |
| commit | 79e684bad566a56c17c1cc270e90b0bfb9de28f2 (patch) | |
| tree | 957c1df95796fca34e95b16a301ea503d62d7e83 /src/base/QXmppStun.cpp | |
| parent | 6779e8e077db4100996a01700418263048febcaf (diff) | |
| download | qxmpp-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.cpp | 4 |
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 |
