send a gQUIC / IETF QUIC Version Negotiation Packet based on header type

This commit is contained in:
Marten Seemann
2018-08-27 09:06:49 +07:00
parent 4d2d2420a4
commit c481645276
2 changed files with 4 additions and 3 deletions

View File

@@ -374,14 +374,14 @@ func (s *server) sendVersionNegotiationPacket(p *receivedPacket) error {
s.logger.Debugf("Client offered version %s, sending VersionNegotiationPacket", hdr.Version)
var data []byte
if hdr.Version.UsesIETFFrameFormat() {
if hdr.IsPublicHeader {
data = wire.ComposeGQUICVersionNegotiation(hdr.DestConnectionID, s.config.Versions)
} else {
var err error
data, err = wire.ComposeVersionNegotiation(hdr.SrcConnectionID, hdr.DestConnectionID, s.config.Versions)
if err != nil {
return err
}
} else {
data = wire.ComposeGQUICVersionNegotiation(hdr.DestConnectionID, s.config.Versions)
}
_, err := s.conn.WriteTo(data, p.remoteAddr)
return err

View File

@@ -330,6 +330,7 @@ var _ = Describe("Server", func() {
err := serv.handlePacketImpl(&receivedPacket{
remoteAddr: udpAddr,
header: &wire.Header{
IsPublicHeader: true,
VersionFlag: true,
DestConnectionID: connID,
PacketNumber: 1,