From 79d5d306cc66ca6d7f1296dddbd9b55ba63973cc Mon Sep 17 00:00:00 2001 From: Lambda Date: Fri, 7 Jun 2024 09:18:08 +0000 Subject: [PATCH] Move TURN config to separate config section This renames: turn_username -> turn.username turn_password -> turn.password turn_uris -> turn.uris turn_secret -> turn.secret turn_ttl -> turn.ttl --- src/config.rs | 36 +++++++++++++++++++++++------------- src/service/globals.rs | 10 +++++----- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/config.rs b/src/config.rs index 03a5673c..806e3770 100644 --- a/src/config.rs +++ b/src/config.rs @@ -81,15 +81,7 @@ pub(crate) struct Config { #[serde(default)] pub(crate) log_format: LogFormat, #[serde(default)] - pub(crate) turn_username: String, - #[serde(default)] - pub(crate) turn_password: String, - #[serde(default = "Vec::new")] - pub(crate) turn_uris: Vec, - #[serde(default)] - pub(crate) turn_secret: String, - #[serde(default = "default_turn_ttl")] - pub(crate) turn_ttl: u64, + pub(crate) turn: TurnConfig, pub(crate) emergency_password: Option, } @@ -144,6 +136,28 @@ pub(crate) enum LogFormat { Json, } +#[derive(Clone, Debug, Deserialize)] +#[serde(default)] +pub(crate) struct TurnConfig { + pub(crate) username: String, + pub(crate) password: String, + pub(crate) uris: Vec, + pub(crate) secret: String, + pub(crate) ttl: u64, +} + +impl Default for TurnConfig { + fn default() -> Self { + Self { + username: String::new(), + password: String::new(), + uris: Vec::new(), + secret: String::new(), + ttl: 60 * 60 * 24, + } + } +} + fn false_fn() -> bool { false } @@ -213,10 +227,6 @@ fn default_log() -> EnvFilterClone { .expect("hardcoded env filter should be valid") } -fn default_turn_ttl() -> u64 { - 60 * 60 * 24 -} - // I know, it's a great name pub(crate) fn default_default_room_version() -> RoomVersionId { RoomVersionId::V10 diff --git a/src/service/globals.rs b/src/service/globals.rs index f83f1f79..8a73f089 100644 --- a/src/service/globals.rs +++ b/src/service/globals.rs @@ -366,23 +366,23 @@ impl Service { } pub(crate) fn turn_password(&self) -> &String { - &self.config.turn_password + &self.config.turn.password } pub(crate) fn turn_ttl(&self) -> u64 { - self.config.turn_ttl + self.config.turn.ttl } pub(crate) fn turn_uris(&self) -> &[String] { - &self.config.turn_uris + &self.config.turn.uris } pub(crate) fn turn_username(&self) -> &String { - &self.config.turn_username + &self.config.turn.username } pub(crate) fn turn_secret(&self) -> &String { - &self.config.turn_secret + &self.config.turn.secret } pub(crate) fn emergency_password(&self) -> &Option {