From d95c02f575b5306ce4413e6260b46c99c65f973c Mon Sep 17 00:00:00 2001 From: strawberry <strawberry@puppygock.gay> Date: Sat, 13 Apr 2024 20:19:10 -0400 Subject: [PATCH] add config option for logging guest regs in admin room Signed-off-by: strawberry <strawberry@puppygock.gay> --- conduwuit-example.toml | 4 ++++ src/api/client_server/account.rs | 2 +- src/config/mod.rs | 6 ++++++ src/service/globals/mod.rs | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/conduwuit-example.toml b/conduwuit-example.toml index 76b81b66f..a2c61d37b 100644 --- a/conduwuit-example.toml +++ b/conduwuit-example.toml @@ -159,6 +159,10 @@ ip_range_denylist = [ # For private homeservers, this is best at false. allow_guest_registration = false +# Set to true to log guest registrations in the admin room. +# Defaults to false as it may be noisy or unnecessary. +log_guest_registrations = false + # Vector list of servers that conduwuit will refuse to download remote media from. # No default. # prevent_media_downloads_from = ["example.com", "example.local"] diff --git a/src/api/client_server/account.rs b/src/api/client_server/account.rs index 80ab24509..13a75e698 100644 --- a/src/api/client_server/account.rs +++ b/src/api/client_server/account.rs @@ -290,7 +290,7 @@ pub async fn register_route(body: Ruma<register::v3::Request>) -> Result<registe } // log in conduit admin channel if a guest registered - if !body.from_appservice && is_guest { + if !body.from_appservice && is_guest && services().globals.log_guest_registrations() { services() .admin .send_message(RoomMessageEventContent::notice_plain(format!( diff --git a/src/config/mod.rs b/src/config/mod.rs index 17aaf7edf..16a3dbfe7 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -258,6 +258,8 @@ pub struct Config { #[serde(default)] pub allow_guest_registration: bool, + #[serde(default)] + pub log_guest_registrations: bool, #[serde(default = "Vec::new")] pub prevent_media_downloads_from: Vec<OwnedServerName>, @@ -509,6 +511,10 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { "Allow guest registration (inherently false if allow registration is false)", &self.allow_guest_registration.to_string(), ), + ( + "Log guest registrations in admin room", + &self.log_guest_registrations.to_string(), + ), ("New user display name suffix", &self.new_user_displayname_suffix), ("Allow encryption", &self.allow_encryption.to_string()), ("Allow federation", &self.allow_federation.to_string()), diff --git a/src/service/globals/mod.rs b/src/service/globals/mod.rs index a6a4ea402..644cc2c68 100644 --- a/src/service/globals/mod.rs +++ b/src/service/globals/mod.rs @@ -209,6 +209,8 @@ pub fn allow_registration(&self) -> bool { self.config.allow_registration } pub fn allow_guest_registration(&self) -> bool { self.config.allow_guest_registration } + pub fn log_guest_registrations(&self) -> bool { self.config.log_guest_registrations } + pub fn allow_encryption(&self) -> bool { self.config.allow_encryption } pub fn allow_federation(&self) -> bool { self.config.allow_federation } -- GitLab