Merge pull request #8703

c90c1c3 Show IPv6 addresses in connection list (Guillaume Le Vaillant)
This commit is contained in:
luigi1111 2023-06-27 11:28:24 -05:00
commit 57c58fd5bd
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010
2 changed files with 15 additions and 3 deletions

View File

@ -281,6 +281,11 @@ namespace cryptonote
cnx.ip = cnx.host; cnx.ip = cnx.host;
cnx.port = std::to_string(cntxt.m_remote_address.as<epee::net_utils::ipv4_network_address>().port()); cnx.port = std::to_string(cntxt.m_remote_address.as<epee::net_utils::ipv4_network_address>().port());
} }
else if (cntxt.m_remote_address.get_type_id() == epee::net_utils::ipv6_network_address::get_type_id())
{
cnx.ip = cnx.host;
cnx.port = std::to_string(cntxt.m_remote_address.as<epee::net_utils::ipv6_network_address>().port());
}
cnx.rpc_port = cntxt.m_rpc_port; cnx.rpc_port = cntxt.m_rpc_port;
cnx.rpc_credits_per_hash = cntxt.m_rpc_credits_per_hash; cnx.rpc_credits_per_hash = cntxt.m_rpc_credits_per_hash;

View File

@ -644,7 +644,14 @@ bool t_rpc_command_executor::print_connections() {
} }
} }
tools::msg_writer() << std::setw(30) << std::left << "Remote Host" auto longest_host = *std::max_element(res.connections.begin(), res.connections.end(),
[](const auto &info1, const auto &info2)
{
return info1.address.length() < info2.address.length();
});
int host_field_width = std::max(15, 8 + (int) longest_host.address.length());
tools::msg_writer() << std::setw(host_field_width) << std::left << "Remote Host"
<< std::setw(8) << "Type" << std::setw(8) << "Type"
<< std::setw(6) << "SSL" << std::setw(6) << "SSL"
<< std::setw(20) << "Peer id" << std::setw(20) << "Peer id"
@ -661,11 +668,11 @@ bool t_rpc_command_executor::print_connections() {
for (auto & info : res.connections) for (auto & info : res.connections)
{ {
std::string address = info.incoming ? "INC " : "OUT "; std::string address = info.incoming ? "INC " : "OUT ";
address += info.ip + ":" + info.port; address += info.address;
//std::string in_out = info.incoming ? "INC " : "OUT "; //std::string in_out = info.incoming ? "INC " : "OUT ";
tools::msg_writer() tools::msg_writer()
//<< std::setw(30) << std::left << in_out //<< std::setw(30) << std::left << in_out
<< std::setw(30) << std::left << address << std::setw(host_field_width) << std::left << address
<< std::setw(8) << (get_address_type_name((epee::net_utils::address_type)info.address_type)) << std::setw(8) << (get_address_type_name((epee::net_utils::address_type)info.address_type))
<< std::setw(6) << (info.ssl ? "yes" : "no") << std::setw(6) << (info.ssl ? "yes" : "no")
<< std::setw(20) << info.peer_id << std::setw(20) << info.peer_id