feat: Sanitize illegal XML characters from outgoing messages

Filter out control characters (U+0000 to U+001F) from outgoing
messages, as they are illegal in XML 1.0 (except for \t, \n, and \r).
This prevents XMPP servers from closing the connection when such
characters are accidentally or intentionally included in a message.

Fixes: https://github.com/profanity-im/profanity/issues/1437
This commit is contained in:
Michael Vetter
2026-03-19 09:40:44 +01:00
parent 9de455ceea
commit 189050f3f4
6 changed files with 68 additions and 3 deletions

View File

@@ -60,5 +60,6 @@ void string_matches_one_of__tests__edge_cases(void** state);
void valid_tls_policy_option__is__correct_for_various_inputs(void** state);
void get_mentions__tests__various(void** state);
void release_is_new__tests__various(void** state);
void str_xml_sanitize__strips_illegal_characters(void** state);
#endif