diff --git a/go.mod b/go.mod index f5cec945c..f86a8e7df 100644 --- a/go.mod +++ b/go.mod @@ -93,14 +93,14 @@ require ( golang.org/x/net v0.20.0 golang.org/x/oauth2 v0.16.0 golang.org/x/sync v0.6.0 - golang.org/x/sys v0.16.0 + golang.org/x/sys v0.17.0 golang.org/x/term v0.16.0 golang.org/x/time v0.5.0 golang.org/x/tools v0.17.0 golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 golang.zx2c4.com/wireguard/windows v0.5.3 gopkg.in/square/go-jose.v2 v2.6.0 - gvisor.dev/gvisor v0.0.0-20240119233241-c9c1d4f9b186 + gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3 honnef.co/go/tools v0.4.6 k8s.io/api v0.29.1 k8s.io/apimachinery v0.29.1 diff --git a/go.sum b/go.sum index 34fe4c8ad..b9f76d306 100644 --- a/go.sum +++ b/go.sum @@ -1174,8 +1174,8 @@ golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.1-0.20230131160137-e7d7f63158de/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1417,8 +1417,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -gvisor.dev/gvisor v0.0.0-20240119233241-c9c1d4f9b186 h1:VWRSJX9ghfqsRSZGMAILL6QpYRKWnHcYPi24SCubQRs= -gvisor.dev/gvisor v0.0.0-20240119233241-c9c1d4f9b186/go.mod h1:10sU+Uh5KKNv1+2x2A0Gvzt8FjD3ASIhorV3YsauXhk= +gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3 h1:/8/t5pz/mgdRXhYOIeqqYhFAQLE4DDGegc0Y4ZjyFJM= +gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3/go.mod h1:NQHVAzMwvZ+Qe3ElSiHmq9RUm1MdNHpUZ52fiEqvn+0= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/net/tstun/wrap.go b/net/tstun/wrap.go index d51aeff76..84d0c0821 100644 --- a/net/tstun/wrap.go +++ b/net/tstun/wrap.go @@ -203,7 +203,7 @@ type Wrapper struct { type tunInjectedRead struct { // Only one of packet or data should be set, and are read in that order of // precedence. - packet stack.PacketBufferPtr + packet *stack.PacketBuffer data []byte } @@ -1113,7 +1113,7 @@ func (t *Wrapper) SetFilter(filt *filter.Filter) { // // This path is typically used to deliver synthesized packets to the // host networking stack. -func (t *Wrapper) InjectInboundPacketBuffer(pkt stack.PacketBufferPtr) error { +func (t *Wrapper) InjectInboundPacketBuffer(pkt *stack.PacketBuffer) error { buf := make([]byte, PacketStartOffset+pkt.Size()) n := copy(buf[PacketStartOffset:], pkt.NetworkHeader().Slice()) @@ -1221,7 +1221,7 @@ func (t *Wrapper) InjectOutbound(pkt []byte) error { // InjectOutboundPacketBuffer logically behaves as InjectOutbound. It takes ownership of one // reference count on the packet, and the packet may be mutated. The packet refcount will be // decremented after the injected buffer has been read. -func (t *Wrapper) InjectOutboundPacketBuffer(pkt stack.PacketBufferPtr) error { +func (t *Wrapper) InjectOutboundPacketBuffer(pkt *stack.PacketBuffer) error { size := pkt.Size() if size > MaxPacketSize { pkt.DecRef() diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go index d7ca22422..fe24f23c3 100644 --- a/wgengine/netstack/netstack.go +++ b/wgengine/netstack/netstack.go @@ -357,11 +357,11 @@ func init() { }) } -type protocolHandlerFunc func(stack.TransportEndpointID, stack.PacketBufferPtr) bool +type protocolHandlerFunc func(stack.TransportEndpointID, *stack.PacketBuffer) bool // wrapUDPProtocolHandler wraps the protocol handler we pass to netstack for UDP. func (ns *Impl) wrapUDPProtocolHandler(h protocolHandlerFunc) protocolHandlerFunc { - return func(tei stack.TransportEndpointID, pb stack.PacketBufferPtr) bool { + return func(tei stack.TransportEndpointID, pb *stack.PacketBuffer) bool { addr := tei.LocalAddress ip, ok := netip.AddrFromSlice(addr.AsSlice()) if !ok { @@ -390,7 +390,7 @@ func (ns *Impl) wrapTCPProtocolHandler(h protocolHandlerFunc) protocolHandlerFun // passes through our acceptTCP handler/etc. If false, then the packet // is dropped and the TCP connection is rejected (typically with an // ICMP Port Unreachable or ICMP Protocol Unreachable message). - return func(tei stack.TransportEndpointID, pb stack.PacketBufferPtr) (handled bool) { + return func(tei stack.TransportEndpointID, pb *stack.PacketBuffer) (handled bool) { localIP, ok := netip.AddrFromSlice(tei.LocalAddress.AsSlice()) if !ok { ns.logf("netstack: could not parse local address for incoming connection")