mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
report: use uv_getnameinfo() for socket endpoints
PR-URL: https://github.com/nodejs/node/pull/25962 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This commit is contained in:
parent
582c12260e
commit
679c23f2ae
@ -9,8 +9,6 @@ using node::MallocedBuffer;
|
||||
void ReportEndpoints(uv_handle_t* h, std::ostringstream& out) {
|
||||
struct sockaddr_storage addr_storage;
|
||||
struct sockaddr* addr = reinterpret_cast<sockaddr*>(&addr_storage);
|
||||
char hostbuf[NI_MAXHOST];
|
||||
char portbuf[NI_MAXSERV];
|
||||
uv_any_handle* handle = reinterpret_cast<uv_any_handle*>(h);
|
||||
int addr_size = sizeof(addr_storage);
|
||||
int rc = -1;
|
||||
@ -26,33 +24,22 @@ void ReportEndpoints(uv_handle_t* h, std::ostringstream& out) {
|
||||
break;
|
||||
}
|
||||
if (rc == 0) {
|
||||
// getnameinfo will format host and port and handle IPv4/IPv6.
|
||||
rc = getnameinfo(addr,
|
||||
addr_size,
|
||||
hostbuf,
|
||||
sizeof(hostbuf),
|
||||
portbuf,
|
||||
sizeof(portbuf),
|
||||
NI_NUMERICSERV);
|
||||
if (rc == 0) {
|
||||
out << std::string(hostbuf) << ":" << std::string(portbuf);
|
||||
}
|
||||
// uv_getnameinfo will format host and port and handle IPv4/IPv6.
|
||||
uv_getnameinfo_t local;
|
||||
rc = uv_getnameinfo(h->loop, &local, nullptr, addr, NI_NUMERICSERV);
|
||||
|
||||
if (rc == 0)
|
||||
out << local.host << ":" << local.service;
|
||||
|
||||
if (h->type == UV_TCP) {
|
||||
// Get the remote end of the connection.
|
||||
rc = uv_tcp_getpeername(&(handle->tcp), addr, &addr_size);
|
||||
if (rc == 0) {
|
||||
rc = getnameinfo(addr,
|
||||
addr_size,
|
||||
hostbuf,
|
||||
sizeof(hostbuf),
|
||||
portbuf,
|
||||
sizeof(portbuf),
|
||||
NI_NUMERICSERV);
|
||||
if (rc == 0) {
|
||||
out << " connected to ";
|
||||
out << std::string(hostbuf) << ":" << std::string(portbuf);
|
||||
}
|
||||
uv_getnameinfo_t remote;
|
||||
rc = uv_getnameinfo(h->loop, &remote, nullptr, addr, NI_NUMERICSERV);
|
||||
|
||||
if (rc == 0)
|
||||
out << " connected to " << remote.host << ":" << remote.service;
|
||||
} else if (rc == UV_ENOTCONN) {
|
||||
out << " (not connected)";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user