summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_utils.cc
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:53:51 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:53:51 +0000
commit90ba4fad974648c03c0ca3860b0ddd2b2b06e4a9 (patch)
treeceffe8e1be1860001ebee450d7e0e7c57316eb47 /net/quic/quic_utils.cc
parent801847c51282ac3fab316eb7ca482c38b60226a5 (diff)
downloadchromium_src-90ba4fad974648c03c0ca3860b0ddd2b2b06e4a9.zip
chromium_src-90ba4fad974648c03c0ca3860b0ddd2b2b06e4a9.tar.gz
chromium_src-90ba4fad974648c03c0ca3860b0ddd2b2b06e4a9.tar.bz2
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 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201501 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_utils.cc')
-rw-r--r--net/quic/quic_utils.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/net/quic/quic_utils.cc b/net/quic/quic_utils.cc
index a42993c..ae5f4b5 100644
--- a/net/quic/quic_utils.cc
+++ b/net/quic/quic_utils.cc
@@ -197,6 +197,17 @@ const char* QuicUtils::ErrorToString(QuicErrorCode error) {
}
// static
+const char* QuicUtils::EncryptionLevelToString(EncryptionLevel level) {
+ switch (level) {
+ RETURN_STRING_LITERAL(ENCRYPTION_NONE);
+ RETURN_STRING_LITERAL(ENCRYPTION_INITIAL);
+ RETURN_STRING_LITERAL(ENCRYPTION_FORWARD_SECURE);
+ RETURN_STRING_LITERAL(NUM_ENCRYPTION_LEVELS);
+ }
+ return "INVALID_ENCRYPTION_LEVEL";
+}
+
+// static
string QuicUtils::TagToString(QuicTag tag) {
char chars[4];
bool ascii = true;