aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2020-09-09 10:45:14 +0200
committerGravatar GitHub <noreply@github.com> 2020-09-09 10:45:14 +0200
commite082bb5a61a94bf5be653900a568db26cae0a6e1 (patch)
tree15887f8b471c943f587034311b098b778225ff23
parent04af1c692c24e260bd75163d9e52be367c5ab5c4 (diff)
downloadcoredns-e082bb5a61a94bf5be653900a568db26cae0a6e1.tar.gz
coredns-e082bb5a61a94bf5be653900a568db26cae0a6e1.tar.zst
coredns-e082bb5a61a94bf5be653900a568db26cae0a6e1.zip
plugin/trace: fix struct allignment (#4112)
* plugin/trace: fix struct allignment A 64 bit entity needs to be the first in a struct to make it work on 32 bit systems. Fixes: #4111 Signed-off-by: Miek Gieben <miek@miek.nl> * plugin/erratic does makes the same mistake Signed-off-by: Miek Gieben <miek@miek.nl>
-rw-r--r--plugin/erratic/erratic.go10
-rw-r--r--plugin/trace/trace.go3
2 files changed, 6 insertions, 7 deletions
diff --git a/plugin/erratic/erratic.go b/plugin/erratic/erratic.go
index 3b22e225d..da7f68a64 100644
--- a/plugin/erratic/erratic.go
+++ b/plugin/erratic/erratic.go
@@ -13,15 +13,13 @@ import (
// Erratic is a plugin that returns erratic responses to each client.
type Erratic struct {
- drop uint64
-
+ q uint64 // counter of queries
+ drop uint64
delay uint64
- duration time.Duration
-
truncate uint64
- large bool // undocumented feature; return large responses for A request (>512B, to test compression).
- q uint64 // counter of queries
+ duration time.Duration
+ large bool // undocumented feature; return large responses for A request (>512B, to test compression).
}
// ServeDNS implements the plugin.Handler interface.
diff --git a/plugin/trace/trace.go b/plugin/trace/trace.go
index 84076126a..167a5a376 100644
--- a/plugin/trace/trace.go
+++ b/plugin/trace/trace.go
@@ -29,6 +29,8 @@ const (
)
type trace struct {
+ count uint64 // as per Go spec, needs to be first element in a struct
+
Next plugin.Handler
Endpoint string
EndpointType string
@@ -37,7 +39,6 @@ type trace struct {
serviceName string
clientServer bool
every uint64
- count uint64
Once sync.Once
}