From d4cf5ed8e38d1e5d0b8110e8959e002c216f073f Mon Sep 17 00:00:00 2001 From: xegineering Date: Sun, 17 Nov 2024 12:45:35 +0100 Subject: Fix streaming only via first interface candidate --- soundbox/interfaces.go | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 soundbox/interfaces.go (limited to 'soundbox/interfaces.go') 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") -} -- cgit v1.2.3-70-g09d2