summaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorStefan Melmuk <[email protected]>2024-01-28 23:36:27 +0100
committerGitHub <[email protected]>2024-01-28 23:36:27 +0100
commit4b9384cb2bdc98d6805e91f73a0ed6ed8ddfbec3 (patch)
tree3ae2e7d972eedb383366196fedf55e25ff6380e0 /src/config.rs
parent0f39d965188588ca7f44c24e18802e8b7ff05879 (diff)
downloadvaultwarden-4b9384cb2bdc98d6805e91f73a0ed6ed8ddfbec3.tar.gz
vaultwarden-4b9384cb2bdc98d6805e91f73a0ed6ed8ddfbec3.zip
err on invalid feature flag (#4263)
* err on invalid feature flag * print all invalid flags and improve error message
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/config.rs b/src/config.rs
index e99518a7..2f0e9264 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -778,12 +778,15 @@ fn validate_config(cfg: &ConfigItems) -> Result<(), Error> {
}
}
+ // TODO: deal with deprecated flags so they can be removed from this list, cf. #4263
const KNOWN_FLAGS: &[&str] =
&["autofill-overlay", "autofill-v2", "browser-fileless-import", "fido2-vault-credentials"];
- for flag in parse_experimental_client_feature_flags(&cfg.experimental_client_feature_flags).keys() {
- if !KNOWN_FLAGS.contains(&flag.as_str()) {
- warn!("The experimental client feature flag {flag:?} is unrecognized. Please ensure the feature flag is spelled correctly and that it is supported in this version.");
- }
+ let configured_flags = parse_experimental_client_feature_flags(&cfg.experimental_client_feature_flags);
+ let invalid_flags: Vec<_> = configured_flags.keys().filter(|flag| !KNOWN_FLAGS.contains(&flag.as_str())).collect();
+ if !invalid_flags.is_empty() {
+ err!(format!("Unrecognized experimental client feature flags: {invalid_flags:?}.\n\n\
+ Please ensure all feature flags are spelled correctly and that they are supported in this version.\n\
+ Supported flags: {KNOWN_FLAGS:?}"));
}
const MAX_FILESIZE_KB: i64 = i64::MAX >> 10;