From d7f02b448a929d6c9e4934ebbee87355336aeeb1 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet Date: Thu, 10 Sep 2020 13:14:19 +0000 Subject: [PATCH] cmd/geth: print warning when whisper config is present in toml (#21544) * cmd/geth: print warning when whisper config is present in toml * Update cmd/geth/config.go Co-authored-by: Martin Holst Swende --- cmd/geth/config.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmd/geth/config.go b/cmd/geth/config.go index 2c15a4c832..6b51843aa4 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -73,8 +73,19 @@ type ethstatsConfig struct { URL string `toml:",omitempty"` } +// whisper has been deprecated, but clients out there might still have [Shh] +// in their config, which will crash. Cut them some slack by keeping the +// config, and displaying a message that those config switches are ineffectual. +// To be removed circa Q1 2021 -- @gballet. +type whisperDeprecatedConfig struct { + MaxMessageSize uint32 `toml:",omitempty"` + MinimumAcceptedPOW float64 `toml:",omitempty"` + RestrictConnectionBetweenLightClients bool `toml:",omitempty"` +} + type gethConfig struct { Eth eth.Config + Shh whisperDeprecatedConfig Node node.Config Ethstats ethstatsConfig } @@ -117,6 +128,10 @@ func makeConfigNode(ctx *cli.Context) (*node.Node, gethConfig) { if err := loadConfig(file, &cfg); err != nil { utils.Fatalf("%v", err) } + + if cfg.Shh != (whisperDeprecatedConfig{}) { + log.Warn("Deprecated whisper config detected. Whisper has been moved to github.com/ethereum/whisper") + } } // Apply flags.