use a sentinel error when a sealer is not yet available

This commit is contained in:
Marten Seemann
2019-11-11 11:51:23 +07:00
parent d00828b762
commit 3db60534cf
5 changed files with 11 additions and 11 deletions

View File

@@ -576,7 +576,7 @@ func (h *cryptoSetup) GetHandshakeSealer() (LongHeaderSealer, error) {
if h.initialSealer == nil {
return nil, ErrKeysDropped
}
return nil, errors.New("CryptoSetup: no sealer with encryption level Handshake")
return nil, ErrKeysNotYetAvailable
}
return h.handshakeSealer, nil
}
@@ -586,7 +586,7 @@ func (h *cryptoSetup) Get1RTTSealer() (ShortHeaderSealer, error) {
defer h.mutex.Unlock()
if !h.has1RTTSealer {
return nil, errors.New("CryptoSetup: no sealer with encryption level 1-RTT")
return nil, ErrKeysNotYetAvailable
}
return h.aead, nil
}
@@ -607,7 +607,7 @@ func (h *cryptoSetup) GetHandshakeOpener() (LongHeaderOpener, error) {
if h.handshakeOpener == nil {
if h.initialOpener != nil {
return nil, ErrOpenerNotYetAvailable
return nil, ErrKeysNotYetAvailable
}
// if the initial opener is also not available, the keys were already dropped
return nil, ErrKeysDropped
@@ -620,7 +620,7 @@ func (h *cryptoSetup) Get1RTTOpener() (ShortHeaderOpener, error) {
defer h.mutex.Unlock()
if !h.has1RTTOpener {
return nil, ErrOpenerNotYetAvailable
return nil, ErrKeysNotYetAvailable
}
return h.aead, nil
}

View File

@@ -11,10 +11,10 @@ import (
)
var (
// ErrOpenerNotYetAvailable is returned when an opener is requested for an encryption level,
// ErrKeysNotYetAvailable is returned when an opener or a sealer is requested for an encryption level,
// but the corresponding opener has not yet been initialized
// This can happen when packets arrive out of order.
ErrOpenerNotYetAvailable = errors.New("CryptoSetup: opener at this encryption level not yet available")
ErrKeysNotYetAvailable = errors.New("CryptoSetup: keys at this encryption level not yet available")
// ErrKeysDropped is returned when an opener or a sealer is requested for an encryption level,
// but the corresponding keys have already been dropped.
ErrKeysDropped = errors.New("CryptoSetup: keys were already dropped")