From 46232ee2c1fbad4b3836e7d231eb5d66bd2fd6b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 8 Nov 2024 10:24:12 +0100 Subject: [PATCH] fix(sdk): add more invalid characters for room aliases --- crates/matrix-sdk-base/src/rooms/mod.rs | 4 ++-- crates/matrix-sdk/src/utils.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/matrix-sdk-base/src/rooms/mod.rs b/crates/matrix-sdk-base/src/rooms/mod.rs index b0aafcb87..cd884e9c8 100644 --- a/crates/matrix-sdk-base/src/rooms/mod.rs +++ b/crates/matrix-sdk-base/src/rooms/mod.rs @@ -66,7 +66,7 @@ pub enum RoomDisplayName { } const WHITESPACE_REGEX: &str = r"\s+"; -const INVALID_SYMBOLS_REGEX: &str = r"[#,:]+"; +const INVALID_SYMBOLS_REGEX: &str = r"[#,:\{\}\\]+"; impl RoomDisplayName { /// Transforms the current display name into the name part of a @@ -636,7 +636,7 @@ mod tests { fn test_room_alias_from_room_display_name_removes_invalid_ascii_symbols() { assert_eq!( "roomalias", - RoomDisplayName::Named("#Room,Alias:".to_owned()).to_room_alias_name() + RoomDisplayName::Named("#Room,{Alias}:".to_owned()).to_room_alias_name() ); } } diff --git a/crates/matrix-sdk/src/utils.rs b/crates/matrix-sdk/src/utils.rs index 5c1a83ee5..327c04101 100644 --- a/crates/matrix-sdk/src/utils.rs +++ b/crates/matrix-sdk/src/utils.rs @@ -191,7 +191,7 @@ impl IntoRawStateEventContent for &Box { } } -const INVALID_ROOM_ALIAS_NAME_CHARS: &str = "#,:"; +const INVALID_ROOM_ALIAS_NAME_CHARS: &str = "#,:{}\\"; /// Verifies the passed `String` matches the expected room alias format: /// @@ -265,7 +265,7 @@ mod test { #[test] fn test_is_room_alias_format_valid_when_name_part_has_invalid_char_is_not_valid() { - assert!(!is_room_alias_format_valid("#alias,test:domain.org".to_owned())) + assert!(!is_room_alias_format_valid("#a#lias,{t\\est}:domain.org".to_owned())) } #[test]