diff options
author | 2021-03-18 13:24:57 +0330 | |
---|---|---|
committer | 2021-03-18 10:54:57 +0100 | |
commit | deb09c8905dbb00b47dbe873a296897558506f7c (patch) | |
tree | b631e74ad7ca7eac1d28ed40df90f9ba6fa1c96a /plugin/bind/setup.go | |
parent | 1b2f0bef6f3716d798d8e8cfcaa8bc55a103b2aa (diff) | |
download | coredns-deb09c8905dbb00b47dbe873a296897558506f7c.tar.gz coredns-deb09c8905dbb00b47dbe873a296897558506f7c.tar.zst coredns-deb09c8905dbb00b47dbe873a296897558506f7c.zip |
plugin/bind: Discard link-local addresses on binding by interface name (#4531)
* Discard link-local addresses on binding
Signed-off-by: Mohammad Yosefpor <myusefpur@gmail.com>
* Update plugin/bind: README.md
Signed-off-by: Mohammad Yosefpor <myusefpur@gmail.com>
* Except for IPv6 link-local only
Signed-off-by: Mohammad Yosefpor <myusefpur@gmail.com>
Diffstat (limited to 'plugin/bind/setup.go')
-rw-r--r-- | plugin/bind/setup.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugin/bind/setup.go b/plugin/bind/setup.go index afca06097..b2a37551c 100644 --- a/plugin/bind/setup.go +++ b/plugin/bind/setup.go @@ -37,7 +37,9 @@ func setup(c *caddy.Controller) error { } for _, addr := range addrs { if ipnet, ok := addr.(*net.IPNet); ok { - all = append(all, ipnet.IP.String()) + if ipnet.IP.To4() != nil || (!ipnet.IP.IsLinkLocalMulticast() && !ipnet.IP.IsLinkLocalUnicast()) { + all = append(all, ipnet.IP.String()) + } } } } |