Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1137)

Unified Diff: net/quic/test_tools/crypto_test_utils.cc

Issue 14083012: QUIC: retransmit packets with the correct encryption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved HandshakeMode enum to MockCryptoClientStream Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/test_tools/crypto_test_utils.cc
diff --git a/net/quic/test_tools/crypto_test_utils.cc b/net/quic/test_tools/crypto_test_utils.cc
index 332057c80d4f615f2f1a83a3de50a26b2a9badc7..89f349e6f5a81696c98e86da70dcb2b6dd71c578 100644
--- a/net/quic/test_tools/crypto_test_utils.cc
+++ b/net/quic/test_tools/crypto_test_utils.cc
@@ -109,7 +109,7 @@ void CryptoTestUtils::CommunicateHandshakeMessages(
PacketSavingConnection* b_conn,
QuicCryptoStream* b) {
size_t a_i = 0, b_i = 0;
- while (!a->handshake_complete()) {
+ while (!a->handshake_confirmed()) {
ASSERT_GT(a_conn->packets_.size(), a_i);
LOG(INFO) << "Processing " << a_conn->packets_.size() - a_i
<< " packets a->b";
@@ -217,22 +217,29 @@ string CryptoTestUtils::GetValueForTag(const CryptoHandshakeMessage& message,
void CryptoTestUtils::CompareClientAndServerKeys(
QuicCryptoClientStream* client,
QuicCryptoServerStream* server) {
- StringPiece client_encrypter_key =
- client->session()->connection()->encrypter()->GetKey();
- StringPiece client_encrypter_iv =
- client->session()->connection()->encrypter()->GetNoncePrefix();
- StringPiece client_decrypter_key =
- client->session()->connection()->decrypter()->GetKey();
- StringPiece client_decrypter_iv =
- client->session()->connection()->decrypter()->GetNoncePrefix();
- StringPiece server_encrypter_key =
- server->session()->connection()->encrypter()->GetKey();
- StringPiece server_encrypter_iv =
- server->session()->connection()->encrypter()->GetNoncePrefix();
- StringPiece server_decrypter_key =
- server->session()->connection()->decrypter()->GetKey();
- StringPiece server_decrypter_iv =
- server->session()->connection()->decrypter()->GetNoncePrefix();
+ const QuicEncrypter* client_encrypter(
+ client->session()->connection()->encrypter(ENCRYPTION_INITIAL));
+ // Normally we would expect the client's INITIAL decrypter to have latched
+ // from the receipt of the server hello. However, when using a
+ // PacketSavingConnection (at the tests do) we don't actually encrypt with
+ // the correct encrypter.
+ // TODO(agl): make the tests more realistic.
+ const QuicDecrypter* client_decrypter(
+ client->session()->connection()->alternative_decrypter());
+ const QuicEncrypter* server_encrypter(
+ server->session()->connection()->encrypter(ENCRYPTION_INITIAL));
+ const QuicDecrypter* server_decrypter(
+ server->session()->connection()->decrypter());
+
+ StringPiece client_encrypter_key = client_encrypter->GetKey();
+ StringPiece client_encrypter_iv = client_encrypter->GetNoncePrefix();
+ StringPiece client_decrypter_key = client_decrypter->GetKey();
+ StringPiece client_decrypter_iv = client_decrypter->GetNoncePrefix();
+ StringPiece server_encrypter_key = server_encrypter->GetKey();
+ StringPiece server_encrypter_iv = server_encrypter->GetNoncePrefix();
+ StringPiece server_decrypter_key = server_decrypter->GetKey();
+ StringPiece server_decrypter_iv = server_decrypter->GetNoncePrefix();
+
CompareCharArraysWithHexError("client write key",
client_encrypter_key.data(),
client_encrypter_key.length(),

Powered by Google App Engine
This is Rietveld 408576698