From 537ae1c01ee3753bb11ffddc1f094bdd2715b1e6 Mon Sep 17 00:00:00 2001 From: Dan Fuhry Date: Tue, 16 Apr 2024 08:40:46 -0400 Subject: [PATCH] machines/coredns_plugin: fix erroneously case-sensitive hostname map --- machines/coredns_plugin/registry.go | 6 +++--- machines/coredns_plugin/registry_store.go | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/machines/coredns_plugin/registry.go b/machines/coredns_plugin/registry.go index 8ba93ae..6615023 100644 --- a/machines/coredns_plugin/registry.go +++ b/machines/coredns_plugin/registry.go @@ -202,7 +202,7 @@ func (r *registry) defaultDomain() *machines.Domain { } func (r *registry) domainFromQuestion(ques dns.Question) *machines.Domain { - qname := strings.TrimSuffix(ques.Name, ".") + qname := strings.ToLower(strings.TrimSuffix(ques.Name, ".")) for _, domain := range r.store.Domains { if qname == domain.Name || strings.HasSuffix(qname, "."+domain.Name) { return domain @@ -254,7 +254,7 @@ func (r *registry) AdditionalRecords(ques dns.Question, answers []dns.RR) []dns. } func (r *registry) LookupRecord(ques dns.Question) (int, []dns.RR) { - qname := strings.TrimSuffix(ques.Name, ".") + qname := strings.ToLower(strings.TrimSuffix(ques.Name, ".")) r.log.V(2).Debugf("LookupRecord(%s)", qname) if !r.store.initialized() { @@ -692,7 +692,7 @@ func (r *registry) tryInit() error { func (r *Result) Answer(ques dns.Question) (int, []dns.RR) { answers := make([]dns.RR, 0) - qname := strings.TrimSuffix(ques.Name, ".") + qname := strings.ToLower(strings.TrimSuffix(ques.Name, ".")) nameParts := strings.Split(qname, ".") basename := strings.ToLower(nameParts[0]) diff --git a/machines/coredns_plugin/registry_store.go b/machines/coredns_plugin/registry_store.go index de1f9e3..a8019aa 100644 --- a/machines/coredns_plugin/registry_store.go +++ b/machines/coredns_plugin/registry_store.go @@ -5,6 +5,7 @@ import ( "flag" "fmt" "os" + "strings" "sync" "go.fuhry.dev/runtime/constants" @@ -166,6 +167,7 @@ func (rs *registryStore) fetch(client machines.MachinesClient) error { rs.HostNames = make(map[string]string) rs.Hosts = make(map[string]*machines.Host) for _, h := range hosts { + h.Name = strings.ToLower(h.Name) rs.Hosts[h.ID()] = h rs.HostNames[h.Name] = h.ID() } -- 2.50.1