| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <cmath> | 5 #include <cmath> |
| 6 #include <memory> | 6 #include <memory> |
| 7 #include <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 6188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6199 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 6199 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 6200 helper.RunToCompletion(&data); | 6200 helper.RunToCompletion(&data); |
| 6201 TransactionHelperResult out = helper.output(); | 6201 TransactionHelperResult out = helper.output(); |
| 6202 | 6202 |
| 6203 EXPECT_THAT(out.rv, IsOk()); | 6203 EXPECT_THAT(out.rv, IsOk()); |
| 6204 EXPECT_EQ("HTTP/1.1 200", out.status_line); | 6204 EXPECT_EQ("HTTP/1.1 200", out.status_line); |
| 6205 EXPECT_EQ("hello!", out.response_data); | 6205 EXPECT_EQ("hello!", out.response_data); |
| 6206 ASSERT_TRUE(out.response_info.headers->HasHeaderValue(kKey, kValue)); | 6206 ASSERT_TRUE(out.response_info.headers->HasHeaderValue(kKey, kValue)); |
| 6207 } | 6207 } |
| 6208 | 6208 |
| 6209 // End of line delimiter is forbidden according to RFC 7230 Section 3.2. |
| 6210 TEST_F(SpdyNetworkTransactionTest, CRLFInHeaderValue) { |
| 6211 SpdySerializedFrame req( |
| 6212 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); |
| 6213 SpdySerializedFrame rst( |
| 6214 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_PROTOCOL_ERROR)); |
| 6215 MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 2)}; |
| 6216 |
| 6217 const char* response_headers[] = {"folded", "foo\r\nbar"}; |
| 6218 SpdySerializedFrame resp( |
| 6219 spdy_util_.ConstructSpdyGetReply(response_headers, 1, 1)); |
| 6220 MockRead reads[] = {CreateMockRead(resp, 1), MockRead(ASYNC, 0, 3)}; |
| 6221 |
| 6222 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 6223 |
| 6224 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
| 6225 BoundNetLog(), nullptr); |
| 6226 helper.RunToCompletion(&data); |
| 6227 TransactionHelperResult out = helper.output(); |
| 6228 |
| 6229 EXPECT_THAT(out.rv, IsError(ERR_SPDY_PROTOCOL_ERROR)); |
| 6230 } |
| 6231 |
| 6209 class SpdyNetworkTransactionTLSUsageCheckTest | 6232 class SpdyNetworkTransactionTLSUsageCheckTest |
| 6210 : public SpdyNetworkTransactionTest { | 6233 : public SpdyNetworkTransactionTest { |
| 6211 protected: | 6234 protected: |
| 6212 void RunTLSUsageCheckTest( | 6235 void RunTLSUsageCheckTest( |
| 6213 std::unique_ptr<SSLSocketDataProvider> ssl_provider) { | 6236 std::unique_ptr<SSLSocketDataProvider> ssl_provider) { |
| 6214 SpdySerializedFrame goaway( | 6237 SpdySerializedFrame goaway( |
| 6215 spdy_util_.ConstructSpdyGoAway(0, GOAWAY_INADEQUATE_SECURITY, "")); | 6238 spdy_util_.ConstructSpdyGoAway(0, GOAWAY_INADEQUATE_SECURITY, "")); |
| 6216 MockWrite writes[] = {CreateMockWrite(goaway)}; | 6239 MockWrite writes[] = {CreateMockWrite(goaway)}; |
| 6217 | 6240 |
| 6218 StaticSocketDataProvider data(NULL, 0, writes, arraysize(writes)); | 6241 StaticSocketDataProvider data(NULL, 0, writes, arraysize(writes)); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 6239 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { | 6262 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { |
| 6240 std::unique_ptr<SSLSocketDataProvider> ssl_provider( | 6263 std::unique_ptr<SSLSocketDataProvider> ssl_provider( |
| 6241 new SSLSocketDataProvider(ASYNC, OK)); | 6264 new SSLSocketDataProvider(ASYNC, OK)); |
| 6242 // Set to TLS_RSA_WITH_NULL_MD5 | 6265 // Set to TLS_RSA_WITH_NULL_MD5 |
| 6243 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); | 6266 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); |
| 6244 | 6267 |
| 6245 RunTLSUsageCheckTest(std::move(ssl_provider)); | 6268 RunTLSUsageCheckTest(std::move(ssl_provider)); |
| 6246 } | 6269 } |
| 6247 | 6270 |
| 6248 } // namespace net | 6271 } // namespace net |
| OLD | NEW |