aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--middleware/cache/cache.go3
-rw-r--r--middleware/loadbalance/loadbalance.go1
-rw-r--r--test/middleware_test.go42
-rw-r--r--test/proxy_test.go3
4 files changed, 45 insertions, 4 deletions
diff --git a/middleware/cache/cache.go b/middleware/cache/cache.go
index 71df68fdd..6249b8faa 100644
--- a/middleware/cache/cache.go
+++ b/middleware/cache/cache.go
@@ -2,6 +2,7 @@ package cache
import (
"log"
+ "strings"
"time"
"github.com/miekg/coredns/middleware"
@@ -28,7 +29,7 @@ func cacheKey(m *dns.Msg, t middleware.MsgType, do bool) string {
}
qtype := m.Question[0].Qtype
- qname := middleware.Name(m.Question[0].Name).Normalize()
+ qname := strings.ToLower(m.Question[0].Name)
switch t {
case middleware.Success:
fallthrough
diff --git a/middleware/loadbalance/loadbalance.go b/middleware/loadbalance/loadbalance.go
index eb5abf62b..1d0d7a848 100644
--- a/middleware/loadbalance/loadbalance.go
+++ b/middleware/loadbalance/loadbalance.go
@@ -33,7 +33,6 @@ func roundRobin(in []dns.RR) []dns.RR {
for _, r := range in {
switch r.Header().Rrtype {
case dns.TypeCNAME:
- // d d d d DNAME and friends here as well?
cname = append(cname, r)
case dns.TypeA, dns.TypeAAAA:
address = append(address, r)
diff --git a/test/middleware_test.go b/test/middleware_test.go
new file mode 100644
index 000000000..ec90f0d71
--- /dev/null
+++ b/test/middleware_test.go
@@ -0,0 +1,42 @@
+package test
+
+import (
+ "io/ioutil"
+ "log"
+ "testing"
+
+ "github.com/miekg/coredns/middleware/test"
+
+ "github.com/miekg/dns"
+)
+
+func BenchmarkLookupBalanceRewriteCache(b *testing.B) {
+ t := new(testing.T)
+ name, rm, err := test.TempFile(t, ".", exampleOrg)
+ if err != nil {
+ t.Fatalf("failed to created zone: %s", err)
+ }
+ defer rm()
+
+ corefile := `example.org:0 {
+ file ` + name + `
+ rewrite ANY HINFO
+ loadbalance
+}
+`
+ ex, _, udp, err := Server(t, corefile)
+ if err != nil {
+ t.Fatalf("Could get server: %s", err)
+ }
+ defer ex.Stop()
+
+ log.SetOutput(ioutil.Discard)
+ c := new(dns.Client)
+ m := new(dns.Msg)
+ m.SetQuestion("example.org.", dns.TypeA)
+
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ c.Exchange(m, udp)
+ }
+}
diff --git a/test/proxy_test.go b/test/proxy_test.go
index 74e60148a..fc1ff2854 100644
--- a/test/proxy_test.go
+++ b/test/proxy_test.go
@@ -3,7 +3,6 @@ package test
import (
"io/ioutil"
"log"
- "os"
"testing"
"github.com/miekg/coredns/middleware"
@@ -18,6 +17,7 @@ example.org. IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600
example.org. IN NS b.iana-servers.net.
example.org. IN NS a.iana-servers.net.
example.org. IN A 127.0.0.1
+example.org. IN A 127.0.0.2
`
func TestLookupProxy(t *testing.T) {
@@ -38,7 +38,6 @@ func TestLookupProxy(t *testing.T) {
defer ex.Stop()
log.SetOutput(ioutil.Discard)
- defer log.SetOutput(os.Stderr)
p := proxy.New([]string{udp})
state := middleware.State{W: &test.ResponseWriter{}, Req: new(dns.Msg)}