mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-04 12:47:36 +03:00
set the QUIC bit in Version Negotiation packets
This commit is contained in:
parent
3f4b6d1df8
commit
352ac45e32
2 changed files with 2 additions and 1 deletions
|
@ -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))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue