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 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(!command_line::is_arg_defaulted(vm, restricted_rpc_port_arg))
if(has_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 std::string & port
, const std::string & description
, bool allow_rpc_payment
)
: m_server{core.get(), p2p.get()}, m_description{description}
{
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.");
}

View file

@ -231,6 +231,7 @@ namespace cryptonote
const boost::program_options::variables_map& vm
, const bool restricted
, const std::string& port
, bool allow_rpc_payment
)
{
m_restricted = restricted;
@ -242,7 +243,7 @@ namespace cryptonote
return false;
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)
{

View file

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