forked from quic-go/quic-go
fix logging of version negotiation packets
This commit is contained in:
@@ -271,6 +271,7 @@ var _ = Describe("Header", func() {
|
|||||||
IsLongHeader: true,
|
IsLongHeader: true,
|
||||||
DestConnectionID: protocol.ConnectionID{1, 2, 3, 4, 5, 6, 7, 8},
|
DestConnectionID: protocol.ConnectionID{1, 2, 3, 4, 5, 6, 7, 8},
|
||||||
SrcConnectionID: protocol.ConnectionID{1, 2, 3, 4, 5, 6, 7, 8},
|
SrcConnectionID: protocol.ConnectionID{1, 2, 3, 4, 5, 6, 7, 8},
|
||||||
|
Version: 0x1337,
|
||||||
}).Log(logger)
|
}).Log(logger)
|
||||||
Expect(buf.String()).To(ContainSubstring("Long Header"))
|
Expect(buf.String()).To(ContainSubstring("Long Header"))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ func parseLongHeader(b *bytes.Reader, sentBy protocol.Perspective, typeByte byte
|
|||||||
}
|
}
|
||||||
|
|
||||||
h := &Header{
|
h := &Header{
|
||||||
|
IsLongHeader: true,
|
||||||
Version: protocol.VersionNumber(v),
|
Version: protocol.VersionNumber(v),
|
||||||
DestConnectionID: destConnID,
|
DestConnectionID: destConnID,
|
||||||
SrcConnectionID: srcConnID,
|
SrcConnectionID: srcConnID,
|
||||||
@@ -69,7 +70,6 @@ func parseLongHeader(b *bytes.Reader, sentBy protocol.Perspective, typeByte byte
|
|||||||
return h, nil
|
return h, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
h.IsLongHeader = true
|
|
||||||
pn, err := utils.BigEndian.ReadUint32(b)
|
pn, err := utils.BigEndian.ReadUint32(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -192,7 +192,11 @@ func (h *Header) getHeaderLength() (protocol.ByteCount, error) {
|
|||||||
|
|
||||||
func (h *Header) logHeader(logger utils.Logger) {
|
func (h *Header) logHeader(logger utils.Logger) {
|
||||||
if h.IsLongHeader {
|
if h.IsLongHeader {
|
||||||
logger.Debugf(" Long Header{Type: %s, DestConnectionID: %s, SrcConnectionID: %s, PacketNumber: %#x, Version: %s}", h.Type, h.DestConnectionID, h.SrcConnectionID, h.PacketNumber, h.Version)
|
if h.Version == 0 {
|
||||||
|
logger.Debugf(" VersionNegotiationPacket{DestConnectionID: %s, SrcConnectionID: %s, SupportedVersions: %s}", h.DestConnectionID, h.SrcConnectionID, h.SupportedVersions)
|
||||||
|
} else {
|
||||||
|
logger.Debugf(" Long Header{Type: %s, DestConnectionID: %s, SrcConnectionID: %s, PacketNumber: %#x, Version: %s}", h.Type, h.DestConnectionID, h.SrcConnectionID, h.PacketNumber, h.Version)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.Debugf(" Short Header{DestConnectionID: %s, PacketNumber: %#x, PacketNumberLen: %d, KeyPhase: %d}", h.DestConnectionID, h.PacketNumber, h.PacketNumberLen, h.KeyPhase)
|
logger.Debugf(" Short Header{DestConnectionID: %s, PacketNumber: %#x, PacketNumberLen: %d, KeyPhase: %d}", h.DestConnectionID, h.PacketNumber, h.PacketNumberLen, h.KeyPhase)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -428,6 +428,19 @@ var _ = Describe("IETF QUIC Header", func() {
|
|||||||
log.SetOutput(os.Stdout)
|
log.SetOutput(os.Stdout)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("logs version negotiation packets", func() {
|
||||||
|
destConnID := protocol.ConnectionID{0xde, 0xad, 0xbe, 0xef, 0xca, 0xfe, 0x13, 0x37}
|
||||||
|
srcConnID := protocol.ConnectionID{0xde, 0xca, 0xfb, 0xad, 0x013, 0x37, 0x13, 0x37}
|
||||||
|
data, err := ComposeVersionNegotiation(destConnID, srcConnID, []protocol.VersionNumber{0x12345678, 0x87654321})
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
hdr, err := parseLongHeader(bytes.NewReader(data[1:]), protocol.PerspectiveServer, data[0])
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
hdr.logHeader(logger)
|
||||||
|
Expect(buf.String()).To(ContainSubstring("VersionNegotiationPacket{DestConnectionID: 0xdeadbeefcafe1337, SrcConnectionID: 0xdecafbad13371337"))
|
||||||
|
Expect(buf.String()).To(ContainSubstring("0x12345678"))
|
||||||
|
Expect(buf.String()).To(ContainSubstring("0x87654321"))
|
||||||
|
})
|
||||||
|
|
||||||
It("logs Long Headers", func() {
|
It("logs Long Headers", func() {
|
||||||
(&Header{
|
(&Header{
|
||||||
IsLongHeader: true,
|
IsLongHeader: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user