Pārlūkot izejas kodu

Merge pull request #1826 from AudriusButkevicius/screwflags

Don't check interface flags on Windows
Jakob Borg 10 gadi atpakaļ
vecāks
revīzija
12f76b448c
2 mainītis faili ar 6 papildinājumiem un 5 dzēšanām
  1. 3 1
      internal/discover/discover.go
  2. 3 4
      internal/upnp/upnp.go

+ 3 - 1
internal/discover/discover.go

@@ -12,6 +12,7 @@ import (
 	"errors"
 	"io"
 	"net"
+	"runtime"
 	"strconv"
 	"time"
 
@@ -110,7 +111,8 @@ func (d *Discoverer) startLocalIPv6Multicasts(localMCAddr string) {
 
 	v6Intfs := 0
 	for _, intf := range intfs {
-		if intf.Flags&net.FlagUp == 0 || intf.Flags&net.FlagMulticast == 0 {
+		// Interface flags seem to always be 0 on Windows
+		if runtime.GOOS != "windows" && (intf.Flags&net.FlagUp == 0 || intf.Flags&net.FlagMulticast == 0) {
 			continue
 		}
 

+ 3 - 4
internal/upnp/upnp.go

@@ -21,6 +21,7 @@ import (
 	"net/http"
 	"net/url"
 	"regexp"
+	"runtime"
 	"strings"
 	"time"
 
@@ -129,10 +130,8 @@ func Discover(timeout time.Duration) []IGD {
 
 	wg := sync.NewWaitGroup()
 	for _, intf := range interfaces {
-		if intf.Flags&net.FlagUp == 0 {
-			continue
-		}
-		if intf.Flags&net.FlagMulticast == 0 {
+		// Interface flags seem to always be 0 on Windows
+		if runtime.GOOS != "windows" && (intf.Flags&net.FlagUp == 0 || intf.Flags&net.FlagMulticast == 0) {
 			continue
 		}