drop support for draft-29 (#3903)

This commit is contained in:
Marten Seemann 2023-06-21 13:06:44 +02:00 committed by GitHub
parent da298d09e1
commit 21388c86bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 65 additions and 189 deletions

View file

@ -1,8 +1,6 @@
package handshake
import (
"fmt"
"github.com/quic-go/quic-go/internal/protocol"
"github.com/quic-go/quic-go/internal/qtls"
@ -14,56 +12,28 @@ var _ = Describe("TLS Extension Handler, for the server", func() {
var (
handlerServer tlsExtensionHandler
handlerClient tlsExtensionHandler
version protocol.VersionNumber
)
BeforeEach(func() {
version = protocol.VersionDraft29
})
JustBeforeEach(func() {
handlerServer = newExtensionHandler(
[]byte("foobar"),
protocol.PerspectiveServer,
version,
)
handlerClient = newExtensionHandler(
[]byte("raboof"),
protocol.PerspectiveClient,
version,
)
handlerServer = newExtensionHandler([]byte("foobar"), protocol.PerspectiveServer)
handlerClient = newExtensionHandler([]byte("raboof"), protocol.PerspectiveClient)
})
Context("for the server", func() {
for _, ver := range []protocol.VersionNumber{protocol.VersionDraft29, protocol.Version1} {
v := ver
Context(fmt.Sprintf("sending, for version %s", v), func() {
var extensionType uint16
BeforeEach(func() {
version = v
if v == protocol.VersionDraft29 {
extensionType = quicTLSExtensionTypeOldDrafts
} else {
extensionType = quicTLSExtensionType
}
})
It("only adds TransportParameters for the Encrypted Extensions", func() {
// test 2 other handshake types
Expect(handlerServer.GetExtensions(uint8(typeCertificate))).To(BeEmpty())
Expect(handlerServer.GetExtensions(uint8(typeFinished))).To(BeEmpty())
})
It("adds TransportParameters to the EncryptedExtensions message", func() {
exts := handlerServer.GetExtensions(uint8(typeEncryptedExtensions))
Expect(exts).To(HaveLen(1))
Expect(exts[0].Type).To(BeEquivalentTo(extensionType))
Expect(exts[0].Data).To(Equal([]byte("foobar")))
})
Context("sending", func() {
It("only adds TransportParameters for the Encrypted Extensions", func() {
// test 2 other handshake types
Expect(handlerServer.GetExtensions(uint8(typeCertificate))).To(BeEmpty())
Expect(handlerServer.GetExtensions(uint8(typeFinished))).To(BeEmpty())
})
}
It("adds TransportParameters to the EncryptedExtensions message", func() {
exts := handlerServer.GetExtensions(uint8(typeEncryptedExtensions))
Expect(exts).To(HaveLen(1))
Expect(exts[0].Type).To(BeEquivalentTo(quicTLSExtensionType))
Expect(exts[0].Data).To(Equal([]byte("foobar")))
})
})
Context("receiving", func() {
var chExts []qtls.Extension
@ -122,35 +92,20 @@ var _ = Describe("TLS Extension Handler, for the server", func() {
})
Context("for the client", func() {
for _, ver := range []protocol.VersionNumber{protocol.VersionDraft29, protocol.Version1} {
v := ver
Context(fmt.Sprintf("sending, for version %s", v), func() {
var extensionType uint16
BeforeEach(func() {
version = v
if v == protocol.VersionDraft29 {
extensionType = quicTLSExtensionTypeOldDrafts
} else {
extensionType = quicTLSExtensionType
}
})
It("only adds TransportParameters for the Encrypted Extensions", func() {
// test 2 other handshake types
Expect(handlerClient.GetExtensions(uint8(typeCertificate))).To(BeEmpty())
Expect(handlerClient.GetExtensions(uint8(typeFinished))).To(BeEmpty())
})
It("adds TransportParameters to the ClientHello message", func() {
exts := handlerClient.GetExtensions(uint8(typeClientHello))
Expect(exts).To(HaveLen(1))
Expect(exts[0].Type).To(BeEquivalentTo(extensionType))
Expect(exts[0].Data).To(Equal([]byte("raboof")))
})
Context("sending", func() {
It("only adds TransportParameters for the Encrypted Extensions", func() {
// test 2 other handshake types
Expect(handlerClient.GetExtensions(uint8(typeCertificate))).To(BeEmpty())
Expect(handlerClient.GetExtensions(uint8(typeFinished))).To(BeEmpty())
})
}
It("adds TransportParameters to the ClientHello message", func() {
exts := handlerClient.GetExtensions(uint8(typeClientHello))
Expect(exts).To(HaveLen(1))
Expect(exts[0].Type).To(BeEquivalentTo(quicTLSExtensionType))
Expect(exts[0].Data).To(Equal([]byte("raboof")))
})
})
Context("receiving", func() {
var chExts []qtls.Extension