aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/dname.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/file/dname.go')
-rw-r--r--middleware/file/dname.go44
1 files changed, 0 insertions, 44 deletions
diff --git a/middleware/file/dname.go b/middleware/file/dname.go
deleted file mode 100644
index 6bbfd9377..000000000
--- a/middleware/file/dname.go
+++ /dev/null
@@ -1,44 +0,0 @@
-package file
-
-import (
- "github.com/coredns/coredns/middleware/pkg/dnsutil"
-
- "github.com/miekg/dns"
-)
-
-// substituteDNAME performs the DNAME substitution defined by RFC 6672,
-// assuming the QTYPE of the query is not DNAME. It returns an empty
-// string if there is no match.
-func substituteDNAME(qname, owner, target string) string {
- if dns.IsSubDomain(owner, qname) && qname != owner {
- labels := dns.SplitDomainName(qname)
- labels = append(labels[0:len(labels)-dns.CountLabel(owner)], dns.SplitDomainName(target)...)
-
- return dnsutil.Join(labels)
- }
-
- return ""
-}
-
-// synthesizeCNAME returns a CNAME RR pointing to the resulting name of
-// the DNAME substitution. The owner name of the CNAME is the QNAME of
-// the query and the TTL is the same as the corresponding DNAME RR.
-//
-// It returns nil if the DNAME substitution has no match.
-func synthesizeCNAME(qname string, d *dns.DNAME) *dns.CNAME {
- target := substituteDNAME(qname, d.Header().Name, d.Target)
- if target == "" {
- return nil
- }
-
- r := new(dns.CNAME)
- r.Hdr = dns.RR_Header{
- Name: qname,
- Rrtype: dns.TypeCNAME,
- Class: dns.ClassINET,
- Ttl: d.Header().Ttl,
- }
- r.Target = target
-
- return r
-}