diff --git a/src/init.cpp b/src/init.cpp --- a/src/init.cpp +++ b/src/init.cpp @@ -1682,21 +1682,33 @@ // also see: InitParameterInteraction() - // Warn if network-specific options (-addnode, -connect, etc) are + // Error if network-specific options (-addnode, -connect, etc) are // specified in default section of config file, but not overridden // on the command line or in this network's section of the config file. std::string network = gArgs.GetChainName(); + bilingual_str errors; for (const auto &arg : gArgs.GetUnsuitableSectionOnlyArgs()) { - return InitError(strprintf(_("Config setting for %s only applied on %s " - "network when in [%s] section."), - arg, network, network)); + errors += strprintf(_("Config setting for %s only applied on %s " + "network when in [%s] section.") + + Untranslated("\n"), + arg, network, network); + } + + if (!errors.empty()) { + return InitError(errors); } // Warn if unrecognized section name are present in the config file. + bilingual_str warnings; for (const auto §ion : gArgs.GetUnrecognizedSections()) { - InitWarning(strprintf(Untranslated("%s:%i ") + - _("Section [%s] is not recognized."), - section.m_file, section.m_line, section.m_name)); + warnings += strprintf(Untranslated("%s:%i ") + + _("Section [%s] is not recognized.") + + Untranslated("\n"), + section.m_file, section.m_line, section.m_name); + } + + if (!warnings.empty()) { + InitWarning(warnings); } if (!fs::is_directory(GetBlocksDir())) {