summaryrefslogtreecommitdiffstats
path: root/net/quic/crypto/crypto_server_test.cc
diff options
context:
space:
mode:
authorrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 14:47:50 +0000
committerrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 14:47:50 +0000
commitaf806e6d9e18cdd223c76db4af45af3559e75245 (patch)
tree21c7badd804adacb46558fc73d0f953f49614c54 /net/quic/crypto/crypto_server_test.cc
parentc85a2af7a310db435ddb5fd849a7de56b1b49c79 (diff)
downloadchromium_src-af806e6d9e18cdd223c76db4af45af3559e75245.zip
chromium_src-af806e6d9e18cdd223c76db4af45af3559e75245.tar.gz
chromium_src-af806e6d9e18cdd223c76db4af45af3559e75245.tar.bz2
Revert 201501 "Land Recent QUIC changes."
Broke chromium.chrome build: ../../net/quic/test_tools/crypto_test_utils.cc:400:error: 'v' may be used uninitialized in this function > Land Recent QUIC changes. > > Use example.com as test hostname. > > Merge internal change: 46048925 > > Only updating the time of last packet once we've done our best to verify packet validity. > > Merge internal change: 46044184 > > Improve logging behavior in quic_connection.h. > > Merge internal change: 46033559 > > Moving the public flags to the beginning of the header in preparation for variable length guids. > > Merge internal change: 45980153 > > QUIC: change the GCM tag size to 12 bytes. > > Merge internal change: 45973625 > > QUIC: add some crypto tests. > > The client code tries to be correct, which can hamper some tests that wish to > send invalid requests. > > This CL contains some utilities for constructing arbitrary handshake messages > and some tests that exercise the server crypto code. > > Merge internal change: 45972782 > > Not allowing retransmissions to affect client timeouts. Fixes a serious > bug where if client vanishes and we have unacked packets, the connection > could live on forever. > > Merge internal change: 45935953 > > Address wtc's comments on cl/44272981. > > Merge internal change: 45917323 > > QUIC: don't CHECK when QUIC is enabled without any certificates loaded. > > Without certificates we don't have any key material for the source-address > token nor server config and so QUIC isn't setup at server load time. However, > if QUIC is enabled anyway then it'll crash. > > This change removes the CHECK and has every crypto handshake fail instead. > > (I have tests for the recent SNI change pending, into which a test for this > will fall nicely, hopefully this afternoon. But I'm prioritising this change > for now rather than waiting for the test CL to land.) > > Merge internal change: 45914344 > > Merging cleanup changes from chromium > > Merge internal change: 45797529 > > QUIC: pad client hello messages and require padding on the server. > > This reduces any amplification factor that an attacker might get from us. I've > picked a minimum size of 512 bytes out of thin air. > > Satyam has a change pending that bumps the version to 2 so I've omitted that here. > > Merge internal change: 45779287 > > QUIC: small fixes > > * Don't send invalid SNIs as a client. > * Don't require an SNI as a server. > * Don't ignore client hello processing errors. > > Merge internal change: 45774287 > > QUIC - set QUIC max stream per connections based on SNI. > > Merge internal change: 45656436 > > - Enabled EndToEnd's Timeout unittest. > - Ported IsValidSNI and NormalizeHostname from internal code. > > R=rch@chromium.org > > Review URL: https://chromiumcodereview.appspot.com/15385004 TBR=rtenneti@chromium.org Review URL: https://codereview.chromium.org/15737008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201516 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/crypto/crypto_server_test.cc')
-rw-r--r--net/quic/crypto/crypto_server_test.cc148
1 files changed, 0 insertions, 148 deletions
diff --git a/net/quic/crypto/crypto_server_test.cc b/net/quic/crypto/crypto_server_test.cc
deleted file mode 100644
index 7ab0efe..0000000
--- a/net/quic/crypto/crypto_server_test.cc
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/quic/crypto/crypto_server_config.h"
-#include "net/quic/crypto/quic_random.h"
-#include "net/quic/test_tools/crypto_test_utils.h"
-#include "net/quic/test_tools/mock_clock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using std::string;
-
-namespace net {
-namespace test {
-
-class CryptoServerTest : public ::testing::Test {
- public:
- CryptoServerTest()
- : rand_(QuicRandom::GetInstance()),
- config_(QuicCryptoServerConfig::TESTING),
- addr_(ParseIPLiteralToNumber("192.0.2.33", &ip_) ?
- ip_ : IPAddressNumber(), 1) {
- }
-
- virtual void SetUp() {
- scoped_ptr<CryptoHandshakeMessage> msg(
- config_.AddDefaultConfig(rand_, &clock_, 0));
- }
-
- void ShouldSucceed(const CryptoHandshakeMessage& message) {
- string error_details;
- QuicErrorCode error = config_.ProcessClientHello(
- message, 1 /* GUID */, addr_, &clock_,
- rand_, &params_, &out_, &error_details);
-
- ASSERT_EQ(error, QUIC_NO_ERROR)
- << "Message failed with error " << error_details << ": "
- << message.DebugString();
- }
-
- void ShouldFailMentioning(const char* error_substr,
- const CryptoHandshakeMessage& message) {
- string error_details;
- QuicErrorCode error = config_.ProcessClientHello(
- message, 1 /* GUID */, addr_, &clock_,
- rand_, &params_, &out_, &error_details);
-
- ASSERT_NE(error, QUIC_NO_ERROR)
- << "Message didn't fail: " << message.DebugString();
-
- EXPECT_TRUE(error_details.find(error_substr) != string::npos)
- << error_substr << " not in " << error_details;
- }
-
- CryptoHandshakeMessage InchoateClientHello(const char* message_tag, ...) {
- va_list ap;
- va_start(ap, message_tag);
-
- CryptoHandshakeMessage message =
- CryptoTestUtils::BuildMessage(message_tag, ap);
- va_end(ap);
-
- message.SetStringPiece(kPAD, string(kClientHelloMinimumSize, '-'));
- return message;
- }
-
- private:
- QuicRandom* const rand_;
- MockClock clock_;
- QuicCryptoServerConfig config_;
- QuicCryptoNegotiatedParameters params_;
- CryptoHandshakeMessage out_;
- IPAddressNumber ip_;
- IPEndPoint addr_;
-};
-
-TEST_F(CryptoServerTest, BadSNI) {
- static const char* kBadSNIs[] = {
- "",
- "foo",
- "#00",
- "#ff00",
- "127.0.0.1",
- "ffee::1",
- };
-
- for (size_t i = 0; i < arraysize(kBadSNIs); i++) {
- ShouldFailMentioning("SNI", InchoateClientHello(
- "CHLO",
- "SNI", kBadSNIs[i],
- NULL));
- }
-}
-
-TEST_F(CryptoServerTest, TooSmall) {
- ShouldFailMentioning("too small", CryptoTestUtils::Message(
- "CHLO",
- NULL));
-}
-
-TEST_F(CryptoServerTest, BadSourceAddressToken) {
- // Invalid source-address tokens should be ignored.
- static const char* kBadSourceAddressTokens[] = {
- "",
- "foo",
- "#0000",
- "#0000000000000000000000000000000000000000",
- };
-
- for (size_t i = 0; i < arraysize(kBadSourceAddressTokens); i++) {
- ShouldSucceed(InchoateClientHello(
- "CHLO",
- "STK", kBadSourceAddressTokens[i],
- NULL));
- }
-}
-
-TEST_F(CryptoServerTest, BadClientNonce) {
- // Invalid nonces should be ignored.
- static const char* kBadNonces[] = {
- "",
- "#0000",
- "#0000000000000000000000000000000000000000",
- };
-
- for (size_t i = 0; i < arraysize(kBadNonces); i++) {
- ShouldSucceed(InchoateClientHello(
- "CHLO",
- "NONC", kBadNonces[i],
- NULL));
- }
-}
-
-class CryptoServerTestNoConfig : public CryptoServerTest {
- public:
- virtual void SetUp() {
- // Deliberately don't add a config so that we can test this situation.
- }
-};
-
-TEST_F(CryptoServerTestNoConfig, DontCrash) {
- ShouldFailMentioning("No config", InchoateClientHello(
- "CHLO",
- NULL));
-}
-
-} // namespace test
-} // namespace net