add config option for logging guest regs in admin room

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-04-13 20:19:10 -04:00 committed by June
parent e57051acd8
commit d95c02f575
4 changed files with 13 additions and 1 deletions

View file

@ -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"]

View file

@ -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!(

View file

@ -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 @@ impl fmt::Display for Config {
"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()),

View file

@ -209,6 +209,8 @@ impl Service<'_> {
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 }