parent
de91bb75a1
commit
c2ad9caf01
|
@ -350,19 +350,24 @@ POP_WARNINGS
|
||||||
{
|
{
|
||||||
//parse ip and address
|
//parse ip and address
|
||||||
std::string::size_type p = addres.find(':');
|
std::string::size_type p = addres.find(':');
|
||||||
|
std::string ip_str, port_str;
|
||||||
if(p == std::string::npos)
|
if(p == std::string::npos)
|
||||||
{
|
{
|
||||||
return false;
|
port = 0;
|
||||||
|
ip_str = addres;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ip_str = addres.substr(0, p);
|
||||||
|
port_str = addres.substr(p+1, addres.size());
|
||||||
}
|
}
|
||||||
std::string ip_str = addres.substr(0, p);
|
|
||||||
std::string port_str = addres.substr(p+1, addres.size());
|
|
||||||
|
|
||||||
if(!get_ip_int32_from_string(ip, ip_str))
|
if(!get_ip_int32_from_string(ip, ip_str))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!get_xtype_from_string(port, port_str))
|
if(p != std::string::npos && !get_xtype_from_string(port, port_str))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -262,6 +262,8 @@ namespace nodetool
|
||||||
pe.id = crypto::rand<uint64_t>();
|
pe.id = crypto::rand<uint64_t>();
|
||||||
bool r = parse_peer_from_string(pe.adr, pr_str);
|
bool r = parse_peer_from_string(pe.adr, pr_str);
|
||||||
CHECK_AND_ASSERT_MES(r, false, "Failed to parse address from string: " << pr_str);
|
CHECK_AND_ASSERT_MES(r, false, "Failed to parse address from string: " << pr_str);
|
||||||
|
if (pe.adr.port == 0)
|
||||||
|
pe.adr.port = testnet ? ::config::testnet::P2P_DEFAULT_PORT : ::config::P2P_DEFAULT_PORT;
|
||||||
m_command_line_peers.push_back(pe);
|
m_command_line_peers.push_back(pe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1505,12 +1507,15 @@ namespace nodetool
|
||||||
bool node_server<t_payload_net_handler>::parse_peers_and_add_to_container(const boost::program_options::variables_map& vm, const command_line::arg_descriptor<std::vector<std::string> > & arg, Container& container)
|
bool node_server<t_payload_net_handler>::parse_peers_and_add_to_container(const boost::program_options::variables_map& vm, const command_line::arg_descriptor<std::vector<std::string> > & arg, Container& container)
|
||||||
{
|
{
|
||||||
std::vector<std::string> perrs = command_line::get_arg(vm, arg);
|
std::vector<std::string> perrs = command_line::get_arg(vm, arg);
|
||||||
|
bool testnet = command_line::get_arg(vm, command_line::arg_testnet_on);
|
||||||
|
|
||||||
for(const std::string& pr_str: perrs)
|
for(const std::string& pr_str: perrs)
|
||||||
{
|
{
|
||||||
nodetool::net_address na = AUTO_VAL_INIT(na);
|
nodetool::net_address na = AUTO_VAL_INIT(na);
|
||||||
bool r = parse_peer_from_string(na, pr_str);
|
bool r = parse_peer_from_string(na, pr_str);
|
||||||
CHECK_AND_ASSERT_MES(r, false, "Failed to parse address from string: " << pr_str);
|
CHECK_AND_ASSERT_MES(r, false, "Failed to parse address from string: " << pr_str);
|
||||||
|
if (na.port == 0)
|
||||||
|
na.port = testnet ? ::config::testnet::P2P_DEFAULT_PORT : ::config::P2P_DEFAULT_PORT;
|
||||||
container.push_back(na);
|
container.push_back(na);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue