internal/clientinfo: map ::1 to the right host MAC address

So queries originating from host using ::1 as source will be recognized
properly, and treated the same as other queries from host itself.
This commit is contained in:
Cuong Manh Le
2024-04-19 14:32:09 +07:00
committed by Cuong Manh Le
parent b5cf0e2b31
commit dd9f2465be
4 changed files with 21 additions and 10 deletions
+13
View File
@@ -14,6 +14,11 @@ import (
"github.com/Control-D-Inc/ctrld/internal/controld"
)
const (
ipV4Loopback = "127.0.0.1"
ipv6Loopback = "::1"
)
// IpResolver is the interface for retrieving IP from Mac.
type IpResolver interface {
fmt.Stringer
@@ -322,6 +327,14 @@ func (t *Table) LookupRFC1918IPv4(mac string) string {
return ""
}
// LocalHostname returns the localhost hostname associated with loopback IP.
func (t *Table) LocalHostname(v6 bool) string {
if v6 {
return t.LookupHostname(ipv6Loopback, "")
}
return t.LookupHostname(ipV4Loopback, "")
}
type macEntry struct {
mac string
src string