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

Issue 218923002: Merge internal change: 63891842 - QuicServerId changes (Closed)

Created:
6 years, 8 months ago by ramant (doing other things)
Modified:
6 years, 8 months ago
Reviewers:
wtc, Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org, gavinp+disk_chromium.org, avd, jar (doing other things), wtc
Visibility:
Public.

Description

Merge internal change: 63891842 Begin internal description: + Use QuicServerId tuple (host, port, is_https) instead of server_hostname, while creating QuicClientSession, QuicCryptoClientStream, QuicCryptoClientConfig, QuicClient, QuicTestClient, etc objects. + QuicServerId is used as the key to access QUIC server config information from all caches. + Added couple of new unit tests for HostPortPair class. End internal description Most of the above changes were already in chromium. After the code review in the internal source tree, this CL required merging. The following are the chromium specific changes: + Search and replace: QuicSessionKey -> QuicServerId server_key -> server_id session_key -> server_id + Added unit tests for QuicServerId for privacy mode combination with host, port, is_https. R=rch@chromium.org

Patch Set 1 #

Total comments: 7
Unified diffs Side-by-side diffs Delta from patch set Stats (+739 lines, -483 lines) Patch
M net/base/host_port_pair.cc View 2 chunks +5 lines, -0 lines 5 comments Download
M net/base/host_port_pair_unittest.cc View 2 chunks +77 lines, -1 line 0 comments Download
M net/http/disk_cache_based_quic_server_info.h View 3 chunks +3 lines, -3 lines 0 comments Download
M net/http/disk_cache_based_quic_server_info.cc View 4 chunks +5 lines, -5 lines 0 comments Download
M net/http/disk_cache_based_quic_server_info_unittest.cc View 11 chunks +16 lines, -17 lines 0 comments Download
M net/http/http_cache.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/net.gyp View 2 chunks +3 lines, -3 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.h View 8 chunks +13 lines, -13 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.cc View 9 chunks +27 lines, -27 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config_test.cc View 4 chunks +13 lines, -11 lines 0 comments Download
M net/quic/crypto/quic_server_info.h View 4 chunks +7 lines, -7 lines 0 comments Download
M net/quic/crypto/quic_server_info.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_client_session.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_client_session.cc View 4 chunks +5 lines, -5 lines 0 comments Download
M net/quic/quic_client_session_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_crypto_client_stream.h View 3 chunks +4 lines, -4 lines 0 comments Download
M net/quic/quic_crypto_client_stream.cc View 8 chunks +11 lines, -9 lines 0 comments Download
M net/quic/quic_crypto_client_stream_factory.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_crypto_client_stream_test.cc View 5 chunks +7 lines, -7 lines 0 comments Download
M net/quic/quic_crypto_server_stream_test.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M net/quic/quic_http_stream_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
A + net/quic/quic_server_id.h View 1 chunk +18 lines, -18 lines 0 comments Download
A + net/quic/quic_server_id.cc View 2 chunks +13 lines, -13 lines 0 comments Download
A net/quic/quic_server_id_test.cc View 1 chunk +319 lines, -0 lines 2 comments Download
D net/quic/quic_session_key.h View 1 chunk +0 lines, -57 lines 0 comments Download
D net/quic/quic_session_key.cc View 1 chunk +0 lines, -51 lines 0 comments Download
D net/quic/quic_session_key_test.cc View 1 chunk +0 lines, -41 lines 0 comments Download
M net/quic/quic_stream_factory.h View 2 chunks +13 lines, -13 lines 0 comments Download
M net/quic/quic_stream_factory.cc View 21 chunks +55 lines, -55 lines 0 comments Download
M net/quic/quic_stream_factory_test.cc View 7 chunks +16 lines, -16 lines 0 comments Download
M net/quic/test_tools/crypto_test_utils.cc View 5 chunks +9 lines, -11 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream_factory.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream_factory.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M net/tools/quic/end_to_end_test.cc View 5 chunks +6 lines, -11 lines 0 comments Download
M net/tools/quic/quic_client.h View 4 chunks +8 lines, -8 lines 0 comments Download
M net/tools/quic/quic_client.cc View 4 chunks +6 lines, -6 lines 0 comments Download
M net/tools/quic/quic_client_bin.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_client_session.h View 1 chunk +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_client_session.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M net/tools/quic/quic_client_session_test.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M net/tools/quic/quic_spdy_client_stream_test.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_client.h View 3 chunks +5 lines, -8 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_client.cc View 7 chunks +35 lines, -26 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ramant (doing other things)
6 years, 8 months ago (2014-03-31 03:24:32 UTC) #1
ramant (doing other things)
6 years, 8 months ago (2014-03-31 03:26:00 UTC) #2
Ryan Hamilton
lgtm https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc File net/base/host_port_pair.cc (right): https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc#newcode53 net/base/host_port_pair.cc:53: LOG(DFATAL) << "Host has a null char: " ...
6 years, 8 months ago (2014-03-31 15:45:43 UTC) #3
ramant (doing other things)
https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc File net/base/host_port_pair.cc (right): https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc#newcode53 net/base/host_port_pair.cc:53: LOG(DFATAL) << "Host has a null char: " << ...
6 years, 8 months ago (2014-03-31 18:40:31 UTC) #4
ramant (doing other things)
https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc File net/base/host_port_pair.cc (right): https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc#newcode53 net/base/host_port_pair.cc:53: LOG(DFATAL) << "Host has a null char: " << ...
6 years, 8 months ago (2014-04-01 03:19:56 UTC) #5
wtc
Patch set 1 LGTM. Nit: the first two lines of the CL's description doesn't make ...
6 years, 8 months ago (2014-04-01 22:10:58 UTC) #6
ramant (doing other things)
6 years, 8 months ago (2014-04-02 02:34:45 UTC) #7
Message was sent while issue was closed.
https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc
File net/base/host_port_pair.cc (right):

https://codereview.chromium.org/218923002/diff/1/net/base/host_port_pair.cc#n...
net/base/host_port_pair.cc:51: // TODO(rtenneti): Add support for |host| to have
'\0'.
On 2014/04/01 22:10:58, wtc wrote:
> 
> Can you explain why |host| may have '\0'?

avd mentioned if host is constructed in code where the host user-input, then an
attacker could embed \0 in the string.

Should we delete this code/comment?

The following is a comment from avd:

If HostPortPair class is used in the server environment (could attacker provider
a host string with \0 embedded in it)
The problem is that the Host string is user-input.  I as an attacker can trigger
this DCHECK by constructing specific packets.

Powered by Google App Engine
This is Rietveld 408576698