Commit cebb414b authored by Adam Rice's avatar Adam Rice Committed by Commit Bot

Revert "Disable WebSocket connection throttling in the network service"

This reverts commit 3bce0223.

Reason for revert: This is no longer needed in ToT because it has already been merged and released for M77.

Original change's description:
> Disable WebSocket connection throttling in the network service
> 
> Permit any number of connect requests to be pending in the network
> service.
> 
> Note that per-server WebSocket connection serialisation is still
> applied, so this doesn't permit denial-of-service attacks against
> servers.
> 
> BUG=1006243
> 
> Change-Id: I31a10ec3384f32aa34ff0380f22738271bee0160
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1829629
> Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
> Commit-Queue: Adam Rice <ricea@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#701043}

TBR=ricea@chromium.org,yhirano@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1006243
Change-Id: I195e463ab05461c8246be372378671c9b53a1c65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1880999Reviewed-by: default avatarAdam Rice <ricea@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711132}
parent c22819ba
...@@ -47,7 +47,9 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocketPerProcessThrottler final { ...@@ -47,7 +47,9 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocketPerProcessThrottler final {
~WebSocketPerProcessThrottler(); ~WebSocketPerProcessThrottler();
// Returns if there are too many pending connections. // Returns if there are too many pending connections.
bool HasTooManyPendingConnections() const { return false; } bool HasTooManyPendingConnections() const {
return num_pending_connections_ >= kMaxPendingWebSocketConnections;
}
// Returns the delay which should be used to throttle opening websocket // Returns the delay which should be used to throttle opening websocket
// connections. // connections.
......
...@@ -107,7 +107,7 @@ TEST(WebSocketPerProcessThrottlerTest, Failed) { ...@@ -107,7 +107,7 @@ TEST(WebSocketPerProcessThrottlerTest, Failed) {
EXPECT_EQ(base::TimeDelta(), throttler.CalculateDelay()); EXPECT_EQ(base::TimeDelta(), throttler.CalculateDelay());
} }
TEST(WebSocketPerProcessThrottlerTest, DISABLED_TooManyPendingConnections) { TEST(WebSocketPerProcessThrottlerTest, TooManyPendingConnections) {
constexpr int limit = 255; constexpr int limit = 255;
WebSocketPerProcessThrottler throttler; WebSocketPerProcessThrottler throttler;
...@@ -312,7 +312,7 @@ TEST_F(WebSocketThrottlerTest, InitialState) { ...@@ -312,7 +312,7 @@ TEST_F(WebSocketThrottlerTest, InitialState) {
EXPECT_EQ(0u, throttler.GetSizeForTesting()); EXPECT_EQ(0u, throttler.GetSizeForTesting());
} }
TEST_F(WebSocketThrottlerTest, DISABLED_TooManyPendingConnections) { TEST_F(WebSocketThrottlerTest, TooManyPendingConnections) {
constexpr int process1 = 1; constexpr int process1 = 1;
constexpr int process2 = 2; constexpr int process2 = 2;
constexpr int limit = 255; constexpr int limit = 255;
......
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
CONSOLE ERROR: line 24: WebSocket connection to 'ws://127.0.0.1:8880/echo' failed: Unknown reason
Test that WebSocket connections are throttled. Test that WebSocket connections are throttled.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
FAIL openedCount should be 255. Was 300. PASS openedCount is 255
PASS successfullyParsed is true PASS successfullyParsed is true
TEST COMPLETE TEST COMPLETE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment