diff --git a/api/crypto/frame_crypto_transformer.cc b/api/crypto/frame_crypto_transformer.cc index 0453e14db4..4f92d42b64 100644 --- a/api/crypto/frame_crypto_transformer.cc +++ b/api/crypto/frame_crypto_transformer.cc @@ -534,7 +534,7 @@ void FrameCryptorTransformer::decryptFrame( return; } - if(last_dec_error_ == kDecryptionFailed && !key_handler->have_valid_key) { + if(last_dec_error_ == kDecryptionFailed && !key_handler->has_valid_key) { // if decryption failed and we have an invalid key, // please try to decrypt with the next new key return; @@ -584,6 +584,7 @@ void FrameCryptorTransformer::decryptFrame( decryption_success = true; // success, so we set the new key key_handler->SetKeyFromMaterial(new_material, key_index); + key_handler->has_valid_key = true; if (last_dec_error_ != FrameCryptionState::kKeyRatcheted) { last_dec_error_ = FrameCryptionState::kKeyRatcheted; if (observer_) @@ -612,7 +613,7 @@ void FrameCryptorTransformer::decryptFrame( if (!decryption_success) { if (last_dec_error_ != FrameCryptionState::kDecryptionFailed) { last_dec_error_ = FrameCryptionState::kDecryptionFailed; - key_handler->have_valid_key = false; + key_handler->has_valid_key = false; if (observer_) observer_->OnFrameCryptionStateChanged(participant_id_, last_dec_error_); diff --git a/api/crypto/frame_crypto_transformer.h b/api/crypto/frame_crypto_transformer.h index 8f358f8d48..06e11a35f8 100644 --- a/api/crypto/frame_crypto_transformer.h +++ b/api/crypto/frame_crypto_transformer.h @@ -102,6 +102,7 @@ class ParticipantKeyHandler { } SetKeyFromMaterial(new_material, key_index != -1 ? key_index : current_key_index_); + has_valid_key = true; return new_material; } @@ -113,7 +114,7 @@ class ParticipantKeyHandler { virtual void SetKey(std::vector password, int key_index) { webrtc::MutexLock lock(&mutex_); SetKeyFromMaterial(password, key_index); - have_valid_key = true; + has_valid_key = true; } std::vector RatchetKeyMaterial( @@ -145,8 +146,8 @@ class ParticipantKeyHandler { crypto_key_ring_[current_key_index_] = DeriveKeys(password, key_provider_->options().ratchet_salt, 128); } - protected: - bool have_valid_key = false; +protected: + bool has_valid_key = false; private: mutable webrtc::Mutex mutex_; int current_key_index_ = 0;