Page MenuHomeFreeBSD

sockstat: change check for wildcard sockets to avoid historical classes
ClosedPublic

Authored by karels on Oct 28 2021, 4:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Feb 8, 3:07 AM
Unknown Object (File)
Sat, Feb 7, 11:35 PM
Unknown Object (File)
Sun, Feb 1, 10:50 PM
Unknown Object (File)
Sat, Jan 31, 1:41 AM
Unknown Object (File)
Dec 31 2025, 3:24 PM
Unknown Object (File)
Dec 26 2025, 1:35 PM
Unknown Object (File)
Dec 22 2025, 2:26 PM
Unknown Object (File)
Nov 27 2025, 3:32 AM
Subscribers

Details

Summary

sockstat was checking whether a bound address was "host 0", the lowest
host on a network, using inet_lnaof(). This only works for class A/B/C.
However, it isn't useful to bind such an address unless it is really
the unspecified address INADDR_ANY. Change the check to to use that.

Test Plan

tested on system with numerous servers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 42420
Build 39308: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Oct 28 2021, 9:54 PM
usr.bin/sockstat/sockstat.c
877

Don't you need here (conceptually) htonl(INADDR_ANY)?

usr.bin/sockstat/sockstat.c
877

Conceptually, yes. I see several other instances of comparisons of in_addr's to INADDR_ANY in netstat and others; I had probably just looked at that. I could change it if you prefer; it's not a performance issue.