Every config struct is #[serde(default)], so a misspelled key was dropped in
silence and the setting kept its default. Writing `prot = 9999` under
[listen] started the server on 4530 without a word.
Collect the ignored key paths with serde_ignored and pair each with the
closest known key at the same level:
WARN unknown config key 'listen.prot' (did you mean 'listen.port'?)
Warnings by default, so a config written for a newer version still runs on an
older binary; --strict-config makes them fatal for CI. Logging now starts
before validation so these warnings are actually visible.
trx-configurator --check drops its hand-maintained key lists and re-implemented
range checks in favour of the real loader and validators, so it no longer
passes configs the binaries reject.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SyX26FCpMQxiBoC7r5K1A7
Signed-off-by: Stan Grams <sjg@haxx.space>
24 lines
469 B
TOML
24 lines
469 B
TOML
# SPDX-FileCopyrightText: 2026 Stan Grams <sjg@haxx.space>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
[package]
|
|
name = "trx-configurator"
|
|
version.workspace = true
|
|
edition = "2021"
|
|
|
|
[[bin]]
|
|
name = "trx-configurator"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
clap = { workspace = true, features = ["derive"] }
|
|
dialoguer = "0.11"
|
|
tokio-serial = { workspace = true }
|
|
toml = "0.8"
|
|
toml_edit = "0.22"
|
|
trx-config = { path = "../trx-config" }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|