aboutsummaryrefslogtreecommitdiff
path: root/plugin/acl/acl.go
diff options
context:
space:
mode:
authorGravatar Ondřej Benkovský <ondrej.benkovsky@jamf.com> 2022-07-25 16:44:13 +0200
committerGravatar GitHub <noreply@github.com> 2022-07-25 07:44:13 -0700
commit2fe5273cd12562aca6939540f0a9e03b51d34aba (patch)
tree5fe77060dd22f79233bb292d93b874b4777f6f31 /plugin/acl/acl.go
parent50beb677ad352d82c89a1e6806e1aa713a945a7e (diff)
downloadcoredns-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.go14
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