Преглед изворни кода

lib/beacon: Check FlagRunning (#9051)

bt90 пре 2 година
родитељ
комит
3147285c60
3 измењених фајлова са 2 додато и 3 уклоњено
  1. 1 1
      lib/beacon/broadcast.go
  2. 1 1
      lib/beacon/multicast.go
  3. 0 1
      lib/upnp/upnp.go

+ 1 - 1
lib/beacon/broadcast.go

@@ -52,7 +52,7 @@ func writeBroadcasts(ctx context.Context, inbox <-chan []byte, port int) error {
 
 		var dsts []net.IP
 		for _, intf := range intfs {
-			if intf.Flags&net.FlagBroadcast == 0 {
+			if intf.Flags&net.FlagRunning == 0 || intf.Flags&net.FlagBroadcast == 0 {
 				continue
 			}
 

+ 1 - 1
lib/beacon/multicast.go

@@ -67,7 +67,7 @@ func writeMulticasts(ctx context.Context, inbox <-chan []byte, addr string) erro
 
 		success := 0
 		for _, intf := range intfs {
-			if intf.Flags&net.FlagMulticast == 0 {
+			if intf.Flags&net.FlagRunning == 0 || intf.Flags&net.FlagMulticast == 0 {
 				continue
 			}
 

+ 0 - 1
lib/upnp/upnp.go

@@ -98,7 +98,6 @@ func Discover(ctx context.Context, _, timeout time.Duration) []nat.Device {
 	wg := &sync.WaitGroup{}
 
 	for _, intf := range interfaces {
-		// Interface flags seem to always be 0 on Windows
 		if intf.Flags&net.FlagRunning == 0 || intf.Flags&net.FlagMulticast == 0 {
 			continue
 		}