From e619296ecefc65ef9b995c45e1d708d979971161 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 12 Apr 2021 09:17:03 -0700 Subject: [PATCH] portlist: filter out all of 127.0.0.0/8, not just 127.0.0.1/32 Per user private bug report. Signed-off-by: Brad Fitzpatrick --- portlist/netstat.go | 3 +-- portlist/netstat_test.go | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/portlist/netstat.go b/portlist/netstat.go index 2d738355c..b4119087a 100644 --- a/portlist/netstat.go +++ b/portlist/netstat.go @@ -42,8 +42,7 @@ func parsePort(s string) int { } func isLoopbackAddr(s string) bool { - return strings.HasPrefix(s, "127.0.0.1:") || - strings.HasPrefix(s, "127.0.0.1.") || + return strings.HasPrefix(s, "127.") || strings.HasPrefix(s, "[::1]:") || strings.HasPrefix(s, "::1.") } diff --git a/portlist/netstat_test.go b/portlist/netstat_test.go index 56adeffb0..e7824d3ab 100644 --- a/portlist/netstat_test.go +++ b/portlist/netstat_test.go @@ -45,6 +45,7 @@ tcp6 0 0 *.24 *.* LISTEN tcp4 0 0 *.8185 *.* LISTEN tcp4 0 0 127.0.0.1.8186 *.* LISTEN tcp6 0 0 ::1.8187 *.* LISTEN +tcp4 0 0 127.1.2.3.8188 *.* LISTEN udp6 0 0 *.5453 *.* udp4 0 0 *.5553 *.* @@ -78,7 +79,7 @@ func TestParsePortsNetstat(t *testing.T) { Port{"udp", 5354, "", ""}, Port{"udp", 5453, "", ""}, Port{"udp", 5553, "", ""}, - Port{"tcp", 8185, "", ""}, // but not 8186 or 8187 on localhost + Port{"tcp", 8185, "", ""}, // but not 8186, 8187, 8188 on localhost Port{"udp", 9353, "iTunes", ""}, }