]> Cypherpunks repositories - nncp.git/commitdiff
Update gvisor
authorSergey Matveev <stargrave@stargrave.org>
Tue, 23 Jul 2024 08:37:35 +0000 (11:37 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 23 Jul 2024 09:21:27 +0000 (12:21 +0300)
src/go.mod
src/go.sum
src/yggdrasil/tcpip.go

index 2578a2dbbcfc3bf66549c5e9178896ad8d6c61ab..d0f687cb969dfc8138851f31458fe5394dacdfb1 100644 (file)
@@ -17,7 +17,7 @@ require (
        golang.org/x/net v0.27.0
        golang.org/x/sys v0.22.0
        golang.org/x/term v0.22.0
-       gvisor.dev/gvisor v0.0.0-20230428223346-f33f75cda699
+       gvisor.dev/gvisor v0.0.0-20240723001103-634ce95eed8d
        lukechampine.com/blake3 v1.3.0
 )
 
@@ -26,7 +26,7 @@ require (
        github.com/bits-and-blooms/bitset v1.13.0 // indirect
        github.com/bits-and-blooms/bloom/v3 v3.7.0 // indirect
        github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
-       github.com/google/btree v1.0.1 // indirect
+       github.com/google/btree v1.1.2 // indirect
        github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
        github.com/klauspost/cpuid/v2 v2.2.8 // indirect
        github.com/onsi/ginkgo/v2 v2.9.5 // indirect
@@ -39,6 +39,6 @@ require (
        golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
 )
 
-go 1.21
+go 1.22.0
 
 toolchain go1.22.5
index 7c010396c9662914e106c99bb1277ea017ee6597..825884bd398c252b0ea1c38f3be2c12795f2382a 100644 (file)
@@ -29,8 +29,8 @@ github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg
 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/gologme/log v1.3.0 h1:l781G4dE+pbigClDSDzSaaYKtiueHCILUa/qSDsmHAo=
 github.com/gologme/log v1.3.0/go.mod h1:yKT+DvIPdDdDoPtqFrFxheooyVmoqi0BAsw+erN3wA4=
-github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
-github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
+github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
+github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE=
@@ -135,15 +135,15 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.28.2-0.20230118093459-a9481185b34d h1:qp0AnQCvRCMlu9jBjtdbTaaEmThIgZOrbVyDEOcmKhQ=
-google.golang.org/protobuf v1.28.2-0.20230118093459-a9481185b34d/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gvisor.dev/gvisor v0.0.0-20230428223346-f33f75cda699 h1:Ns93L6u6C3xgQY2eodedE2ZgIW8JaQYExfHdACX1BJc=
-gvisor.dev/gvisor v0.0.0-20230428223346-f33f75cda699/go.mod h1:pzr6sy8gDLfVmDAg8OYrlKvGEHw5C3PGTiBXBTCx76Q=
+gvisor.dev/gvisor v0.0.0-20240723001103-634ce95eed8d h1:cotv1311nrTN4xLRbN9lSEFcZwJ8GLNI+tB1pGd7mQ4=
+gvisor.dev/gvisor v0.0.0-20240723001103-634ce95eed8d/go.mod h1:sxc3Uvk/vHcd3tj7/DHVBoR5wvWT/MmRq2pj7HRJnwU=
 lukechampine.com/blake3 v1.3.0 h1:sJ3XhFINmHSrYCgl958hscfIa3bw8x4DqMP3u1YvoYE=
 lukechampine.com/blake3 v1.3.0/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
index 03a7935f7456419a730e788316744d98adbeade9..1af0dffe455c36021939150106b345d7d35b147e 100644 (file)
@@ -29,7 +29,7 @@ import (
        iwt "github.com/Arceliar/ironwood/types"
        yaddr "github.com/yggdrasil-network/yggdrasil-go/src/address"
        "golang.org/x/crypto/ed25519"
-       "gvisor.dev/gvisor/pkg/bufferv2"
+       "gvisor.dev/gvisor/pkg/buffer"
        "gvisor.dev/gvisor/pkg/tcpip"
        "gvisor.dev/gvisor/pkg/tcpip/adapters/gonet"
        "gvisor.dev/gvisor/pkg/tcpip/header"
@@ -58,6 +58,8 @@ func (e *TCPIPEndpoint) IsAttached() bool { return e.d != nil }
 
 func (e *TCPIPEndpoint) MTU() uint32 { return e.mtu }
 
+func (e *TCPIPEndpoint) SetMTU(mtu uint32) { e.mtu = mtu }
+
 func (*TCPIPEndpoint) Capabilities() stack.LinkEndpointCapabilities { return stack.CapabilityNone }
 
 func (*TCPIPEndpoint) MaxHeaderLength() uint16 { return 0 }
@@ -66,7 +68,13 @@ func (*TCPIPEndpoint) LinkAddress() tcpip.LinkAddress { return "" }
 
 func (*TCPIPEndpoint) Wait() {}
 
-func (e *TCPIPEndpoint) WritePacket(pkt stack.PacketBufferPtr) tcpip.Error {
+func (*TCPIPEndpoint) ParseHeader(*stack.PacketBuffer) bool { return false }
+
+func (*TCPIPEndpoint) SetLinkAddress(addr tcpip.LinkAddress) {}
+
+func (*TCPIPEndpoint) SetOnCloseAction(func()) {}
+
+func (e *TCPIPEndpoint) WritePacket(pkt *stack.PacketBuffer) tcpip.Error {
        v := pkt.ToView()
        n, err := v.Read(e.writeBuf)
        if err != nil {
@@ -99,12 +107,12 @@ func (e *TCPIPEndpoint) WritePackets(pbs stack.PacketBufferList) (int, tcpip.Err
 
 func (*TCPIPEndpoint) ARPHardwareType() header.ARPHardwareType { return header.ARPHardwareNone }
 
-func (e *TCPIPEndpoint) AddHeader(stack.PacketBufferPtr) {}
+func (e *TCPIPEndpoint) AddHeader(*stack.PacketBuffer) {}
 
 func convertToFullAddr(ip net.IP, port int) (tcpip.FullAddress, tcpip.NetworkProtocolNumber) {
        return tcpip.FullAddress{
                NIC:  1,
-               Addr: tcpip.Address(ip),
+               Addr: tcpip.AddrFrom16Slice(ip.To16()[:]),
                Port: uint16(port),
        }, ipv6.ProtocolNumber
 }
@@ -125,9 +133,8 @@ func (e *TCPIPEndpoint) ListenTCP(addr *net.TCPAddr) (*gonet.TCPListener, error)
        return gonet.ListenTCP(e.s, fa, pn)
 }
 
-func (e *TCPIPEndpoint) Close() error {
+func (e *TCPIPEndpoint) Close() {
        e.s.RemoveNIC(1)
-       return nil
 }
 
 func NewTCPIPEndpoint(
@@ -154,7 +161,7 @@ func NewTCPIPEndpoint(
        }
        protoAddr := tcpip.ProtocolAddress{
                Protocol:          ipv6.ProtocolNumber,
-               AddressWithPrefix: tcpip.Address(ipOur).WithPrefix(),
+               AddressWithPrefix: tcpip.AddrFrom16Slice(ipOur.To16()[:]).WithPrefix(),
        }
        if err := s.AddProtocolAddress(1, protoAddr, stack.AddressProperties{}); err != nil {
                return nil, fmt.Errorf("%+v", err)
@@ -179,7 +186,7 @@ func NewTCPIPEndpoint(
                                e.ipToAddr[ip] = from
                        }
                        pkb := stack.NewPacketBuffer(stack.PacketBufferOptions{
-                               Payload: bufferv2.MakeWithData(e.readBuf[:n]),
+                               Payload: buffer.MakeWithData(e.readBuf[:n]),
                        })
                        e.d.DeliverNetworkPacket(ipv6.ProtocolNumber, pkb)
                }