allow peers without port
The default port is then used
This commit is contained in:
parent
de91bb75a1
commit
c2ad9caf01
@ -350,19 +350,24 @@ POP_WARNINGS
|
||||
{
|
||||
//parse ip and address
|
||||
std::string::size_type p = addres.find(':');
|
||||
std::string ip_str, port_str;
|
||||
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))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!get_xtype_from_string(port, port_str))
|
||||
if(p != std::string::npos && !get_xtype_from_string(port, port_str))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -262,6 +262,8 @@ namespace nodetool
|
||||
pe.id = crypto::rand<uint64_t>();
|
||||
bool r = parse_peer_from_string(pe.adr, 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);
|
||||
}
|
||||
}
|
||||
@ -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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
nodetool::net_address na = AUTO_VAL_INIT(na);
|
||||
bool r = parse_peer_from_string(na, 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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user