Compare commits

...

5 Commits

Author SHA1 Message Date
Jeff Carr c81b8f8ac6 dns update worked for hpdevone.lab.wit.org 2023-03-25 13:54:15 -05:00
Tero Marttila d65f28d109
Merge pull request #6 from neingeist/fix/restrict-family
🐛 Fix restricting address family when watching for changes
2022-06-24 15:51:21 +03:00
neingeist d774220311 🐛 Fix restricting address family when watching for changes 2022-06-24 14:07:29 +02:00
Tero Marttila 44eb5ea262
Merge pull request #8 from SpComb/github-actions-lint
github workflows: add go fmt, vet checks
2022-06-24 12:34:02 +03:00
Tero Marttila c09c90d0a9 github actions: experiment with workflow error commands 2022-06-24 12:31:15 +03:00
3 changed files with 27 additions and 1 deletions

View File

@ -6,6 +6,10 @@ fmt_list="$(gofmt -l "$@")"
if [ -n "$fmt_list" ]; then
echo "Check gofmt failed: " >&2
echo "${fmt_list}" | sed -e 's/^/\t/' >&2
for file in "$fmt_list"; do
echo "::error file=${file},title=gofmt::gofmt check failed"
echo "\t$file" >&2
done
exit 1
fi

14
Makefile Normal file
View File

@ -0,0 +1,14 @@
all:
./go-nsupdate \
--tsig-algorithm=hmac-sha512 \
--tsig-secret="uf7tVM0ePWiSl0HtLNJVP7/DH/WuNkugxS19uXfN+k9V+avixXg/fmIS31FjR/kscvgMmkS+sspB83WjYXGU+w==" \
-i wlo1 hpdevone.lab.wit.org
check:
./go-nsupdate \
--tsig-algorithm=hmac-sha512 \
--tsig-secret="uf7tVM0ePWiSl0HtLNJVP7/DH/WuNkugxS19uXfN+k9V+avixXg/fmIS31FjR/kscvgMmkS+sspB83WjYXGU+w==" \
-i wlo1 check.lab.wit.com
make-keys:
sudo tsig-keygen -a hmac-sha512 hpdevone.lab.wit.org

View File

@ -7,12 +7,14 @@ import (
"net"
"github.com/vishvananda/netlink"
"github.com/vishvananda/netlink/nl"
)
type AddrSet struct {
linkAttrs netlink.LinkAttrs
linkChan chan netlink.LinkUpdate
addrChan chan netlink.AddrUpdate
family Family
addrs map[string]net.IP
}
@ -37,6 +39,7 @@ func InterfaceAddrs(iface string, family Family) (*AddrSet, error) {
return nil, fmt.Errorf("netlink.LinkByName %v: %v", iface, err)
} else {
addrs.linkAttrs = *link.Attrs()
addrs.family = family
}
// list
@ -91,6 +94,11 @@ func (addrs *AddrSet) Read() error {
continue
}
addrUpdateFamily := Family(nl.GetIPFamily(addrUpdate.LinkAddress.IP))
if addrs.family != netlink.FAMILY_ALL && addrUpdateFamily != addrs.family {
continue
}
// XXX: scope and other filters?
addrs.updateAddr(netlink.Addr{
IPNet: &addrUpdate.LinkAddress,