Index: net/quic/quic_crypto_client_stream.cc |
diff --git a/net/quic/quic_crypto_client_stream.cc b/net/quic/quic_crypto_client_stream.cc |
index e6322a84157aafac1505ade0a9b8239a8d758d5d..80d298e012a359bd571a863832eaaed504d3278c 100644 |
--- a/net/quic/quic_crypto_client_stream.cc |
+++ b/net/quic/quic_crypto_client_stream.cc |
@@ -15,13 +15,11 @@ namespace net { |
QuicCryptoClientStream::QuicCryptoClientStream( |
const string& server_hostname, |
- const QuicConfig& config, |
QuicSession* session, |
QuicCryptoClientConfig* crypto_config) |
: QuicCryptoStream(session), |
next_state_(STATE_IDLE), |
num_client_hellos_(0), |
- config_(config), |
crypto_config_(crypto_config), |
server_hostname_(server_hostname) { |
} |
@@ -82,8 +80,7 @@ void QuicCryptoClientStream::DoHandshakeLoop( |
SendHandshakeMessage(out); |
return; |
} |
- const CryptoHandshakeMessage* scfg = cached->GetServerConfig(); |
- config_.ToHandshakeMessage(&out); |
+ session()->config()->ToHandshakeMessage(&out); |
error = crypto_config_->FillClientHello( |
server_hostname_, |
session()->connection()->guid(), |
@@ -97,13 +94,6 @@ void QuicCryptoClientStream::DoHandshakeLoop( |
CloseConnectionWithDetails(error, error_details); |
return; |
} |
- error = config_.ProcessFinalPeerHandshake( |
- *scfg, CryptoUtils::PEER_PRIORITY, &negotiated_params_, |
- &error_details); |
- if (error != QUIC_NO_ERROR) { |
- CloseConnectionWithDetails(error, error_details); |
- return; |
- } |
next_state_ = STATE_RECV_SHLO; |
DLOG(INFO) << "Client Sending: " << out.DebugString(); |
SendHandshakeMessage(out); |
@@ -214,6 +204,12 @@ void QuicCryptoClientStream::DoHandshakeLoop( |
error, "Server hello invalid: " + error_details); |
return; |
} |
+ error = session()->config()->ProcessServerHello(*in, &error_details); |
+ if (error != QUIC_NO_ERROR) { |
+ CloseConnectionWithDetails( |
+ error, "Server hello invalid: " + error_details); |
+ return; |
+ } |
CrypterPair* crypters = |
&crypto_negotiated_params_.forward_secure_crypters; |
// TODO(agl): we don't currently latch this decrypter because the idea |