diff options
author | 2022-07-25 16:44:13 +0200 | |
---|---|---|
committer | 2022-07-25 07:44:13 -0700 | |
commit | 2fe5273cd12562aca6939540f0a9e03b51d34aba (patch) | |
tree | 5fe77060dd22f79233bb292d93b874b4777f6f31 /plugin/acl/acl.go | |
parent | 50beb677ad352d82c89a1e6806e1aa713a945a7e (diff) | |
download | coredns-2fe5273cd12562aca6939540f0a9e03b51d34aba.tar.gz coredns-2fe5273cd12562aca6939540f0a9e03b51d34aba.tar.zst coredns-2fe5273cd12562aca6939540f0a9e03b51d34aba.zip |
plugin/acl : add support for Extended DNS Errors (#5532)
* plugin/acl : add support for Extended DNS Errors
Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
* fixup! plugin/acl : add support for Extended DNS Errors
Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
Diffstat (limited to 'plugin/acl/acl.go')
-rw-r--r-- | plugin/acl/acl.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/plugin/acl/acl.go b/plugin/acl/acl.go index 95a5c65eb..017a8ac6b 100644 --- a/plugin/acl/acl.go +++ b/plugin/acl/acl.go @@ -69,8 +69,11 @@ RulesCheckLoop: switch action { case actionBlock: { - m := new(dns.Msg) - m.SetRcode(r, dns.RcodeRefused) + m := new(dns.Msg). + SetRcode(r, dns.RcodeRefused). + SetEdns0(4096, true) + ede := dns.EDNS0_EDE{InfoCode: dns.ExtendedErrorCodeBlocked} + m.IsEdns0().Option = append(m.IsEdns0().Option, &ede) w.WriteMsg(m) RequestBlockCount.WithLabelValues(metrics.WithServer(ctx), zone).Inc() return dns.RcodeSuccess, nil @@ -81,8 +84,11 @@ RulesCheckLoop: } case actionFilter: { - m := new(dns.Msg) - m.SetRcode(r, dns.RcodeSuccess) + m := new(dns.Msg). + SetRcode(r, dns.RcodeSuccess). + SetEdns0(4096, true) + ede := dns.EDNS0_EDE{InfoCode: dns.ExtendedErrorCodeFiltered} + m.IsEdns0().Option = append(m.IsEdns0().Option, &ede) w.WriteMsg(m) RequestFilterCount.WithLabelValues(metrics.WithServer(ctx), zone).Inc() return dns.RcodeSuccess, nil |