summaryrefslogtreecommitdiff
path: root/soundbox/interfaces.go
diff options
context:
space:
mode:
authorxegineering <me@xegineering.eu>2024-11-17 12:45:35 +0100
committerxegineering <me@xegineering.eu>2024-11-17 12:48:00 +0100
commitd4cf5ed8e38d1e5d0b8110e8959e002c216f073f (patch)
tree4565ee3c50e6de74b6ce65c615ac71dcf8378a7f /soundbox/interfaces.go
parenta95013aa0813d1644aa15780f360fa4dad2223a8 (diff)
downloadsoundbox-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.go39
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")
-}