From c93961b0c682b6613849976a4cf8fe7394f01d69 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 3 Mar 2021 11:13:55 +0200 Subject: fix: don't allow unknown fields in configuration files --- src/client.rs | 1 + src/server.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/client.rs b/src/client.rs index 7d1613c..84a6677 100644 --- a/src/client.rs +++ b/src/client.rs @@ -22,6 +22,7 @@ const DEFAULT_CHUNK_SIZE: usize = MIB as usize; const DEVNULL: &str = "/dev/null"; #[derive(Debug, Serialize, Deserialize, Clone)] +#[serde(deny_unknown_fields)] struct TentativeClientConfig { server_url: String, verify_tls_cert: Option, diff --git a/src/server.rs b/src/server.rs index 2bd32ef..a464c6e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -7,6 +7,7 @@ use std::default::Default; use std::path::{Path, PathBuf}; #[derive(Debug, Deserialize, Clone)] +#[serde(deny_unknown_fields)] pub struct ServerConfig { pub chunks: PathBuf, pub address: String, -- cgit v1.2.1 From fde9bebf33cdd1af8d34bf831a87bdb76fbd9512 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 3 Mar 2021 11:14:48 +0200 Subject: refactor: drop unnecessary derives for config structs We never serialize TentativeClientConfig or de-serialize ClientConfig, so those derives are unnecessary. --- src/client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client.rs b/src/client.rs index 84a6677..f74e184 100644 --- a/src/client.rs +++ b/src/client.rs @@ -21,7 +21,7 @@ use std::path::{Path, PathBuf}; const DEFAULT_CHUNK_SIZE: usize = MIB as usize; const DEVNULL: &str = "/dev/null"; -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Clone)] #[serde(deny_unknown_fields)] struct TentativeClientConfig { server_url: String, @@ -31,7 +31,7 @@ struct TentativeClientConfig { log: Option, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Serialize, Clone)] pub struct ClientConfig { pub server_url: String, pub verify_tls_cert: bool, -- cgit v1.2.1