Просмотр исходного кода

wgengine/magicsock: quiet an IPv6 warning in tests

In tests, we force binding to localhost to avoid OS firewall warning
dialogs.

But for IPv6, we were trying (and failing) to bind to 127.0.0.1.

You'd think we'd just say "localhost", but that's apparently ill
defined. See
https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost
and golang/go#22826. (It's bitten me in the past, but I can't
remember specific bugs.)

So use "::1" explicitly for "udp6", which makes the test quieter.
Brad Fitzpatrick 5 лет назад
Родитель
Сommit
450cfedeba
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      wgengine/magicsock/magicsock.go

+ 3 - 0
wgengine/magicsock/magicsock.go

@@ -2492,6 +2492,9 @@ func (c *Conn) bind1(ruc **RebindingUDPConn, which string) error {
 	host := ""
 	host := ""
 	if inTest() && !c.simulatedNetwork {
 	if inTest() && !c.simulatedNetwork {
 		host = "127.0.0.1"
 		host = "127.0.0.1"
+		if which == "udp6" {
+			host = "::1"
+		}
 	}
 	}
 	var pc net.PacketConn
 	var pc net.PacketConn
 	var err error
 	var err error