diff options
author | 2022-05-20 10:22:30 +0530 | |
---|---|---|
committer | 2022-05-20 06:52:30 +0200 | |
commit | 71f68a3363f5886bcd0614074b5bec4655e33b5f (patch) | |
tree | a4b94304fb2f1719187a7c30f150ba378cd41ed8 /plugin/acl/acl_test.go | |
parent | d594d613415ae25288f8216980d7578194f64e27 (diff) | |
download | coredns-71f68a3363f5886bcd0614074b5bec4655e33b5f.tar.gz coredns-71f68a3363f5886bcd0614074b5bec4655e33b5f.tar.zst coredns-71f68a3363f5886bcd0614074b5bec4655e33b5f.zip |
Fixing issue #5376 by adding a check to parse out Zone info (#5387)
* Fixing #5376 by adding a check to parse out Zone information
Signed-off-by: Tintin <samrath.sodi@gmail.com>
* using IndexByte instead of strings.Split()
Signed-off-by: Tintin <samrath.sodi@gmail.com>
* using plugin logger for logging parsing failure
Signed-off-by: Tintin <samrath.sodi@gmail.com>
* using var keywork instead of short declaration operator
Signed-off-by: Tintin <samrath.sodi@gmail.com>
* reordering imports
Signed-off-by: Tintin <samrath.sodi@gmail.com>
Diffstat (limited to 'plugin/acl/acl_test.go')
-rw-r--r-- | plugin/acl/acl_test.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/plugin/acl/acl_test.go b/plugin/acl/acl_test.go index 0ab6c1d77..7b641cef5 100644 --- a/plugin/acl/acl_test.go +++ b/plugin/acl/acl_test.go @@ -19,6 +19,10 @@ func (t *testResponseWriter) setRemoteIP(ip string) { t.RemoteIP = ip } +func (t *testResponseWriter) setZone(zone string) { + t.Zone = zone +} + // WriteMsg implement dns.ResponseWriter interface. func (t *testResponseWriter) WriteMsg(m *dns.Msg) error { t.Rcode = m.Rcode @@ -392,6 +396,20 @@ func TestACLServeDNS(t *testing.T) { dns.RcodeSuccess, false, }, + { + "Blacklist Address%ifname", + `acl example.org { + block type AAAA net 2001:0db8:85a3:0000:0000:8a2e:0370:7334 + }`, + []string{"eth0"}, + args{ + "www.example.org.", + "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + dns.TypeAAAA, + }, + dns.RcodeRefused, + false, + }, } ctx := context.Background() @@ -408,6 +426,9 @@ func TestACLServeDNS(t *testing.T) { w := &testResponseWriter{} m := new(dns.Msg) w.setRemoteIP(tt.args.sourceIP) + if len(tt.zones) > 0 { + w.setZone(tt.zones[0]) + } m.SetQuestion(tt.args.domain, tt.args.qtype) _, err = a.ServeDNS(ctx, w, m) if (err != nil) != tt.wantErr { |