git: 2cd55edbb288 - stable/13 - netstat: reduce use of historical Internet classes
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 10 Dec 2021 16:29:15 UTC
The branch stable/13 has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=2cd55edbb2887c0ceeb10cdbe776a99059fa85fa commit 2cd55edbb2887c0ceeb10cdbe776a99059fa85fa Author: Mike Karels <karels@FreeBSD.org> AuthorDate: 2021-10-27 03:39:10 +0000 Commit: Mike Karels <karels@FreeBSD.org> CommitDate: 2021-12-10 16:27:02 +0000 netstat: reduce use of historical Internet classes When attempting to characterize bound addresses, netstat was checking for host 0 on a (historical) net using inet_lnaof(). Such addresses are not normally bound, as they would not work, with the exception of the unspecified address, INADDR_ANY. Check for that explicitly. Similarly, don't check bound addresses for a match to a network name. (cherry picked from commit bd27c71c4573e14916ccd27e545a69606f0a8192) --- usr.bin/netstat/inet.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 49478c4a9247..b46f5c92e808 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -296,14 +296,14 @@ protopr(u_long off, const char *name, int af1, int proto) ( (istcp && tp->t_state == TCPS_LISTEN) || (af1 == AF_INET && - inet_lnaof(inp->inp_laddr) == INADDR_ANY) + inp->inp_laddr.s_addr == INADDR_ANY) #ifdef INET6 || (af1 == AF_INET6 && IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) #endif /* INET6 */ || (af1 == AF_UNSPEC && (((inp->inp_vflag & INP_IPV4) != 0 && - inet_lnaof(inp->inp_laddr) == INADDR_ANY) + inp->inp_laddr.s_addr == INADDR_ANY) #ifdef INET6 || ((inp->inp_vflag & INP_IPV6) != 0 && IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) @@ -1471,24 +1471,13 @@ inetname(struct in_addr *inp) char *cp; static char line[MAXHOSTNAMELEN]; struct hostent *hp; - struct netent *np; cp = 0; if (!numeric_addr && inp->s_addr != INADDR_ANY) { - int net = inet_netof(*inp); - int lna = inet_lnaof(*inp); - - if (lna == INADDR_ANY) { - np = getnetbyaddr(net, AF_INET); - if (np) - cp = np->n_name; - } - if (cp == NULL) { - hp = gethostbyaddr((char *)inp, sizeof (*inp), AF_INET); - if (hp) { - cp = hp->h_name; - trimdomain(cp, strlen(cp)); - } + hp = gethostbyaddr((char *)inp, sizeof (*inp), AF_INET); + if (hp) { + cp = hp->h_name; + trimdomain(cp, strlen(cp)); } } if (inp->s_addr == INADDR_ANY)