From ef7ebf9dd8579347fad49f33676c6196cfb93932 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 8 Mar 2018 13:34:36 -0800 Subject: [PATCH] rename, comment, and move loopback prefixes Helps readers understand what they're looking at. --- ip.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ip.go b/ip.go index cee0ee0..d188957 100644 --- a/ip.go +++ b/ip.go @@ -24,6 +24,14 @@ var ( IP6Unspecified = ma.StringCast("/ip6/::") ) +// Loopback multiaddr prefixes. Any multiaddr beginning with one of the +// following byte sequences is considered a loopback multiaddr. +var loopbackPrefixes = [][]byte{ + {ma.P_IP4, 127}, // 127.* + IP6LinkLocalLoopback.Bytes(), + IP6Loopback.Bytes(), +} + // IsThinWaist returns whether a Multiaddr starts with "Thin Waist" Protocols. // This means: /{IP4, IP6}[/{TCP, UDP}] func IsThinWaist(m ma.Multiaddr) bool { @@ -51,17 +59,11 @@ func IsThinWaist(m ma.Multiaddr) bool { } } -var localPrefixes = [][]byte{ - {ma.P_IP4, 127}, // 127.* - IP6LinkLocalLoopback.Bytes(), - IP6Loopback.Bytes(), -} - // IsIPLoopback returns whether a Multiaddr is a "Loopback" IP address // This means either /ip4/127.*.*.*, /ip6/::1, or /ip6/fe80::1 func IsIPLoopback(m ma.Multiaddr) bool { b := m.Bytes() - for _, prefix := range localPrefixes { + for _, prefix := range loopbackPrefixes { if bytes.HasPrefix(b, prefix) { return true }