mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-07-28 06:09:58 +00:00
TUN-6637: Upgrade go version and quic-go
This commit is contained in:
36
vendor/github.com/lucas-clemente/quic-go/internal/wire/extended_header.go
generated
vendored
36
vendor/github.com/lucas-clemente/quic-go/internal/wire/extended_header.go
generated
vendored
@@ -127,18 +127,32 @@ func (h *ExtendedHeader) Write(b *bytes.Buffer, ver protocol.VersionNumber) erro
|
||||
return h.writeShortHeader(b, ver)
|
||||
}
|
||||
|
||||
func (h *ExtendedHeader) writeLongHeader(b *bytes.Buffer, _ protocol.VersionNumber) error {
|
||||
func (h *ExtendedHeader) writeLongHeader(b *bytes.Buffer, version protocol.VersionNumber) error {
|
||||
var packetType uint8
|
||||
//nolint:exhaustive
|
||||
switch h.Type {
|
||||
case protocol.PacketTypeInitial:
|
||||
packetType = 0x0
|
||||
case protocol.PacketType0RTT:
|
||||
packetType = 0x1
|
||||
case protocol.PacketTypeHandshake:
|
||||
packetType = 0x2
|
||||
case protocol.PacketTypeRetry:
|
||||
packetType = 0x3
|
||||
if version == protocol.Version2 {
|
||||
//nolint:exhaustive
|
||||
switch h.Type {
|
||||
case protocol.PacketTypeInitial:
|
||||
packetType = 0b01
|
||||
case protocol.PacketType0RTT:
|
||||
packetType = 0b10
|
||||
case protocol.PacketTypeHandshake:
|
||||
packetType = 0b11
|
||||
case protocol.PacketTypeRetry:
|
||||
packetType = 0b00
|
||||
}
|
||||
} else {
|
||||
//nolint:exhaustive
|
||||
switch h.Type {
|
||||
case protocol.PacketTypeInitial:
|
||||
packetType = 0b00
|
||||
case protocol.PacketType0RTT:
|
||||
packetType = 0b01
|
||||
case protocol.PacketTypeHandshake:
|
||||
packetType = 0b10
|
||||
case protocol.PacketTypeRetry:
|
||||
packetType = 0b11
|
||||
}
|
||||
}
|
||||
firstByte := 0xc0 | packetType<<4
|
||||
if h.Type != protocol.PacketTypeRetry {
|
||||
|
39
vendor/github.com/lucas-clemente/quic-go/internal/wire/header.go
generated
vendored
39
vendor/github.com/lucas-clemente/quic-go/internal/wire/header.go
generated
vendored
@@ -53,10 +53,14 @@ func Is0RTTPacket(b []byte) bool {
|
||||
if b[0]&0x80 == 0 {
|
||||
return false
|
||||
}
|
||||
if !protocol.IsSupportedVersion(protocol.SupportedVersions, protocol.VersionNumber(binary.BigEndian.Uint32(b[1:5]))) {
|
||||
version := protocol.VersionNumber(binary.BigEndian.Uint32(b[1:5]))
|
||||
if !protocol.IsSupportedVersion(protocol.SupportedVersions, version) {
|
||||
return false
|
||||
}
|
||||
return b[0]&0x30>>4 == 0x1
|
||||
if version == protocol.Version2 {
|
||||
return b[0]>>4&0b11 == 0b10
|
||||
}
|
||||
return b[0]>>4&0b11 == 0b01
|
||||
}
|
||||
|
||||
var ErrUnsupportedVersion = errors.New("unsupported version")
|
||||
@@ -179,15 +183,28 @@ func (h *Header) parseLongHeader(b *bytes.Reader) error {
|
||||
return ErrUnsupportedVersion
|
||||
}
|
||||
|
||||
switch (h.typeByte & 0x30) >> 4 {
|
||||
case 0x0:
|
||||
h.Type = protocol.PacketTypeInitial
|
||||
case 0x1:
|
||||
h.Type = protocol.PacketType0RTT
|
||||
case 0x2:
|
||||
h.Type = protocol.PacketTypeHandshake
|
||||
case 0x3:
|
||||
h.Type = protocol.PacketTypeRetry
|
||||
if h.Version == protocol.Version2 {
|
||||
switch h.typeByte >> 4 & 0b11 {
|
||||
case 0b00:
|
||||
h.Type = protocol.PacketTypeRetry
|
||||
case 0b01:
|
||||
h.Type = protocol.PacketTypeInitial
|
||||
case 0b10:
|
||||
h.Type = protocol.PacketType0RTT
|
||||
case 0b11:
|
||||
h.Type = protocol.PacketTypeHandshake
|
||||
}
|
||||
} else {
|
||||
switch h.typeByte >> 4 & 0b11 {
|
||||
case 0b00:
|
||||
h.Type = protocol.PacketTypeInitial
|
||||
case 0b01:
|
||||
h.Type = protocol.PacketType0RTT
|
||||
case 0b10:
|
||||
h.Type = protocol.PacketTypeHandshake
|
||||
case 0b11:
|
||||
h.Type = protocol.PacketTypeRetry
|
||||
}
|
||||
}
|
||||
|
||||
if h.Type == protocol.PacketTypeRetry {
|
||||
|
2
vendor/github.com/lucas-clemente/quic-go/internal/wire/transport_parameters.go
generated
vendored
2
vendor/github.com/lucas-clemente/quic-go/internal/wire/transport_parameters.go
generated
vendored
@@ -42,7 +42,7 @@ const (
|
||||
activeConnectionIDLimitParameterID transportParameterID = 0xe
|
||||
initialSourceConnectionIDParameterID transportParameterID = 0xf
|
||||
retrySourceConnectionIDParameterID transportParameterID = 0x10
|
||||
// https://datatracker.ietf.org/doc/draft-ietf-quic-datagram/
|
||||
// RFC 9221
|
||||
maxDatagramFrameSizeParameterID transportParameterID = 0x20
|
||||
)
|
||||
|
||||
|
4
vendor/github.com/lucas-clemente/quic-go/internal/wire/version_negotiation.go
generated
vendored
4
vendor/github.com/lucas-clemente/quic-go/internal/wire/version_negotiation.go
generated
vendored
@@ -35,7 +35,7 @@ func ParseVersionNegotiationPacket(b *bytes.Reader) (*Header, []protocol.Version
|
||||
}
|
||||
|
||||
// ComposeVersionNegotiation composes a Version Negotiation
|
||||
func ComposeVersionNegotiation(destConnID, srcConnID protocol.ConnectionID, versions []protocol.VersionNumber) ([]byte, error) {
|
||||
func ComposeVersionNegotiation(destConnID, srcConnID protocol.ConnectionID, versions []protocol.VersionNumber) []byte {
|
||||
greasedVersions := protocol.GetGreasedVersions(versions)
|
||||
expectedLen := 1 /* type byte */ + 4 /* version field */ + 1 /* dest connection ID length field */ + destConnID.Len() + 1 /* src connection ID length field */ + srcConnID.Len() + len(greasedVersions)*4
|
||||
buf := bytes.NewBuffer(make([]byte, 0, expectedLen))
|
||||
@@ -50,5 +50,5 @@ func ComposeVersionNegotiation(destConnID, srcConnID protocol.ConnectionID, vers
|
||||
for _, v := range greasedVersions {
|
||||
utils.BigEndian.WriteUint32(buf, uint32(v))
|
||||
}
|
||||
return buf.Bytes(), nil
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
Reference in New Issue
Block a user