File tree Expand file tree Collapse file tree 2 files changed +41
-2
lines changed Expand file tree Collapse file tree 2 files changed +41
-2
lines changed Original file line number Diff line number Diff line change 11package dns01
22
3- import "github.com/miekg/dns"
3+ import (
4+ "strings"
5+
6+ "github.com/miekg/dns"
7+ )
48
59// Update FQDN with CNAME if any.
610func updateDomainWithCName (r * dns.Msg , fqdn string ) string {
711 for _ , rr := range r .Answer {
812 if cn , ok := rr .(* dns.CNAME ); ok {
9- if cn .Hdr .Name == fqdn {
13+ if strings . EqualFold ( cn .Hdr .Name , fqdn ) {
1014 return cn .Target
1115 }
1216 }
Original file line number Diff line number Diff line change 1+ package dns01
2+
3+ import (
4+ "strings"
5+ "testing"
6+
7+ "github.com/miekg/dns"
8+ "github.com/stretchr/testify/assert"
9+ )
10+
11+ func Test_updateDomainWithCName_caseInsensitive (t * testing.T ) {
12+ qname := "_acme-challenge.uppercase-test.example.com."
13+ cnameTarget := "_acme-challenge.uppercase-test.cname-target.example.com."
14+
15+ msg := & dns.Msg {
16+ MsgHdr : dns.MsgHdr {
17+ Authoritative : true ,
18+ },
19+ Answer : []dns.RR {
20+ & dns.CNAME {
21+ Hdr : dns.RR_Header {
22+ Name : strings .ToUpper (qname ), // CNAME names are case-insensitive
23+ Rrtype : dns .TypeCNAME ,
24+ Class : dns .ClassINET ,
25+ Ttl : 3600 ,
26+ },
27+ Target : cnameTarget ,
28+ },
29+ },
30+ }
31+
32+ fqdn := updateDomainWithCName (msg , qname )
33+
34+ assert .Equal (t , cnameTarget , fqdn )
35+ }
You can’t perform that action at this time.
0 commit comments