daemon: run with -rpc-payment-address and --rpc-restricted-bind-port

This commit is contained in:
moneromooo-monero 2019-11-29 20:05:26 +00:00
parent 411f1b0ee3
commit 5f2a32c15a
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
4 changed files with 11 additions and 7 deletions

View File

@ -78,13 +78,14 @@ public:
const auto restricted = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_restricted_rpc); const auto restricted = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_restricted_rpc);
const auto main_rpc_port = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_rpc_bind_port); const auto main_rpc_port = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_rpc_bind_port);
rpcs.emplace_back(new t_rpc{vm, core, p2p, restricted, main_rpc_port, "core"}); const auto restricted_rpc_port_arg = cryptonote::core_rpc_server::arg_rpc_restricted_bind_port;
const bool has_restricted_rpc_port_arg = !command_line::is_arg_defaulted(vm, restricted_rpc_port_arg);
rpcs.emplace_back(new t_rpc{vm, core, p2p, restricted, main_rpc_port, "core", !has_restricted_rpc_port_arg});
auto restricted_rpc_port_arg = cryptonote::core_rpc_server::arg_rpc_restricted_bind_port; if(has_restricted_rpc_port_arg)
if(!command_line::is_arg_defaulted(vm, restricted_rpc_port_arg))
{ {
auto restricted_rpc_port = command_line::get_arg(vm, restricted_rpc_port_arg); auto restricted_rpc_port = command_line::get_arg(vm, restricted_rpc_port_arg);
rpcs.emplace_back(new t_rpc{vm, core, p2p, true, restricted_rpc_port, "restricted"}); rpcs.emplace_back(new t_rpc{vm, core, p2p, true, restricted_rpc_port, "restricted", true});
} }
} }
}; };

View File

@ -56,12 +56,13 @@ public:
, const bool restricted , const bool restricted
, const std::string & port , const std::string & port
, const std::string & description , const std::string & description
, bool allow_rpc_payment
) )
: m_server{core.get(), p2p.get()}, m_description{description} : m_server{core.get(), p2p.get()}, m_description{description}
{ {
MGINFO("Initializing " << m_description << " RPC server..."); MGINFO("Initializing " << m_description << " RPC server...");
if (!m_server.init(vm, restricted, port)) if (!m_server.init(vm, restricted, port, allow_rpc_payment))
{ {
throw std::runtime_error("Failed to initialize " + m_description + " RPC server."); throw std::runtime_error("Failed to initialize " + m_description + " RPC server.");
} }

View File

@ -231,6 +231,7 @@ namespace cryptonote
const boost::program_options::variables_map& vm const boost::program_options::variables_map& vm
, const bool restricted , const bool restricted
, const std::string& port , const std::string& port
, bool allow_rpc_payment
) )
{ {
m_restricted = restricted; m_restricted = restricted;
@ -242,7 +243,7 @@ namespace cryptonote
return false; return false;
std::string address = command_line::get_arg(vm, arg_rpc_payment_address); std::string address = command_line::get_arg(vm, arg_rpc_payment_address);
if (!address.empty()) if (!address.empty() && allow_rpc_payment)
{ {
if (!m_restricted && nettype() != FAKECHAIN) if (!m_restricted && nettype() != FAKECHAIN)
{ {

View File

@ -88,7 +88,8 @@ namespace cryptonote
bool init( bool init(
const boost::program_options::variables_map& vm, const boost::program_options::variables_map& vm,
const bool restricted, const bool restricted,
const std::string& port const std::string& port,
bool allow_rpc_payment
); );
network_type nettype() const { return m_core.get_nettype(); } network_type nettype() const { return m_core.get_nettype(); }