From 3868c625113d3f9669356f71fd0d33c008eccc64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20DOUIN?= Date: Tue, 12 Mar 2024 11:56:44 +0100 Subject: [PATCH] prevent unknown fields at top config level --- CHANGELOG.md | 2 ++ src/config/mod.rs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbaed5a..247a1c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fixed watch IMAP envelopes when folder was empty [#179]. +- Prevent parsing of undefined config options [#188]. ## [1.0.0-beta.3] - 2024-02-25 @@ -806,3 +807,4 @@ Few major concepts changed: [#95]: https://todo.sr.ht/~soywod/pimalaya/95 [#172]: https://todo.sr.ht/~soywod/pimalaya/172 [#173]: https://todo.sr.ht/~soywod/pimalaya/173 +[#188]: https://todo.sr.ht/~soywod/pimalaya/188 diff --git a/src/config/mod.rs b/src/config/mod.rs index 82b3217..337e17e 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -23,7 +23,7 @@ use crate::{account::config::TomlAccountConfig, wizard_prompt, wizard_warn}; /// Represents the user config file. #[derive(Clone, Debug, Default, Eq, PartialEq, Deserialize, Serialize)] -#[serde(rename_all = "kebab-case")] +#[serde(rename_all = "kebab-case", deny_unknown_fields)] pub struct TomlConfig { #[serde(alias = "name")] pub display_name: Option,