summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/net/ipv6
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-07-20 15:22:49 -0700
committerGitHub <noreply@github.com>2017-07-20 15:22:49 -0700
commit58839cefb50e56ae5b157b37e9814ae83ceee70b (patch)
tree5de966481678096fc9567f74f96673b34a65127c /vendor/golang.org/x/net/ipv6
parente2f4492eadb5d3c58606b1fdd5774b63a07c236a (diff)
downloadchat-58839cefb50e56ae5b157b37e9814ae83ceee70b.tar.gz
chat-58839cefb50e56ae5b157b37e9814ae83ceee70b.tar.bz2
chat-58839cefb50e56ae5b157b37e9814ae83ceee70b.zip
Upgrading server dependancies (#6984)
Diffstat (limited to 'vendor/golang.org/x/net/ipv6')
-rw-r--r--vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go2
-rw-r--r--vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go8
-rw-r--r--vendor/golang.org/x/net/ipv6/doc.go2
-rw-r--r--vendor/golang.org/x/net/ipv6/helper.go32
-rw-r--r--vendor/golang.org/x/net/ipv6/icmp.go2
-rw-r--r--vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go2
-rw-r--r--vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go2
-rw-r--r--vendor/golang.org/x/net/ipv6/readwrite_test.go121
-rw-r--r--vendor/golang.org/x/net/ipv6/unicast_test.go14
9 files changed, 73 insertions, 112 deletions
diff --git a/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go b/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go
index 1cf3901c8..9fd9eb15e 100644
--- a/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go
+++ b/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go
@@ -17,7 +17,7 @@ func marshal2292HopLimit(b []byte, cm *ControlMessage) []byte {
m := socket.ControlMessage(b)
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292HOPLIMIT, 4)
if cm != nil {
- nativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit))
+ socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit))
}
return m.Next(4)
}
diff --git a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go
index 62cded610..eec529c20 100644
--- a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go
+++ b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go
@@ -18,26 +18,26 @@ func marshalTrafficClass(b []byte, cm *ControlMessage) []byte {
m := socket.ControlMessage(b)
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_TCLASS, 4)
if cm != nil {
- nativeEndian.PutUint32(m.Data(4), uint32(cm.TrafficClass))
+ socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.TrafficClass))
}
return m.Next(4)
}
func parseTrafficClass(cm *ControlMessage, b []byte) {
- cm.TrafficClass = int(nativeEndian.Uint32(b[:4]))
+ cm.TrafficClass = int(socket.NativeEndian.Uint32(b[:4]))
}
func marshalHopLimit(b []byte, cm *ControlMessage) []byte {
m := socket.ControlMessage(b)
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_HOPLIMIT, 4)
if cm != nil {
- nativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit))
+ socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit))
}
return m.Next(4)
}
func parseHopLimit(cm *ControlMessage, b []byte) {
- cm.HopLimit = int(nativeEndian.Uint32(b[:4]))
+ cm.HopLimit = int(socket.NativeEndian.Uint32(b[:4]))
}
func marshalPacketInfo(b []byte, cm *ControlMessage) []byte {
diff --git a/vendor/golang.org/x/net/ipv6/doc.go b/vendor/golang.org/x/net/ipv6/doc.go
index eaa24c580..664a97dea 100644
--- a/vendor/golang.org/x/net/ipv6/doc.go
+++ b/vendor/golang.org/x/net/ipv6/doc.go
@@ -8,7 +8,7 @@
// The package provides IP-level socket options that allow
// manipulation of IPv6 facilities.
//
-// The IPv6 protocol is defined in RFC 2460.
+// The IPv6 protocol is defined in RFC 8200.
// Socket interface extensions are defined in RFC 3493, RFC 3542 and
// RFC 3678.
// MLDv1 and MLDv2 are defined in RFC 2710 and RFC 3810.
diff --git a/vendor/golang.org/x/net/ipv6/helper.go b/vendor/golang.org/x/net/ipv6/helper.go
index 7a42e5860..259740132 100644
--- a/vendor/golang.org/x/net/ipv6/helper.go
+++ b/vendor/golang.org/x/net/ipv6/helper.go
@@ -5,10 +5,8 @@
package ipv6
import (
- "encoding/binary"
"errors"
"net"
- "unsafe"
)
var (
@@ -17,20 +15,8 @@ var (
errInvalidConnType = errors.New("invalid conn type")
errOpNoSupport = errors.New("operation not supported")
errNoSuchInterface = errors.New("no such interface")
-
- nativeEndian binary.ByteOrder
)
-func init() {
- i := uint32(1)
- b := (*[4]byte)(unsafe.Pointer(&i))
- if b[0] == 1 {
- nativeEndian = binary.LittleEndian
- } else {
- nativeEndian = binary.BigEndian
- }
-}
-
func boolint(b bool) int {
if b {
return 1
@@ -51,3 +37,21 @@ func netAddrToIP16(a net.Addr) net.IP {
}
return nil
}
+
+func opAddr(a net.Addr) net.Addr {
+ switch a.(type) {
+ case *net.TCPAddr:
+ if a == nil {
+ return nil
+ }
+ case *net.UDPAddr:
+ if a == nil {
+ return nil
+ }
+ case *net.IPAddr:
+ if a == nil {
+ return nil
+ }
+ }
+ return a
+}
diff --git a/vendor/golang.org/x/net/ipv6/icmp.go b/vendor/golang.org/x/net/ipv6/icmp.go
index ff21d1071..b7f48e27b 100644
--- a/vendor/golang.org/x/net/ipv6/icmp.go
+++ b/vendor/golang.org/x/net/ipv6/icmp.go
@@ -29,7 +29,7 @@ func (typ ICMPType) Protocol() int {
// packets. The filter belongs to a packet delivery path on a host and
// it cannot interact with forwarding packets or tunnel-outer packets.
//
-// Note: RFC 2460 defines a reasonable role model. A node means a
+// Note: RFC 8200 defines a reasonable role model. A node means a
// device that implements IP. A router means a node that forwards IP
// packets not explicitly addressed to itself, and a host means a node
// that is not a router.
diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go
index 431cff46f..fdc6c3994 100644
--- a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go
+++ b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go
@@ -49,7 +49,7 @@ func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (n
case *net.IPConn:
n, _, err = c.WriteMsgIP(b, oob, dst.(*net.IPAddr))
default:
- return 0, &net.OpError{Op: "write", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Err: errInvalidConnType}
+ return 0, &net.OpError{Op: "write", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Addr: opAddr(dst), Err: errInvalidConnType}
}
return
}
diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go
index 4072c585a..8f6d02e2f 100644
--- a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go
+++ b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go
@@ -51,7 +51,7 @@ func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (in
}
err := c.SendMsg(&m, 0)
if err != nil {
- err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err}
+ err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Addr: opAddr(dst), Err: err}
}
return m.N, err
}
diff --git a/vendor/golang.org/x/net/ipv6/readwrite_test.go b/vendor/golang.org/x/net/ipv6/readwrite_test.go
index 41f59be5a..206b915ce 100644
--- a/vendor/golang.org/x/net/ipv6/readwrite_test.go
+++ b/vendor/golang.org/x/net/ipv6/readwrite_test.go
@@ -17,87 +17,50 @@ import (
"golang.org/x/net/ipv6"
)
-func benchmarkUDPListener() (net.PacketConn, net.Addr, error) {
- c, err := net.ListenPacket("udp6", "[::1]:0")
+func BenchmarkReadWriteUnicast(b *testing.B) {
+ c, err := nettest.NewLocalPacketListener("udp6")
if err != nil {
- return nil, nil, err
- }
- dst, err := net.ResolveUDPAddr("udp6", c.LocalAddr().String())
- if err != nil {
- c.Close()
- return nil, nil, err
- }
- return c, dst, nil
-}
-
-func BenchmarkReadWriteNetUDP(b *testing.B) {
- if !supportsIPv6 {
- b.Skip("ipv6 is not supported")
- }
-
- c, dst, err := benchmarkUDPListener()
- if err != nil {
- b.Fatal(err)
+ b.Skipf("not supported on %s/%s: %v", runtime.GOOS, runtime.GOARCH, err)
}
defer c.Close()
+ dst := c.LocalAddr()
wb, rb := []byte("HELLO-R-U-THERE"), make([]byte, 128)
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- benchmarkReadWriteNetUDP(b, c, wb, rb, dst)
- }
-}
-
-func benchmarkReadWriteNetUDP(b *testing.B, c net.PacketConn, wb, rb []byte, dst net.Addr) {
- if _, err := c.WriteTo(wb, dst); err != nil {
- b.Fatal(err)
- }
- if _, _, err := c.ReadFrom(rb); err != nil {
- b.Fatal(err)
- }
-}
-func BenchmarkReadWriteIPv6UDP(b *testing.B) {
- if !supportsIPv6 {
- b.Skip("ipv6 is not supported")
- }
-
- c, dst, err := benchmarkUDPListener()
- if err != nil {
- b.Fatal(err)
- }
- defer c.Close()
-
- p := ipv6.NewPacketConn(c)
- cf := ipv6.FlagTrafficClass | ipv6.FlagHopLimit | ipv6.FlagSrc | ipv6.FlagDst | ipv6.FlagInterface | ipv6.FlagPathMTU
- if err := p.SetControlMessage(cf, true); err != nil {
- b.Fatal(err)
- }
- ifi := nettest.RoutedInterface("ip6", net.FlagUp|net.FlagLoopback)
-
- wb, rb := []byte("HELLO-R-U-THERE"), make([]byte, 128)
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- benchmarkReadWriteIPv6UDP(b, p, wb, rb, dst, ifi)
- }
-}
+ b.Run("NetUDP", func(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ if _, err := c.WriteTo(wb, dst); err != nil {
+ b.Fatal(err)
+ }
+ if _, _, err := c.ReadFrom(rb); err != nil {
+ b.Fatal(err)
+ }
+ }
+ })
+ b.Run("IPv6UDP", func(b *testing.B) {
+ p := ipv6.NewPacketConn(c)
+ cf := ipv6.FlagTrafficClass | ipv6.FlagHopLimit | ipv6.FlagSrc | ipv6.FlagDst | ipv6.FlagInterface | ipv6.FlagPathMTU
+ if err := p.SetControlMessage(cf, true); err != nil {
+ b.Fatal(err)
+ }
+ cm := ipv6.ControlMessage{
+ TrafficClass: iana.DiffServAF11 | iana.CongestionExperienced,
+ HopLimit: 1,
+ }
+ ifi := nettest.RoutedInterface("ip6", net.FlagUp|net.FlagLoopback)
+ if ifi != nil {
+ cm.IfIndex = ifi.Index
+ }
-func benchmarkReadWriteIPv6UDP(b *testing.B, p *ipv6.PacketConn, wb, rb []byte, dst net.Addr, ifi *net.Interface) {
- cm := ipv6.ControlMessage{
- TrafficClass: iana.DiffServAF11 | iana.CongestionExperienced,
- HopLimit: 1,
- }
- if ifi != nil {
- cm.IfIndex = ifi.Index
- }
- if n, err := p.WriteTo(wb, &cm, dst); err != nil {
- b.Fatal(err)
- } else if n != len(wb) {
- b.Fatalf("got %v; want %v", n, len(wb))
- }
- if _, _, _, err := p.ReadFrom(rb); err != nil {
- b.Fatal(err)
- }
+ for i := 0; i < b.N; i++ {
+ if _, err := p.WriteTo(wb, &cm, dst); err != nil {
+ b.Fatal(err)
+ }
+ if _, _, _, err := p.ReadFrom(rb); err != nil {
+ b.Fatal(err)
+ }
+ }
+ })
}
func TestPacketConnConcurrentReadWriteUnicastUDP(t *testing.T) {
@@ -109,7 +72,7 @@ func TestPacketConnConcurrentReadWriteUnicastUDP(t *testing.T) {
t.Skip("ipv6 is not supported")
}
- c, err := net.ListenPacket("udp6", "[::1]:0")
+ c, err := nettest.NewLocalPacketListener("udp6")
if err != nil {
t.Fatal(err)
}
@@ -117,11 +80,7 @@ func TestPacketConnConcurrentReadWriteUnicastUDP(t *testing.T) {
p := ipv6.NewPacketConn(c)
defer p.Close()
- dst, err := net.ResolveUDPAddr("udp6", c.LocalAddr().String())
- if err != nil {
- t.Fatal(err)
- }
-
+ dst := c.LocalAddr()
ifi := nettest.RoutedInterface("ip6", net.FlagUp|net.FlagLoopback)
cf := ipv6.FlagTrafficClass | ipv6.FlagHopLimit | ipv6.FlagSrc | ipv6.FlagDst | ipv6.FlagInterface | ipv6.FlagPathMTU
wb := []byte("HELLO-R-U-THERE")
@@ -167,7 +126,7 @@ func TestPacketConnConcurrentReadWriteUnicastUDP(t *testing.T) {
t.Error(err)
return
} else if n != len(wb) {
- t.Errorf("got %v; want %v", n, len(wb))
+ t.Errorf("got %d; want %d", n, len(wb))
return
}
}
diff --git a/vendor/golang.org/x/net/ipv6/unicast_test.go b/vendor/golang.org/x/net/ipv6/unicast_test.go
index 406d07128..a0b7d9550 100644
--- a/vendor/golang.org/x/net/ipv6/unicast_test.go
+++ b/vendor/golang.org/x/net/ipv6/unicast_test.go
@@ -27,7 +27,7 @@ func TestPacketConnReadWriteUnicastUDP(t *testing.T) {
t.Skip("ipv6 is not supported")
}
- c, err := net.ListenPacket("udp6", "[::1]:0")
+ c, err := nettest.NewLocalPacketListener("udp6")
if err != nil {
t.Fatal(err)
}
@@ -35,11 +35,7 @@ func TestPacketConnReadWriteUnicastUDP(t *testing.T) {
p := ipv6.NewPacketConn(c)
defer p.Close()
- dst, err := net.ResolveUDPAddr("udp6", c.LocalAddr().String())
- if err != nil {
- t.Fatal(err)
- }
-
+ dst := c.LocalAddr()
cm := ipv6.ControlMessage{
TrafficClass: iana.DiffServAF11 | iana.CongestionExperienced,
Src: net.IPv6loopback,
@@ -54,7 +50,8 @@ func TestPacketConnReadWriteUnicastUDP(t *testing.T) {
for i, toggle := range []bool{true, false, true} {
if err := p.SetControlMessage(cf, toggle); err != nil {
if nettest.ProtocolNotSupported(err) {
- t.Skipf("not supported on %s", runtime.GOOS)
+ t.Logf("not supported on %s", runtime.GOOS)
+ continue
}
t.Fatal(err)
}
@@ -151,7 +148,8 @@ func TestPacketConnReadWriteUnicastICMP(t *testing.T) {
}
if err := p.SetControlMessage(cf, toggle); err != nil {
if nettest.ProtocolNotSupported(err) {
- t.Skipf("not supported on %s", runtime.GOOS)
+ t.Logf("not supported on %s", runtime.GOOS)
+ continue
}
t.Fatal(err)
}