mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Cleanly report invalid [server] settings (RIPD-1562)
This commit is contained in:
committed by
Nikolaos D. Bougalis
parent
20cdb4dca0
commit
edf58820cf
@@ -61,6 +61,7 @@
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
|
||||
namespace ripple {
|
||||
|
||||
@@ -1225,11 +1226,23 @@ bool ApplicationImp::setup()
|
||||
}
|
||||
|
||||
{
|
||||
auto setup = setup_ServerHandler(
|
||||
*config_,
|
||||
beast::logstream { m_journal.error() });
|
||||
setup.makeContexts();
|
||||
serverHandler_->setup (setup, m_journal);
|
||||
try
|
||||
{
|
||||
auto setup = setup_ServerHandler(
|
||||
*config_, beast::logstream{m_journal.error()});
|
||||
setup.makeContexts();
|
||||
serverHandler_->setup(setup, m_journal);
|
||||
}
|
||||
catch (std::exception const& e)
|
||||
{
|
||||
if (auto stream = m_journal.fatal())
|
||||
{
|
||||
stream << "Unable to setup server handler";
|
||||
if(std::strlen(e.what()) > 0)
|
||||
stream << ": " << e.what();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Begin connecting to network.
|
||||
|
||||
@@ -893,19 +893,19 @@ to_Port(ParsedPort const& parsed, std::ostream& log)
|
||||
|
||||
if (! parsed.ip)
|
||||
{
|
||||
log << "Missing 'ip' in [" << p.name << "]\n";
|
||||
log << "Missing 'ip' in [" << p.name << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
p.ip = *parsed.ip;
|
||||
|
||||
if (! parsed.port)
|
||||
{
|
||||
log << "Missing 'port' in [" << p.name << "]\n";
|
||||
log << "Missing 'port' in [" << p.name << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
else if (*parsed.port == 0)
|
||||
{
|
||||
log << "Port " << *parsed.port << "in [" << p.name << "] is invalid\n";
|
||||
log << "Port " << *parsed.port << "in [" << p.name << "] is invalid";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
p.port = *parsed.port;
|
||||
@@ -916,7 +916,7 @@ to_Port(ParsedPort const& parsed, std::ostream& log)
|
||||
|
||||
if (parsed.protocol.empty())
|
||||
{
|
||||
log << "Missing 'protocol' in [" << p.name << "]\n";
|
||||
log << "Missing 'protocol' in [" << p.name << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
p.protocol = parsed.protocol;
|
||||
@@ -947,7 +947,7 @@ parse_Ports (
|
||||
if (! config.exists("server"))
|
||||
{
|
||||
log <<
|
||||
"Required section [server] is missing\n";
|
||||
"Required section [server] is missing";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
|
||||
@@ -961,7 +961,7 @@ parse_Ports (
|
||||
if (! config.exists(name))
|
||||
{
|
||||
log <<
|
||||
"Missing section: [" << name << "]\n";
|
||||
"Missing section: [" << name << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
ParsedPort parsed = common;
|
||||
@@ -997,12 +997,12 @@ parse_Ports (
|
||||
|
||||
if (count > 1)
|
||||
{
|
||||
log << "Error: More than one peer protocol configured in [server]\n";
|
||||
log << "Error: More than one peer protocol configured in [server]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
|
||||
if (count == 0)
|
||||
log << "Warning: No peer protocol configured\n";
|
||||
log << "Warning: No peer protocol configured";
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
@@ -87,7 +87,7 @@ populate (Section const& section, std::string const& field, std::ostream& log,
|
||||
if (! addr.second)
|
||||
{
|
||||
log << "Invalid value '" << ip << "' for key '" << field <<
|
||||
"' in [" << section.name () << "]\n";
|
||||
"' in [" << section.name () << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ populate (Section const& section, std::string const& field, std::ostream& log,
|
||||
{
|
||||
log << "0.0.0.0 not allowed'" <<
|
||||
"' for key '" << field << "' in [" <<
|
||||
section.name () << "]\n";
|
||||
section.name () << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
else
|
||||
@@ -110,7 +110,7 @@ populate (Section const& section, std::string const& field, std::ostream& log,
|
||||
{
|
||||
log << "IP specified along with 0.0.0.0 '" << ip <<
|
||||
"' for key '" << field << "' in [" <<
|
||||
section.name () << "]\n";
|
||||
section.name () << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ populate (Section const& section, std::string const& field, std::ostream& log,
|
||||
) != admin_ip.end())
|
||||
{
|
||||
log << "IP specified for " << field << " is also for " <<
|
||||
"admin: " << ip << " in [" << section.name() << "]\n";
|
||||
"admin: " << ip << " in [" << section.name() << "]";
|
||||
Throw<std::exception> ();
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ parse_Port (ParsedPort& port, Section const& section, std::ostream& log)
|
||||
catch (std::exception const&)
|
||||
{
|
||||
log << "Invalid value '" << result.first <<
|
||||
"' for key 'ip' in [" << section.name() << "]\n";
|
||||
"' for key 'ip' in [" << section.name() << "]";
|
||||
Rethrow();
|
||||
}
|
||||
}
|
||||
@@ -169,7 +169,7 @@ parse_Port (ParsedPort& port, Section const& section, std::ostream& log)
|
||||
{
|
||||
log <<
|
||||
"Invalid value '" << result.first << "' for key " <<
|
||||
"'port' in [" << section.name() << "]\n";
|
||||
"'port' in [" << section.name() << "]";
|
||||
Rethrow();
|
||||
}
|
||||
}
|
||||
@@ -199,7 +199,7 @@ parse_Port (ParsedPort& port, Section const& section, std::ostream& log)
|
||||
{
|
||||
log <<
|
||||
"Invalid value '" << lim << "' for key " <<
|
||||
"'limit' in [" << section.name() << "]\n";
|
||||
"'limit' in [" << section.name() << "]";
|
||||
Rethrow();
|
||||
}
|
||||
}
|
||||
@@ -222,7 +222,7 @@ parse_Port (ParsedPort& port, Section const& section, std::ostream& log)
|
||||
{
|
||||
log <<
|
||||
"Invalid value '" << result.first << "' for key " <<
|
||||
"'send_queue_limit' in [" << section.name() << "]\n";
|
||||
"'send_queue_limit' in [" << section.name() << "]";
|
||||
Rethrow();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user