diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py index a2874b070..3fce6dcff 100644 --- a/synapse/handlers/directory.py +++ b/synapse/handlers/directory.py @@ -174,7 +174,7 @@ class DirectoryHandler: if not self.config.roomdirectory.is_alias_creation_allowed( user_id, room_id, room_alias_str - ): + ) and not is_admin: # Let's just return a generic message, as there may be all sorts of # reasons why we said no. TODO: Allow configurable error messages # per alias creation rule? @@ -510,7 +510,7 @@ class DirectoryHandler: if not self.config.roomdirectory.is_publishing_room_allowed( user_id, room_id, room_aliases - ): + ) and not await self.auth.is_server_admin(requester): # Let's just return a generic message, as there may be all sorts of # reasons why we said no. TODO: Allow configurable error messages # per alias creation rule? diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index c4f4bd6e5..cfa7f6eb0 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -927,7 +927,7 @@ class RoomCreationHandler: room_aliases.append(room_alias.to_string()) if not self.config.roomdirectory.is_publishing_room_allowed( user_id, room_id, room_aliases - ): + ) and not is_requester_admin: # allow room creation to continue but do not publish room await self.store.set_room_is_public(room_id, False)