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
)
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
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
)
-go 1.21
+go 1.22.0
toolchain go1.22.5
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=
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=
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"
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 }
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 {
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
}
return gonet.ListenTCP(e.s, fa, pn)
}
-func (e *TCPIPEndpoint) Close() error {
+func (e *TCPIPEndpoint) Close() {
e.s.RemoveNIC(1)
- return nil
}
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)
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)
}