use separate sealer interfaces for long and short header packets

This commit is contained in:
Marten Seemann
2019-06-10 16:21:45 +08:00
parent c503769bcd
commit b2d3ef691e
12 changed files with 233 additions and 172 deletions

View File

@@ -19,9 +19,10 @@ type sealer struct {
is1RTT bool
}
var _ Sealer = &sealer{}
var _ LongHeaderSealer = &sealer{}
var _ ShortHeaderSealer = &sealer{}
func newSealer(aead cipher.AEAD, hpEncrypter cipher.Block, is1RTT bool) Sealer {
func newSealer(aead cipher.AEAD, hpEncrypter cipher.Block, is1RTT bool) ShortHeaderSealer {
return &sealer{
aead: aead,
nonceBuf: make([]byte, aead.NonceSize()),
@@ -57,6 +58,10 @@ func (s *sealer) Overhead() int {
return s.aead.Overhead()
}
func (s *sealer) KeyPhase() protocol.KeyPhase {
return protocol.KeyPhaseZero
}
type opener struct {
aead cipher.AEAD
pnDecrypter cipher.Block