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)
Sat, Sep 13, 12:25 AM
Unknown Object (File)
Sun, Sep 7, 9:00 AM
Unknown Object (File)
Tue, Sep 2, 10:16 PM
Unknown Object (File)
Sat, Aug 30, 8:19 AM
Unknown Object (File)
Wed, Aug 27, 9:25 AM
Unknown Object (File)
Aug 1 2025, 6:39 AM
Unknown Object (File)
Jul 18 2025, 12:29 PM
Unknown Object (File)
Jul 13 2025, 7:29 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.