forked from quic-go/quic-go
Merge pull request #1841 from lucas-clemente/vnp-quic-bit
set the QUIC bit in Version Negotiation packets
This commit is contained in:
@@ -15,7 +15,7 @@ func ComposeVersionNegotiation(destConnID, srcConnID protocol.ConnectionID, vers
|
|||||||
buf := bytes.NewBuffer(make([]byte, 0, expectedLen))
|
buf := bytes.NewBuffer(make([]byte, 0, expectedLen))
|
||||||
r := make([]byte, 1)
|
r := make([]byte, 1)
|
||||||
_, _ = rand.Read(r) // ignore the error here. It is not critical to have perfect random here.
|
_, _ = rand.Read(r) // ignore the error here. It is not critical to have perfect random here.
|
||||||
buf.WriteByte(r[0] | 0x80)
|
buf.WriteByte(r[0] | 0xc0)
|
||||||
utils.BigEndian.WriteUint32(buf, 0) // version 0
|
utils.BigEndian.WriteUint32(buf, 0) // version 0
|
||||||
connIDLen, err := encodeConnIDLen(destConnID, srcConnID)
|
connIDLen, err := encodeConnIDLen(destConnID, srcConnID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ var _ = Describe("Version Negotiation Packets", func() {
|
|||||||
data, err := ComposeVersionNegotiation(destConnID, srcConnID, versions)
|
data, err := ComposeVersionNegotiation(destConnID, srcConnID, versions)
|
||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
Expect(data[0] & 0x80).ToNot(BeZero())
|
Expect(data[0] & 0x80).ToNot(BeZero())
|
||||||
|
Expect(data[0] & 0x40).ToNot(BeZero())
|
||||||
hdr, _, rest, err := ParsePacket(data, 4)
|
hdr, _, rest, err := ParsePacket(data, 4)
|
||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
Expect(hdr.DestConnectionID).To(Equal(destConnID))
|
Expect(hdr.DestConnectionID).To(Equal(destConnID))
|
||||||
|
|||||||
Reference in New Issue
Block a user