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

Issue 2870030: Implement SSLClientSocketPool. (Closed)

Created:
10 years, 5 months ago by vandebo (ex-Chrome)
Modified:
5 years, 9 months ago
CC:
chromium-reviews, pam+watch_chromium.org, John Grabowski, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr., ben+cc_chromium.org
Visibility:
Public.

Description

Implement SSLClientSocketPool. To support SSLClientSocketPool, ClientSocketPoolBase and ClientSocketHandle require a notion of additional error state reported from the pool. Overtime the error handling may get become more integrated, alleviating the need for some of the additional error state. To support getting Http Proxy credentials from the user, the SSLClientSocketPool will release unauthenticated HttpProxyClientSocket's into the pool as idle. However, it checks their authentication status when receiving one, completing the authentication once the user has provided the credentials. BUG=30357 TEST=existing unit tests, ClientSocketPoolBaseTest.AdditionalErrorState*, SSLClientSocketPoolTest.* Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=52275

Patch Set 1 #

Total comments: 38

Patch Set 2 : Rebase and address comments #

Patch Set 3 : Rebase again #

Total comments: 43

Patch Set 4 : Address comments, add unit tests #

Patch Set 5 : Rebase and fix mac compile error #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+2281 lines, -471 lines) Patch
M chrome/browser/net/preconnect.cc View 2 3 4 2 chunks +31 lines, -9 lines 0 comments Download
M net/base/load_flags_list.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/base/net_error_list.h View 1 2 chunks +5 lines, -2 lines 0 comments Download
M net/http/http_network_session.h View 1 2 3 4 chunks +42 lines, -2 lines 0 comments Download
M net/http/http_network_session.cc View 1 2 3 3 chunks +46 lines, -19 lines 0 comments Download
M net/http/http_network_transaction.h View 1 2 chunks +0 lines, -4 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 17 chunks +177 lines, -255 lines 0 comments Download
M net/http/http_network_transaction_unittest.cc View 1 2 3 17 chunks +88 lines, -24 lines 0 comments Download
M net/http/http_proxy_client_socket.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/http/http_proxy_client_socket.cc View 2 3 2 chunks +7 lines, -7 lines 0 comments Download
M net/http/http_proxy_client_socket_pool.h View 2 3 3 chunks +4 lines, -1 line 0 comments Download
M net/http/http_proxy_client_socket_pool_unittest.cc View 7 chunks +14 lines, -63 lines 0 comments Download
M net/net.gyp View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M net/socket/client_socket_factory.h View 1 2 3 2 chunks +9 lines, -2 lines 0 comments Download
M net/socket/client_socket_factory.cc View 1 2 3 4 chunks +13 lines, -2 lines 0 comments Download
M net/socket/client_socket_handle.h View 1 2 3 6 chunks +27 lines, -1 line 0 comments Download
M net/socket/client_socket_handle.cc View 3 chunks +8 lines, -1 line 0 comments Download
M net/socket/client_socket_pool.h View 1 chunk +3 lines, -2 lines 0 comments Download
M net/socket/client_socket_pool_base.h View 1 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_base.cc View 1 2 3 4 4 chunks +12 lines, -1 line 1 comment Download
M net/socket/client_socket_pool_base_unittest.cc View 1 2 3 4 11 chunks +114 lines, -7 lines 0 comments Download
M net/socket/socket_test_util.h View 1 2 3 7 chunks +80 lines, -3 lines 0 comments Download
M net/socket/socket_test_util.cc View 1 2 3 7 chunks +102 lines, -9 lines 0 comments Download
M net/socket/socks_client_socket_pool.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket.h View 2 chunks +19 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_mac.h View 3 chunks +3 lines, -2 lines 0 comments Download
M net/socket/ssl_client_socket_mac.cc View 1 10 chunks +19 lines, -17 lines 0 comments Download
M net/socket/ssl_client_socket_mac_factory.h View 1 chunk +1 line, -1 line 0 comments Download
M net/socket/ssl_client_socket_mac_factory.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/socket/ssl_client_socket_nss.h View 3 chunks +4 lines, -2 lines 0 comments Download
M net/socket/ssl_client_socket_nss.cc View 1 10 chunks +16 lines, -13 lines 0 comments Download
M net/socket/ssl_client_socket_nss_factory.h View 1 chunk +1 line, -1 line 0 comments Download
M net/socket/ssl_client_socket_nss_factory.cc View 1 chunk +1 line, -1 line 0 comments Download
A net/socket/ssl_client_socket_pool.h View 1 2 3 1 chunk +248 lines, -0 lines 0 comments Download
A net/socket/ssl_client_socket_pool.cc View 1 2 3 1 chunk +424 lines, -0 lines 2 comments Download
A net/socket/ssl_client_socket_pool_unittest.cc View 1 chunk +720 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_win.h View 3 chunks +3 lines, -2 lines 0 comments Download
M net/socket/ssl_client_socket_win.cc View 1 11 chunks +20 lines, -16 lines 0 comments Download
M net/socket/tcp_client_socket_pool.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/tcp_client_socket_pool_unittest.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 16 (1 generated)
vandebo (ex-Chrome)
FYI
10 years, 5 months ago (2010-06-28 09:27:36 UTC) #1
Mike Belshe
Wow - this is a lot of work! Made it through one pass. Here are ...
10 years, 5 months ago (2010-06-29 22:29:46 UTC) #2
vandebo (ex-Chrome)
http://codereview.chromium.org/2870030/diff/1/6 File net/http/http_network_transaction.cc (right): http://codereview.chromium.org/2870030/diff/1/6#newcode745 net/http/http_network_transaction.cc:745: connection_group = StringPrintf("spdy/%s", connection_group.c_str()); On 2010/06/29 22:29:46, Mike Belshe ...
10 years, 5 months ago (2010-06-30 07:46:47 UTC) #3
willchan no longer on Chromium
Wow, there's a LOT going on here. Here are some initial comments. I'm quite worried ...
10 years, 5 months ago (2010-07-01 23:05:29 UTC) #4
Mike Belshe
still looking. a few more thoughts. will review more tonight. sorry for being slow. http://codereview.chromium.org/2870030/diff/1/13 ...
10 years, 5 months ago (2010-07-06 17:49:09 UTC) #5
Mike Belshe
Overall, I'm okay with this. I'd like to see better docs and tests around the ...
10 years, 5 months ago (2010-07-07 17:28:38 UTC) #6
vandebo (ex-Chrome)
Rebase and address comments so far. I still need to check that DoInitConnectComplete is functionally ...
10 years, 5 months ago (2010-07-08 00:12:17 UTC) #7
willchan no longer on Chromium
I think I've gotten through any major issue I have now. Hopefully followups should have ...
10 years, 5 months ago (2010-07-08 20:23:40 UTC) #8
vandebo (ex-Chrome)
I compared the error/completion procedure of this final CL with the code from before the ...
10 years, 5 months ago (2010-07-10 02:17:32 UTC) #9
Mike Belshe
lgtm; looks like there might be one last mac failure to fix.
10 years, 5 months ago (2010-07-10 04:59:48 UTC) #10
willchan no longer on Chromium
LGTM. I didn't take a close look again at the end. But structurally I'm fine ...
10 years, 5 months ago (2010-07-13 00:02:17 UTC) #11
willchan no longer on Chromium
http://codereview.chromium.org/2870030/diff/55001/45020 File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/2870030/diff/55001/45020#newcode634 net/socket/client_socket_pool_base.cc:634: base::TimeDelta(), &group, r->net_log()); Is this a bad merge? Did ...
10 years, 5 months ago (2010-07-15 00:52:23 UTC) #12
Nico
https://codereview.chromium.org/2870030/diff/55001/net/socket/ssl_client_socket_pool.cc File net/socket/ssl_client_socket_pool.cc (right): https://codereview.chromium.org/2870030/diff/55001/net/socket/ssl_client_socket_pool.cc#newcode76 net/socket/ssl_client_socket_pool.cc:76: resolver_(host_resolver), This constructor sets all fields except next_state_. Is ...
5 years, 9 months ago (2015-03-08 02:31:19 UTC) #14
wrong vandebo
https://codereview.chromium.org/2870030/diff/55001/net/socket/ssl_client_socket_pool.cc File net/socket/ssl_client_socket_pool.cc (right): https://codereview.chromium.org/2870030/diff/55001/net/socket/ssl_client_socket_pool.cc#newcode76 net/socket/ssl_client_socket_pool.cc:76: resolver_(host_resolver), On 2015/03/08 02:31:18, Nico wrote: > This constructor ...
5 years, 9 months ago (2015-03-08 03:57:15 UTC) #15
wtc
5 years, 9 months ago (2015-03-10 22:59:31 UTC) #16
Message was sent while issue was closed.
On 2015/03/08 03:57:15, wrong vandebo wrote:
>
> Looks like it could have been set to STATE_NONE

I agree. We should initialize the next_state_ member to STATE_NONE.

I don't think we will use next_state_ uninitialized. In the current
code, next_state_ is initialized in SSLConnectJob::ConnectInternal().
But it is good for a constructor to initialize every data member,
and STATE_NONE is a reasonable dummy/empty value for next_state_.

Powered by Google App Engine
This is Rietveld 408576698