aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-06 05:54:24 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-06 05:54:24 -0700
commitbcb2eb1ecc79b2721dc5a2e0cca64008b601e431 (patch)
treea2721b7dcf51dfac57f4e19d37d06ebc0c991973
parent964f04f4433772795fd76711020c5616bad5b915 (diff)
downloadcoredns-bcb2eb1ecc79b2721dc5a2e0cca64008b601e431.tar.gz
coredns-bcb2eb1ecc79b2721dc5a2e0cca64008b601e431.tar.zst
coredns-bcb2eb1ecc79b2721dc5a2e0cca64008b601e431.zip
all: gometalinter (#843)
* kubernetes/reverse: remove deadcode * deadcode in errors and kubernetes removed * unnecessary conversion * constants * proxy: time.Since() * simplications * static check * Disable test/external_test
-rw-r--r--core/dnsserver/server.go3
-rw-r--r--middleware/auto/setup.go2
-rw-r--r--middleware/backend_lookup.go2
-rw-r--r--middleware/dnssec/cache_test.go2
-rw-r--r--middleware/dnstap/handler.go7
-rw-r--r--middleware/erratic/setup.go2
-rw-r--r--middleware/errors/errors.go7
-rw-r--r--middleware/file/lookup.go2
-rw-r--r--middleware/file/notify.go6
-rw-r--r--middleware/kubernetes/controller.go9
-rw-r--r--middleware/kubernetes/handler_test.go20
-rw-r--r--middleware/kubernetes/kubernetes.go20
-rw-r--r--middleware/kubernetes/kubernetes_test.go17
-rw-r--r--middleware/kubernetes/setup.go1
-rw-r--r--middleware/kubernetes/setup_test.go64
-rw-r--r--middleware/metrics/test/scrape.go14
-rw-r--r--middleware/pkg/replacer/replacer.go2
-rw-r--r--middleware/proxy/lookup.go2
-rw-r--r--middleware/proxy/proxy.go2
-rw-r--r--middleware/reverse/network.go19
-rw-r--r--middleware/rewrite/edns0.go24
-rw-r--r--middleware/trace/setup.go2
-rw-r--r--middleware/trace/trace.go6
-rw-r--r--request/request.go2
-rw-r--r--test/external_test.go18
25 files changed, 105 insertions, 150 deletions
diff --git a/core/dnsserver/server.go b/core/dnsserver/server.go
index 61ef6ac65..fb8653c18 100644
--- a/core/dnsserver/server.go
+++ b/core/dnsserver/server.go
@@ -187,7 +187,8 @@ func (s *Server) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
q := r.Question[0].Name
b := make([]byte, len(q))
- off, end := 0, false
+ var off int
+ var end bool
var dshandler *Config
diff --git a/middleware/auto/setup.go b/middleware/auto/setup.go
index 1f8fd3b6c..6bda11238 100644
--- a/middleware/auto/setup.go
+++ b/middleware/auto/setup.go
@@ -74,7 +74,7 @@ func setup(c *caddy.Controller) error {
func autoParse(c *caddy.Controller) (Auto, error) {
var a = Auto{
- loader: loader{template: "${1}", re: regexp.MustCompile(`db\.(.*)`), duration: time.Duration(60 * time.Second)},
+ loader: loader{template: "${1}", re: regexp.MustCompile(`db\.(.*)`), duration: 60 * time.Second},
Zones: &Zones{},
}
diff --git a/middleware/backend_lookup.go b/middleware/backend_lookup.go
index 7621851c9..7ad011b98 100644
--- a/middleware/backend_lookup.go
+++ b/middleware/backend_lookup.go
@@ -218,7 +218,7 @@ func SRV(b ServiceBackend, zone string, state request.Request, opt Options) (rec
// Internal name, we should have some info on them, either v4 or v6
// Clients expect a complete answer, because we are a recursor in their view.
state1 := state.NewWithQuestion(srv.Target, dns.TypeA)
- addr, debugAddr, e1 := A(b, zone, state1, nil, Options(opt))
+ addr, debugAddr, e1 := A(b, zone, state1, nil, opt)
if e1 == nil {
extra = append(extra, addr...)
debug = append(debug, debugAddr...)
diff --git a/middleware/dnssec/cache_test.go b/middleware/dnssec/cache_test.go
index b9434fcbe..7d42a90df 100644
--- a/middleware/dnssec/cache_test.go
+++ b/middleware/dnssec/cache_test.go
@@ -25,7 +25,7 @@ func TestCacheSet(t *testing.T) {
state := request.Request{Req: m}
k := hash(m.Answer) // calculate *before* we add the sig
d := New([]string{"miek.nl."}, []*DNSKEY{dnskey}, nil, c)
- m = d.Sign(state, "miek.nl.", time.Now().UTC())
+ d.Sign(state, "miek.nl.", time.Now().UTC())
_, ok := d.get(k)
if !ok {
diff --git a/middleware/dnstap/handler.go b/middleware/dnstap/handler.go
index 20121ff2e..0cf281e69 100644
--- a/middleware/dnstap/handler.go
+++ b/middleware/dnstap/handler.go
@@ -2,9 +2,10 @@ package dnstap
import (
"fmt"
- "golang.org/x/net/context"
"io"
+ "golang.org/x/net/context"
+
"github.com/coredns/coredns/middleware"
"github.com/coredns/coredns/middleware/dnstap/msg"
"github.com/coredns/coredns/middleware/dnstap/taprw"
@@ -33,10 +34,10 @@ func (h Dnstap) TapMessage(m *tap.Message) error {
}
func (h Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
- rw := taprw.ResponseWriter{ResponseWriter: w, Taper: &h, Query: r, Pack: h.Pack}
+ rw := &taprw.ResponseWriter{ResponseWriter: w, Taper: &h, Query: r, Pack: h.Pack}
rw.QueryEpoch()
- code, err := middleware.NextOrFailure(h.Name(), h.Next, ctx, &rw, r)
+ code, err := middleware.NextOrFailure(h.Name(), h.Next, ctx, rw, r)
if err != nil {
// ignore dnstap errors
return code, err
diff --git a/middleware/erratic/setup.go b/middleware/erratic/setup.go
index 714fc309b..cdfc3407d 100644
--- a/middleware/erratic/setup.go
+++ b/middleware/erratic/setup.go
@@ -65,7 +65,7 @@ func parseErratic(c *caddy.Controller) (*Erratic, error) {
// Defaults.
e.delay = 2
- e.duration = time.Duration(100 * time.Millisecond)
+ e.duration = 100 * time.Millisecond
if len(args) == 0 {
continue
}
diff --git a/middleware/errors/errors.go b/middleware/errors/errors.go
index 057e65089..9b0bfa946 100644
--- a/middleware/errors/errors.go
+++ b/middleware/errors/errors.go
@@ -76,11 +76,4 @@ func (h errorHandler) recovery(ctx context.Context, w dns.ResponseWriter, r *dns
h.Log.Printf(panicMsg)
}
-// debugMsg creates a debug message that gets send back to the client.
-func debugMsg(rcode int, r *dns.Msg) *dns.Msg {
- answer := new(dns.Msg)
- answer.SetRcode(r, rcode)
- return answer
-}
-
const timeFormat = "02/Jan/2006:15:04:05 -0700"
diff --git a/middleware/file/lookup.go b/middleware/file/lookup.go
index 2ca1ec943..89e0f5a47 100644
--- a/middleware/file/lookup.go
+++ b/middleware/file/lookup.go
@@ -231,7 +231,7 @@ func (z *Zone) Lookup(state request.Request, qname string) ([]dns.RR, []dns.RR,
ret := z.soa(do)
if do {
- deny, found := z.Tree.Prev(qname)
+ deny, _ := z.Tree.Prev(qname) // TODO(miek): *found* was not used here.
nsec := z.typeFromElem(deny, dns.TypeNSEC, do)
ret = append(ret, nsec...)
diff --git a/middleware/file/notify.go b/middleware/file/notify.go
index e8f518d25..b1628c3a6 100644
--- a/middleware/file/notify.go
+++ b/middleware/file/notify.go
@@ -61,12 +61,12 @@ func notify(zone string, to []string) error {
return nil
}
-func notifyAddr(c *dns.Client, m *dns.Msg, s string) (err error) {
- ret := new(dns.Msg)
+func notifyAddr(c *dns.Client, m *dns.Msg, s string) error {
+ var err error
code := dns.RcodeServerFailure
for i := 0; i < 3; i++ {
- ret, _, err = c.Exchange(m, s)
+ ret, _, err := c.Exchange(m, s)
if err != nil {
continue
}
diff --git a/middleware/kubernetes/controller.go b/middleware/kubernetes/controller.go
index 29562c0a7..3d60718ee 100644
--- a/middleware/kubernetes/controller.go
+++ b/middleware/kubernetes/controller.go
@@ -51,11 +51,10 @@ type dnsControl struct {
selector *labels.Selector
- svcController *cache.Controller
- podController *cache.Controller
- nsController *cache.Controller
- epController *cache.Controller
- nodeController *cache.Controller
+ svcController *cache.Controller
+ podController *cache.Controller
+ nsController *cache.Controller
+ epController *cache.Controller
svcLister cache.StoreToServiceLister
podLister cache.StoreToPodLister
diff --git a/middleware/kubernetes/handler_test.go b/middleware/kubernetes/handler_test.go
index 9e38bc59f..04d64722f 100644
--- a/middleware/kubernetes/handler_test.go
+++ b/middleware/kubernetes/handler_test.go
@@ -273,32 +273,32 @@ func TestServeDNS(t *testing.T) {
k.Next = testHandler(nextMWMap)
ctx := context.TODO()
- runServeDNSTests(t, dnsTestCases, k, ctx)
- runServeDNSTests(t, autopathCases, k, ctx)
- runServeDNSTests(t, autopathBareSearch, k, ctx)
+ runServeDNSTests(ctx, t, dnsTestCases, k)
+ runServeDNSTests(ctx, t, autopathCases, k)
+ runServeDNSTests(ctx, t, autopathBareSearch, k)
//Set PodMode to Disabled
k.PodMode = PodModeDisabled
- runServeDNSTests(t, podModeDisabledCases, k, ctx)
+ runServeDNSTests(ctx, t, podModeDisabledCases, k)
//Set PodMode to Insecure
k.PodMode = PodModeInsecure
- runServeDNSTests(t, podModeInsecureCases, k, ctx)
+ runServeDNSTests(ctx, t, podModeInsecureCases, k)
//Set PodMode to Verified
k.PodMode = PodModeVerified
- runServeDNSTests(t, podModeVerifiedCases, k, ctx)
+ runServeDNSTests(ctx, t, podModeVerifiedCases, k)
// Set ndots to 2 for the ndots test cases
k.AutoPath.NDots = 2
- runServeDNSTests(t, autopath2NDotsCases, k, ctx)
+ runServeDNSTests(ctx, t, autopath2NDotsCases, k)
k.AutoPath.NDots = defautNdots
// Disable the NXDOMAIN override (enabled by default)
k.OnNXDOMAIN = dns.RcodeNameError
- runServeDNSTests(t, autopathCases, k, ctx)
- runServeDNSTests(t, autopathBareSearchExpectNameErr, k, ctx)
+ runServeDNSTests(ctx, t, autopathCases, k)
+ runServeDNSTests(ctx, t, autopathBareSearchExpectNameErr, k)
}
-func runServeDNSTests(t *testing.T, dnsTestCases map[string](*test.Case), k Kubernetes, ctx context.Context) {
+func runServeDNSTests(ctx context.Context, t *testing.T, dnsTestCases map[string](*test.Case), k Kubernetes) {
for testname, tc := range dnsTestCases {
testname = "\nTest Case \"" + testname + "\""
r := tc.Msg()
diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go
index 016cfc403..3649eb02c 100644
--- a/middleware/kubernetes/kubernetes.go
+++ b/middleware/kubernetes/kubernetes.go
@@ -100,13 +100,12 @@ type recordRequest struct {
}
var (
- errNoItems = errors.New("no items found")
- errNsNotExposed = errors.New("namespace is not exposed")
- errInvalidRequest = errors.New("invalid query name")
- errZoneNotFound = errors.New("zone not found")
- errAPIBadPodType = errors.New("expected type *api.Pod")
- errPodsDisabled = errors.New("pod records disabled")
- errResolvConfReadErr = errors.New("resolv.conf read error")
+ errNoItems = errors.New("no items found")
+ errNsNotExposed = errors.New("namespace is not exposed")
+ errInvalidRequest = errors.New("invalid query name")
+ errZoneNotFound = errors.New("zone not found")
+ errAPIBadPodType = errors.New("expected type *api.Pod")
+ errPodsDisabled = errors.New("pod records disabled")
)
// Services implements the ServiceBackend interface.
@@ -468,13 +467,6 @@ func (k *Kubernetes) getRecordsForK8sItems(services []service, pods []pod, r rec
return records
}
-func ipFromPodName(podname string) string {
- if strings.Count(podname, "-") == 3 && !strings.Contains(podname, "--") {
- return strings.Replace(podname, "-", ".", -1)
- }
- return strings.Replace(podname, "-", ":", -1)
-}
-
func (k *Kubernetes) findPodWithIP(ip string) (p *api.Pod) {
if !k.AutoPath.Enabled {
return nil
diff --git a/middleware/kubernetes/kubernetes_test.go b/middleware/kubernetes/kubernetes_test.go
index 268028c1e..ae3fbf149 100644
--- a/middleware/kubernetes/kubernetes_test.go
+++ b/middleware/kubernetes/kubernetes_test.go
@@ -260,23 +260,6 @@ func TestEndpointHostname(t *testing.T) {
}
}
-func TestIpFromPodName(t *testing.T) {
- var tests = []struct {
- ip string
- expected string
- }{
- {"10-11-12-13", "10.11.12.13"},
- {"1-2-3-4", "1.2.3.4"},
- {"1-2-3--A-B-C", "1:2:3::A:B:C"},
- }
- for _, test := range tests {
- result := ipFromPodName(test.ip)
- if result != test.expected {
- t.Errorf("Expected ip for podname '%v' to be '%v', but got '%v'", test.ip, test.expected, result)
- }
- }
-}
-
type APIConnServiceTest struct{}
func (APIConnServiceTest) Run() { return }
diff --git a/middleware/kubernetes/setup.go b/middleware/kubernetes/setup.go
index a12673a13..d56b788f9 100644
--- a/middleware/kubernetes/setup.go
+++ b/middleware/kubernetes/setup.go
@@ -242,7 +242,6 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
const (
defaultResyncPeriod = 5 * time.Minute
- defaultPodMode = PodModeDisabled
defautNdots = 0
defaultResolvConfFile = "/etc/resolv.conf"
defaultOnNXDOMAIN = dns.RcodeSuccess
diff --git a/middleware/kubernetes/setup_test.go b/middleware/kubernetes/setup_test.go
index c8e84a724..9512c8fbf 100644
--- a/middleware/kubernetes/setup_test.go
+++ b/middleware/kubernetes/setup_test.go
@@ -54,7 +54,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -70,7 +70,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -87,7 +87,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -105,7 +105,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -123,7 +123,7 @@ func TestKubernetesParse(t *testing.T) {
1,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -141,7 +141,7 @@ func TestKubernetesParse(t *testing.T) {
2,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -159,7 +159,7 @@ func TestKubernetesParse(t *testing.T) {
0,
30 * time.Second,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -177,7 +177,7 @@ func TestKubernetesParse(t *testing.T) {
0,
15 * time.Minute,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -195,7 +195,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"environment=prod",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -213,7 +213,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"application=nginx,environment in (production,qa,staging)",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -235,7 +235,7 @@ func TestKubernetesParse(t *testing.T) {
2,
15 * time.Minute,
"application=nginx,environment in (production,qa,staging)",
- defaultPodMode,
+ PodModeDisabled,
nil,
true,
nil,
@@ -252,7 +252,7 @@ func TestKubernetesParse(t *testing.T) {
-1,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -268,7 +268,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -286,7 +286,7 @@ func TestKubernetesParse(t *testing.T) {
-1,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -304,7 +304,7 @@ func TestKubernetesParse(t *testing.T) {
-1,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -322,7 +322,7 @@ func TestKubernetesParse(t *testing.T) {
0,
0 * time.Minute,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -340,7 +340,7 @@ func TestKubernetesParse(t *testing.T) {
0,
0 * time.Second,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -358,7 +358,7 @@ func TestKubernetesParse(t *testing.T) {
0,
0 * time.Second,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -376,7 +376,7 @@ func TestKubernetesParse(t *testing.T) {
0,
0 * time.Second,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -394,7 +394,7 @@ func TestKubernetesParse(t *testing.T) {
0,
0 * time.Second,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -489,7 +489,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
[]net.IPNet{parseCidr("10.0.0.0/24"), parseCidr("10.0.1.0/24")},
false,
nil,
@@ -508,7 +508,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -527,7 +527,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -546,7 +546,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
[]string{"13.14.15.16:53"},
@@ -565,7 +565,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -585,7 +585,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -607,7 +607,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -626,7 +626,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -650,7 +650,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -668,7 +668,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -686,7 +686,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
@@ -704,7 +704,7 @@ func TestKubernetesParse(t *testing.T) {
0,
defaultResyncPeriod,
"",
- defaultPodMode,
+ PodModeDisabled,
nil,
false,
nil,
diff --git a/middleware/metrics/test/scrape.go b/middleware/metrics/test/scrape.go
index c748be209..a21c0061d 100644
--- a/middleware/metrics/test/scrape.go
+++ b/middleware/metrics/test/scrape.go
@@ -69,7 +69,7 @@ type (
func Scrape(t *testing.T, url string) []*MetricFamily {
mfChan := make(chan *dto.MetricFamily, 1024)
- go fetchMetricFamilies(t, url, mfChan)
+ go fetchMetricFamilies(url, mfChan)
result := []*MetricFamily{}
for mf := range mfChan {
@@ -177,20 +177,20 @@ func makeBuckets(m *dto.Metric) map[string]string {
return result
}
-func fetchMetricFamilies(t *testing.T, url string, ch chan<- *dto.MetricFamily) {
+func fetchMetricFamilies(url string, ch chan<- *dto.MetricFamily) {
defer close(ch)
req, err := http.NewRequest("GET", url, nil)
if err != nil {
- t.Fatalf("creating GET request for URL %q failed: %s", url, err)
+ return
}
req.Header.Add("Accept", acceptHeader)
resp, err := http.DefaultClient.Do(req)
if err != nil {
- t.Fatalf("executing GET request for URL %q failed: %s", url, err)
+ return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
- t.Fatalf("GET request for URL %q returned HTTP status %s", url, resp.Status)
+ return
}
mediatype, params, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
@@ -203,7 +203,7 @@ func fetchMetricFamilies(t *testing.T, url string, ch chan<- *dto.MetricFamily)
if err == io.EOF {
break
}
- t.Fatalf("reading metric family protocol buffer failed: %s", err)
+ return
}
ch <- mf
}
@@ -214,7 +214,7 @@ func fetchMetricFamilies(t *testing.T, url string, ch chan<- *dto.MetricFamily)
var parser expfmt.TextParser
metricFamilies, err := parser.TextToMetricFamilies(resp.Body)
if err != nil {
- t.Fatal("reading text format failed:", err)
+ return
}
for _, mf := range metricFamilies {
ch <- mf
diff --git a/middleware/pkg/replacer/replacer.go b/middleware/pkg/replacer/replacer.go
index 5227808ae..5f5e15cd7 100644
--- a/middleware/pkg/replacer/replacer.go
+++ b/middleware/pkg/replacer/replacer.go
@@ -60,7 +60,7 @@ func New(r *dns.Msg, rr *dnsrecorder.Recorder, emptyValue string) Replacer {
// Header placeholders (case-insensitive)
rep.replacements[headerReplacer+"id}"] = strconv.Itoa(int(r.Id))
- rep.replacements[headerReplacer+"opcode}"] = strconv.Itoa(int(r.Opcode))
+ rep.replacements[headerReplacer+"opcode}"] = strconv.Itoa(r.Opcode)
rep.replacements[headerReplacer+"do}"] = boolToString(req.Do())
rep.replacements[headerReplacer+"bufsize}"] = strconv.Itoa(req.Size())
diff --git a/middleware/proxy/lookup.go b/middleware/proxy/lookup.go
index fa6d1ddf2..a6c714f39 100644
--- a/middleware/proxy/lookup.go
+++ b/middleware/proxy/lookup.go
@@ -97,7 +97,7 @@ func (p Proxy) lookup(state request.Request) (*dns.Msg, error) {
// Since Select() should give us "up" hosts, keep retrying
// hosts until timeout (or until we get a nil host).
- for time.Now().Sub(start) < tryDuration {
+ for time.Since(start) < tryDuration {
host := upstream.Select()
if host == nil {
return nil, errUnreachable
diff --git a/middleware/proxy/proxy.go b/middleware/proxy/proxy.go
index 4a574982d..8780330ed 100644
--- a/middleware/proxy/proxy.go
+++ b/middleware/proxy/proxy.go
@@ -109,7 +109,7 @@ func (p Proxy) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
// Since Select() should give us "up" hosts, keep retrying
// hosts until timeout (or until we get a nil host).
- for time.Now().Sub(start) < tryDuration {
+ for time.Since(start) < tryDuration {
host := upstream.Select()
if host == nil {
diff --git a/middleware/reverse/network.go b/middleware/reverse/network.go
index da3cb613b..80d533382 100644
--- a/middleware/reverse/network.go
+++ b/middleware/reverse/network.go
@@ -74,25 +74,6 @@ func (network *network) ipToHostname(ip net.IP) (name string) {
return strings.Replace(network.Template, templateNameIP, name, 1)
}
-// just the same from net.ip package, but with uint8
-func uitoa(val uint8) string {
- if val == 0 {
- // avoid string allocation
- return "0"
- }
- var buf [20]byte // big enough for 64bit value base 10
- i := len(buf) - 1
- for val >= 10 {
- q := val / 10
- buf[i] = byte('0' + val - q*10)
- i--
- val = q
- }
- // val < 10
- buf[i] = byte('0' + val)
- return string(buf[i:])
-}
-
type networks []network
func (n networks) Len() int { return len(n) }
diff --git a/middleware/rewrite/edns0.go b/middleware/rewrite/edns0.go
index 1a0685312..913299a14 100644
--- a/middleware/rewrite/edns0.go
+++ b/middleware/rewrite/edns0.go
@@ -37,20 +37,21 @@ func (rule *edns0NsidRule) Rewrite(r *dns.Msg) Result {
result := RewriteIgnored
o := setupEdns0Opt(r)
found := false
+Option:
for _, s := range o.Option {
switch e := s.(type) {
case *dns.EDNS0_NSID:
- if rule.action == "replace" || rule.action == "set" {
+ if rule.action == Replace || rule.action == Set {
e.Nsid = "" // make sure it is empty for request
result = RewriteDone
}
found = true
- break
+ break Option
}
}
// add option if not found
- if !found && (rule.action == "append" || rule.action == "set") {
+ if !found && (rule.action == Append || rule.action == Set) {
o.SetDo(true)
o.Option = append(o.Option, &dns.EDNS0_NSID{Code: dns.EDNS0NSID, Nsid: ""})
result = RewriteDone
@@ -68,7 +69,7 @@ func (rule *edns0LocalRule) Rewrite(r *dns.Msg) Result {
switch e := s.(type) {
case *dns.EDNS0_LOCAL:
if rule.code == e.Code {
- if rule.action == "replace" || rule.action == "set" {
+ if rule.action == Replace || rule.action == Set {
e.Data = rule.data
result = RewriteDone
}
@@ -79,7 +80,7 @@ func (rule *edns0LocalRule) Rewrite(r *dns.Msg) Result {
}
// add option if not found
- if !found && (rule.action == "append" || rule.action == "set") {
+ if !found && (rule.action == Append || rule.action == Set) {
o.SetDo(true)
var opt dns.EDNS0_LOCAL
opt.Code = rule.code
@@ -100,9 +101,9 @@ func newEdns0Rule(args ...string) (Rule, error) {
ruleType := strings.ToLower(args[0])
action := strings.ToLower(args[1])
switch action {
- case "append":
- case "replace":
- case "set":
+ case Append:
+ case Replace:
+ case Set:
default:
return nil, fmt.Errorf("invalid action: %q", action)
}
@@ -139,3 +140,10 @@ func newEdns0LocalRule(action, code, data string) (*edns0LocalRule, error) {
return &edns0LocalRule{action: action, code: uint16(c), data: decoded}, nil
}
+
+// These are all defined actions.
+const (
+ Replace = "replace"
+ Set = "set"
+ Append = "append"
+)
diff --git a/middleware/trace/setup.go b/middleware/trace/setup.go
index a6eb8c340..601472fee 100644
--- a/middleware/trace/setup.go
+++ b/middleware/trace/setup.go
@@ -97,7 +97,7 @@ func traceParse(c *caddy.Controller) (*trace, error) {
func normalizeEndpoint(epType, ep string) (string, error) {
switch epType {
case "zipkin":
- if strings.Index(ep, "http") == -1 {
+ if !strings.Contains(ep, "http") {
ep = "http://" + ep + "/api/v1/spans"
}
return ep, nil
diff --git a/middleware/trace/trace.go b/middleware/trace/trace.go
index 39b7d6750..86561871a 100644
--- a/middleware/trace/trace.go
+++ b/middleware/trace/trace.go
@@ -56,10 +56,8 @@ func (t *trace) setupZipkin() error {
recorder := zipkin.NewRecorder(collector, false, t.ServiceEndpoint, t.serviceName)
t.tracer, err = zipkin.NewTracer(recorder, zipkin.ClientServerSameSpan(t.clientServer))
- if err != nil {
- return err
- }
- return nil
+
+ return err
}
// Name implements the Handler interface.
diff --git a/request/request.go b/request/request.go
index d371d9c21..00a05b072 100644
--- a/request/request.go
+++ b/request/request.go
@@ -118,7 +118,7 @@ func (r *Request) Size() int {
size := 0
if o := r.Req.IsEdns0(); o != nil {
- if o.Do() == true {
+ if o.Do() {
r.do = doTrue
} else {
r.do = doFalse
diff --git a/test/external_test.go b/test/external_test.go
index e5827a49c..9109f1f29 100644
--- a/test/external_test.go
+++ b/test/external_test.go
@@ -11,10 +11,12 @@ import (
// Go get external example middleware, compile it into CoreDNS
// and check if it is really there, but running coredns -plugins.
-func TestExternalMiddlewareCompile(t *testing.T) {
+// Dangerous test as it messes with your git tree, maybe use tag?
+func testExternalMiddlewareCompile(t *testing.T) {
if err := addExampleMiddleware(); err != nil {
t.Fatal(err)
}
+ defer run(t, gitReset)
if _, err := run(t, goGet); err != nil {
t.Fatal(err)
@@ -56,17 +58,15 @@ func addExampleMiddleware() error {
defer f.Close()
_, err = f.WriteString(example)
- if err != nil {
- return err
- }
- return nil
+ return err
}
var (
- goBuild = exec.Command("go", "build")
- goGen = exec.Command("go", "generate")
- goGet = exec.Command("go", "get", "github.com/coredns/example")
- coredns = exec.Command("./coredns", "-plugins")
+ goBuild = exec.Command("go", "build")
+ goGen = exec.Command("go", "generate")
+ goGet = exec.Command("go", "get", "github.com/coredns/example")
+ gitReset = exec.Command("git", "checkout", "core/*")
+ coredns = exec.Command("./coredns", "-plugins")
)
const example = "1001:example:github.com/coredns/example"