diff --git a/conduwuit-example.toml b/conduwuit-example.toml index 089088f4441e4a3f61fa8a4110aec45fc6bcf92b..d1163874cba5f72ec466ebc6621c26fc44e9e51d 100644 --- a/conduwuit-example.toml +++ b/conduwuit-example.toml @@ -173,7 +173,7 @@ registration_token = "change this token for something specific to your server" # This is checked upon room alias creation, custom room ID creation if used, and startup as warnings if any room aliases # in your database have a forbidden room alias/ID. # No default. -# forbidden_room_names = [] +# forbidden_alias_names = [] # Set this to true to allow your server's public room directory to be federated. # Set this to false to protect against /publicRooms spiders, but will forbid external users diff --git a/src/api/client_server/alias.rs b/src/api/client_server/alias.rs index be4a8ed0a83aea9d247af00e85a0ccacef8e2f44..dc37c3a72d1d86d19bdbfc57c9209aa057f10300 100644 --- a/src/api/client_server/alias.rs +++ b/src/api/client_server/alias.rs @@ -21,7 +21,7 @@ pub async fn create_alias_route(body: Ruma<create_alias::v3::Request>) -> Result return Err(Error::BadRequest(ErrorKind::InvalidParam, "Alias is from another server.")); } - if services().globals.forbidden_room_names().is_match(body.room_alias.alias()) { + if services().globals.forbidden_alias_names().is_match(body.room_alias.alias()) { return Err(Error::BadRequest(ErrorKind::Unknown, "Room alias is forbidden.")); } diff --git a/src/api/client_server/room.rs b/src/api/client_server/room.rs index a6e667d74a57c909ea914626ddfc0edc779b4ce0..843cf0ed1b77bcd268771b78ff2304c4539b881c 100644 --- a/src/api/client_server/room.rs +++ b/src/api/client_server/room.rs @@ -80,7 +80,7 @@ pub async fn create_room_route(body: Ruma<create_room::v3::Request>) -> Result<c } // apply forbidden room alias checks to custom room IDs too - if services().globals.forbidden_room_names().is_match(&custom_room_id_s) { + if services().globals.forbidden_alias_names().is_match(&custom_room_id_s) { return Err(Error::BadRequest(ErrorKind::Unknown, "Custom room ID is forbidden.")); } @@ -144,7 +144,7 @@ pub async fn create_room_route(body: Ruma<create_room::v3::Request>) -> Result<c } // check if room alias is forbidden - if services().globals.forbidden_room_names().is_match(localpart) { + if services().globals.forbidden_alias_names().is_match(localpart) { return Err(Error::BadRequest(ErrorKind::Unknown, "Room alias name is forbidden.")); } diff --git a/src/config/mod.rs b/src/config/mod.rs index c6252a83f1726e4d6033f02fc867138ed9d39859..2ecbce3a193d96f97dbcb92dee0bdb6c455bb1e8 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -172,7 +172,7 @@ pub struct Config { #[serde(default = "RegexSet::empty")] #[serde(with = "serde_regex")] - pub forbidden_room_names: RegexSet, + pub forbidden_alias_names: RegexSet, #[serde(default = "RegexSet::empty")] #[serde(with = "serde_regex")] @@ -405,8 +405,8 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { ("Forbidden usernames", { &self.forbidden_usernames.patterns().iter().join(", ") }), - ("Forbidden room names", { - &self.forbidden_room_names.patterns().iter().join(", ") + ("Forbidden room aliases", { + &self.forbidden_alias_names.patterns().iter().join(", ") }), ( "URL preview domain contains allowlist", diff --git a/src/database/mod.rs b/src/database/mod.rs index d61dfad27f47740af7ef2458c10298f4882da730..55d4ce9c6cfa4bbe339bfc9016774af6b70d139d 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -953,7 +953,7 @@ pub async fn load_or_create(config: Config) -> Result<()> { } { - let patterns = &services().globals.config.forbidden_room_names; + let patterns = &services().globals.config.forbidden_alias_names; if !patterns.is_empty() { for address in services().rooms.metadata.iter_ids() { let room_id = address?; diff --git a/src/service/globals/mod.rs b/src/service/globals/mod.rs index 6f30e1b2377e31a95b4749da6a721a4c35da1cf5..3f95c1388f913b799bdddb2aea8fbadab130c363 100644 --- a/src/service/globals/mod.rs +++ b/src/service/globals/mod.rs @@ -345,7 +345,7 @@ pub fn url_preview_max_spider_size(&self) -> usize { self.config.url_preview_max pub fn url_preview_check_root_domain(&self) -> bool { self.config.url_preview_check_root_domain } - pub fn forbidden_room_names(&self) -> &RegexSet { &self.config.forbidden_room_names } + pub fn forbidden_alias_names(&self) -> &RegexSet { &self.config.forbidden_alias_names } pub fn forbidden_usernames(&self) -> &RegexSet { &self.config.forbidden_usernames }