Skip to content

Fix incorrect omemo decryption error for Key Transport Messages #2130

Merged
jubalh merged 2 commits intomasterfrom
fix/omemo-false-cannot-decrypt-msg
Mar 22, 2026
Merged

Fix incorrect omemo decryption error for Key Transport Messages #2130
jubalh merged 2 commits intomasterfrom
fix/omemo-false-cannot-decrypt-msg

Conversation

@jubalh
Copy link
Copy Markdown
Member

@jubalh jubalh commented Mar 22, 2026

Correctly handle OMEMO stanzas that contain a <header> but no <payload>.
These "Key Transport Messages" (heartbeats) are used by some clients
for session maintenance and establishing trust.

Ref: a2726b6 made the element mandatory in the parser.
Ref: 4d49c2b the bug became user-visible.

Fixes: #2129

@jubalh jubalh added this to the next milestone Mar 22, 2026
@jubalh jubalh self-assigned this Mar 22, 2026
@jubalh jubalh added the OMEMO label Mar 22, 2026
jubalh added 2 commits March 22, 2026 17:41
Correctly handle OMEMO stanzas that contain a <header> but no <payload>.
These "Key Transport Messages" (heartbeats) are used by some clients
for session maintenance and establishing trust.

Ref: a2726b6 made the <payload> element mandatory in the parser.
Ref: 4d49c2b the bug became user-visible.

Fixes: #2129
Signed-off-by: Michael Vetter <jubalh@iodoru.org>
Centralize heartbeat detection and have a function for error to string
mapping. So we don't need the same code in multiple handlers.

Signed-off-by: Michael Vetter <jubalh@iodoru.org>
@jubalh jubalh force-pushed the fix/omemo-false-cannot-decrypt-msg branch from 7dad5d0 to a824b26 Compare March 22, 2026 16:42
@jubalh jubalh merged commit 050096c into master Mar 22, 2026
10 checks passed
@jubalh jubalh deleted the fix/omemo-false-cannot-decrypt-msg branch March 22, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Profanity displays OMEMO messages when actually the contact didn't send anything

1 participant