From 8cd867c92ca6643d1f638d5f528579de69d7a03e Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Mon, 13 Sep 2021 19:25:27 +0300 Subject: [PATCH] Revert "fix build, rework interface check and filter ipv6 for name" This reverts commit ce31a383dbd9814f502661d70224f1dfbfd85198. --- server/dlna/dlna.go | 35 ++++++++----------- .../utils/net_interface_filter_nix_darwin.go | 2 +- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/server/dlna/dlna.go b/server/dlna/dlna.go index 1465267..dfef97c 100644 --- a/server/dlna/dlna.go +++ b/server/dlna/dlna.go @@ -7,7 +7,6 @@ import ( "os" "os/user" "path/filepath" - "runtime" "time" "github.com/anacrolix/dms/dlna/dms" @@ -28,12 +27,10 @@ func Start() { log.TLogln(err) os.Exit(1) } - for _, i := range ifaces { - // interface flags seem to always be 0 on Windows - if runtime.GOOS != "windows" && (i.Flags&net.FlagLoopback != 0 || i.Flags&net.FlagUp == 0 || i.Flags&net.FlagMulticast == 0) || !utils.IsPhysicalInterface(i.HardwareAddr.String()) { - continue + for _, element := range ifaces { + if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == net.FlagUp && element.Flags&net.FlagMulticast == net.FlagMulticast && utils.IsPhysicalInterface(element.HardwareAddr.String()) { + ifs = append(ifs, element) } - ifs = append(ifs, i) } return }(), @@ -167,21 +164,19 @@ func getDefaultFriendlyName() string { } var list []string for _, i := range ifaces { - // interface flags seem to always be 0 on Windows - if runtime.GOOS != "windows" && (i.Flags&net.FlagLoopback != 0 || i.Flags&net.FlagUp == 0 || i.Flags&net.FlagMulticast == 0) || !utils.IsPhysicalInterface(i.HardwareAddr.String()) { - continue - } addrs, _ := i.Addrs() - for _, addr := range addrs { - var ip net.IP - switch v := addr.(type) { - case *net.IPNet: - ip = v.IP - case *net.IPAddr: - ip = v.IP - } - if !ip.IsLoopback() && ip.To4() != nil { - list = append(list, ip.String()) + if i.Flags&net.FlagLoopback == 0 && i.Flags&net.FlagUp == net.FlagUp && i.Flags&net.FlagMulticast == net.FlagMulticast && utils.IsPhysicalInterface(i.HardwareAddr.String()) { + for _, addr := range addrs { + var ip net.IP + switch v := addr.(type) { + case *net.IPNet: + ip = v.IP + case *net.IPAddr: + ip = v.IP + } + if !ip.IsLoopback() { + list = append(list, ip.String()) + } } } } diff --git a/server/utils/net_interface_filter_nix_darwin.go b/server/utils/net_interface_filter_nix_darwin.go index ecebcef..5777510 100644 --- a/server/utils/net_interface_filter_nix_darwin.go +++ b/server/utils/net_interface_filter_nix_darwin.go @@ -20,7 +20,7 @@ func GetAllPhysicalInterfaces() []PhysicalInterface { var outInterfaces []PhysicalInterface for _, element := range ifaces { - if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == 1 && IsPhysicalInterface(element.HardwareAddr.String()) { + if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == 1 && isPhysicalInterface(element.HardwareAddr.String()) { outInterfaces = append(outInterfaces, PhysicalInterface{MACAddress: element.HardwareAddr.String(), Name: element.Name, FriendlyName: element.Name}) } }