diff options
author | 2018-02-28 18:15:12 -0800 | |
---|---|---|
committer | 2018-02-28 18:15:12 -0800 | |
commit | 5faa9e7bc178775e023f5bff1394e61bddf94eeb (patch) | |
tree | f511f3284c4409209918d2115eb6156478556144 /plugin/pkg | |
parent | 74825a46f21d2ab9d132e467e9c1d0c6cf9a52ee (diff) | |
download | coredns-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.go | 10 |
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 = "{>" |