log version negotiation packets

This commit is contained in:
Marten Seemann
2018-02-21 13:52:26 +08:00
parent d19144921d
commit ce01e99ba1
4 changed files with 6 additions and 3 deletions

View File

@@ -347,6 +347,8 @@ func (c *client) handleVersionNegotiationPacket(hdr *wire.Header) error {
} }
} }
utils.Infof("Received a Version Negotiation Packet. Supported Versions: %s", hdr.SupportedVersions)
newVersion, ok := protocol.ChooseSupportedVersion(c.config.Versions, hdr.SupportedVersions) newVersion, ok := protocol.ChooseSupportedVersion(c.config.Versions, hdr.SupportedVersions)
if !ok { if !ok {
return qerr.InvalidVersion return qerr.InvalidVersion

View File

@@ -46,7 +46,7 @@ func (vn VersionNumber) String() string {
if vn.isGQUIC() { if vn.isGQUIC() {
return fmt.Sprintf("gQUIC %d", vn.toGQUICVersion()) return fmt.Sprintf("gQUIC %d", vn.toGQUICVersion())
} }
return fmt.Sprintf("%d", vn) return fmt.Sprintf("%#x", uint32(vn))
} }
} }

View File

@@ -35,6 +35,7 @@ var _ = Describe("Version", func() {
Expect(VersionNumber(0x51303133).String()).To(Equal("gQUIC 13")) Expect(VersionNumber(0x51303133).String()).To(Equal("gQUIC 13"))
Expect(VersionNumber(0x51303235).String()).To(Equal("gQUIC 25")) Expect(VersionNumber(0x51303235).String()).To(Equal("gQUIC 25"))
Expect(VersionNumber(0x51303438).String()).To(Equal("gQUIC 48")) Expect(VersionNumber(0x51303438).String()).To(Equal("gQUIC 48"))
Expect(VersionNumber(0x01234567).String()).To(Equal("0x1234567"))
}) })
It("has the right representation for the H2 Alt-Svc tag", func() { It("has the right representation for the H2 Alt-Svc tag", func() {

View File

@@ -392,9 +392,9 @@ var _ = Describe("IETF draft Header", func() {
Type: protocol.PacketTypeHandshake, Type: protocol.PacketTypeHandshake,
PacketNumber: 0x1337, PacketNumber: 0x1337,
ConnectionID: 0xdeadbeef, ConnectionID: 0xdeadbeef,
Version: 253, Version: 0xfeed,
}).logHeader() }).logHeader()
Expect(string(buf.Bytes())).To(ContainSubstring("Long Header{Type: Handshake, ConnectionID: 0xdeadbeef, PacketNumber: 0x1337, Version: 253}")) Expect(string(buf.Bytes())).To(ContainSubstring("Long Header{Type: Handshake, ConnectionID: 0xdeadbeef, PacketNumber: 0x1337, Version: 0xfeed}"))
}) })
It("logs Short Headers containing a connection ID", func() { It("logs Short Headers containing a connection ID", func() {