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)
Thu, Mar 19, 8:06 PM
Unknown Object (File)
Wed, Mar 18, 3:15 AM
Unknown Object (File)
Tue, Mar 17, 2:09 AM
Unknown Object (File)
Sun, Mar 15, 5:05 PM
Unknown Object (File)
Thu, Feb 26, 7:13 PM
Unknown Object (File)
Thu, Feb 26, 1:10 PM
Unknown Object (File)
Feb 26 2026, 5:33 AM
Unknown Object (File)
Feb 8 2026, 3:07 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.