aboutsummaryrefslogtreecommitdiff
path: root/plugin/pkg
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2018-02-28 18:15:12 -0800
committerGravatar GitHub <noreply@github.com> 2018-02-28 18:15:12 -0800
commit5faa9e7bc178775e023f5bff1394e61bddf94eeb (patch)
treef511f3284c4409209918d2115eb6156478556144 /plugin/pkg
parent74825a46f21d2ab9d132e467e9c1d0c6cf9a52ee (diff)
downloadcoredns-5faa9e7bc178775e023f5bff1394e61bddf94eeb.tar.gz
coredns-5faa9e7bc178775e023f5bff1394e61bddf94eeb.tar.zst
coredns-5faa9e7bc178775e023f5bff1394e61bddf94eeb.zip
plugin/log: log remote port addr as well (#1573)
Log the remote's port, for IPv6 addr this means we should enclose the v6 address in brackets; make this the default for 'remote'.
Diffstat (limited to 'plugin/pkg')
-rw-r--r--plugin/pkg/replacer/replacer.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugin/pkg/replacer/replacer.go b/plugin/pkg/replacer/replacer.go
index c10022f79..1775f7c24 100644
--- a/plugin/pkg/replacer/replacer.go
+++ b/plugin/pkg/replacer/replacer.go
@@ -43,7 +43,7 @@ func New(r *dns.Msg, rr *dnstest.Recorder, emptyValue string) Replacer {
return time.Now().Format(timeFormat)
}(),
"{size}": strconv.Itoa(req.Len()),
- "{remote}": req.IP(),
+ "{remote}": addrToRFC3986(req.IP()),
"{port}": req.Port(),
},
emptyValue: emptyValue,
@@ -155,6 +155,14 @@ func flagsToString(h dns.MsgHdr) string {
return strings.Join(flags[:i], ",")
}
+// addrToRFC3986 will add brackets to the address if it is an IPv6 address.
+func addrToRFC3986(addr string) string {
+ if strings.Contains(addr, ":") {
+ return "[" + addr + "]"
+ }
+ return addr
+}
+
const (
timeFormat = "02/Jan/2006:15:04:05 -0700"
headerReplacer = "{>"