diff options
author | xegineering <me@xegineering.eu> | 2024-11-17 12:45:35 +0100 |
---|---|---|
committer | xegineering <me@xegineering.eu> | 2024-11-17 12:48:00 +0100 |
commit | d4cf5ed8e38d1e5d0b8110e8959e002c216f073f (patch) | |
tree | 4565ee3c50e6de74b6ce65c615ac71dcf8378a7f /soundbox/interfaces.go | |
parent | a95013aa0813d1644aa15780f360fa4dad2223a8 (diff) | |
download | soundbox-go-d4cf5ed8e38d1e5d0b8110e8959e002c216f073f.tar soundbox-go-d4cf5ed8e38d1e5d0b8110e8959e002c216f073f.tar.zst soundbox-go-d4cf5ed8e38d1e5d0b8110e8959e002c216f073f.zip |
Fix streaming only via first interface candidate
Diffstat (limited to 'soundbox/interfaces.go')
-rw-r--r-- | soundbox/interfaces.go | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/soundbox/interfaces.go b/soundbox/interfaces.go deleted file mode 100644 index 04839c7..0000000 --- a/soundbox/interfaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package soundbox - -import ( - "fmt" - "net" -) - -// getInterface is a function guessing which interface should be used for -// soundbox streaming. This is required since soundbox relies on communication -// via IPv6 link-local addresses which require a specified interface to allow -// communication. This function returns the first interface it finds which is -// up and has a link-local address assigned. -func getInterface() (net.Interface, error) { - all, err := net.Interfaces() - if err != nil { - return net.Interface{}, err - } - - for _, iface := range all { - if iface.Flags&net.FlagUp == 0 { - continue - } - addresses, err := iface.Addrs() - if err != nil { - return net.Interface{}, err - } - for _, addr := range addresses { - ip, _, err := net.ParseCIDR(addr.String()) - if err != nil { - return net.Interface{}, err - } - if ip.IsLinkLocalUnicast() { - return iface, nil - } - } - } - - return net.Interface{}, fmt.Errorf("No interface found for soundbox streaming") -} |