mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-11 16:20:16 -04:00
Discard null-containing strings before updating the user directory (#12762)
This commit is contained in:
parent
8afb7b55d0
commit
d4713d3e33
6 changed files with 45 additions and 11 deletions
|
@ -1007,6 +1007,34 @@ class UserDirectoryTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(in_public, {(bob, room1), (bob, room2)})
|
||||
self.assertEqual(in_private, set())
|
||||
|
||||
def test_ignore_display_names_with_null_codepoints(self) -> None:
|
||||
MXC_DUMMY = "mxc://dummy"
|
||||
|
||||
# Alice creates a public room.
|
||||
alice = self.register_user("alice", "pass")
|
||||
|
||||
# Alice has a user directory entry to start with.
|
||||
self.assertIn(
|
||||
alice,
|
||||
self.get_success(self.user_dir_helper.get_profiles_in_user_directory()),
|
||||
)
|
||||
|
||||
# Alice changes her name to include a null codepoint.
|
||||
self.get_success(
|
||||
self.hs.get_user_directory_handler().handle_local_profile_change(
|
||||
alice,
|
||||
ProfileInfo(
|
||||
display_name="abcd\u0000efgh",
|
||||
avatar_url=MXC_DUMMY,
|
||||
),
|
||||
)
|
||||
)
|
||||
# Alice's profile should be updated with the new avatar, but no display name.
|
||||
self.assertEqual(
|
||||
self.get_success(self.user_dir_helper.get_profiles_in_user_directory()),
|
||||
{alice: ProfileInfo(display_name=None, avatar_url=MXC_DUMMY)},
|
||||
)
|
||||
|
||||
|
||||
class TestUserDirSearchDisabled(unittest.HomeserverTestCase):
|
||||
servlets = [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue