| 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 <map> | 5 #include <map> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "net/quic/crypto/crypto_framer.h" | 10 #include "net/quic/crypto/crypto_framer.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 // value 2 | 81 // value 2 |
| 82 'g', 'h', 'i', 'j', | 82 'g', 'h', 'i', 'j', |
| 83 'k', | 83 'k', |
| 84 // value 3 | 84 // value 3 |
| 85 'l', 'm', 'n', 'o', | 85 'l', 'm', 'n', 'o', |
| 86 'p', 'q', 'r', | 86 'p', 'q', 'r', |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 CryptoFramer framer; | 89 CryptoFramer framer; |
| 90 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 90 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 91 ASSERT_TRUE(data.get() != NULL); | 91 ASSERT_TRUE(data.get() != nullptr); |
| 92 test::CompareCharArraysWithHexError("constructed packet", data->data(), | 92 test::CompareCharArraysWithHexError("constructed packet", data->data(), |
| 93 data->length(), AsChars(packet), | 93 data->length(), AsChars(packet), |
| 94 arraysize(packet)); | 94 arraysize(packet)); |
| 95 } | 95 } |
| 96 | 96 |
| 97 TEST(CryptoFramerTest, ConstructHandshakeMessageWithTwoKeys) { | 97 TEST(CryptoFramerTest, ConstructHandshakeMessageWithTwoKeys) { |
| 98 CryptoHandshakeMessage message; | 98 CryptoHandshakeMessage message; |
| 99 message.set_tag(0xFFAA7733); | 99 message.set_tag(0xFFAA7733); |
| 100 message.SetStringPiece(0x12345678, "abcdef"); | 100 message.SetStringPiece(0x12345678, "abcdef"); |
| 101 message.SetStringPiece(0x12345679, "ghijk"); | 101 message.SetStringPiece(0x12345679, "ghijk"); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 118 // value 1 | 118 // value 1 |
| 119 'a', 'b', 'c', 'd', | 119 'a', 'b', 'c', 'd', |
| 120 'e', 'f', | 120 'e', 'f', |
| 121 // value 2 | 121 // value 2 |
| 122 'g', 'h', 'i', 'j', | 122 'g', 'h', 'i', 'j', |
| 123 'k', | 123 'k', |
| 124 }; | 124 }; |
| 125 | 125 |
| 126 CryptoFramer framer; | 126 CryptoFramer framer; |
| 127 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 127 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 128 ASSERT_TRUE(data.get() != NULL); | 128 ASSERT_TRUE(data.get() != nullptr); |
| 129 | 129 |
| 130 test::CompareCharArraysWithHexError("constructed packet", data->data(), | 130 test::CompareCharArraysWithHexError("constructed packet", data->data(), |
| 131 data->length(), AsChars(packet), | 131 data->length(), AsChars(packet), |
| 132 arraysize(packet)); | 132 arraysize(packet)); |
| 133 } | 133 } |
| 134 | 134 |
| 135 TEST(CryptoFramerTest, ConstructHandshakeMessageZeroLength) { | 135 TEST(CryptoFramerTest, ConstructHandshakeMessageZeroLength) { |
| 136 CryptoHandshakeMessage message; | 136 CryptoHandshakeMessage message; |
| 137 message.set_tag(0xFFAA7733); | 137 message.set_tag(0xFFAA7733); |
| 138 message.SetStringPiece(0x12345678, ""); | 138 message.SetStringPiece(0x12345678, ""); |
| 139 | 139 |
| 140 unsigned char packet[] = { | 140 unsigned char packet[] = { |
| 141 // tag | 141 // tag |
| 142 0x33, 0x77, 0xAA, 0xFF, | 142 0x33, 0x77, 0xAA, 0xFF, |
| 143 // num entries | 143 // num entries |
| 144 0x01, 0x00, | 144 0x01, 0x00, |
| 145 // padding | 145 // padding |
| 146 0x00, 0x00, | 146 0x00, 0x00, |
| 147 // tag 1 | 147 // tag 1 |
| 148 0x78, 0x56, 0x34, 0x12, | 148 0x78, 0x56, 0x34, 0x12, |
| 149 // end offset 1 | 149 // end offset 1 |
| 150 0x00, 0x00, 0x00, 0x00, | 150 0x00, 0x00, 0x00, 0x00, |
| 151 }; | 151 }; |
| 152 | 152 |
| 153 CryptoFramer framer; | 153 CryptoFramer framer; |
| 154 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 154 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 155 ASSERT_TRUE(data.get() != NULL); | 155 ASSERT_TRUE(data.get() != nullptr); |
| 156 | 156 |
| 157 test::CompareCharArraysWithHexError("constructed packet", data->data(), | 157 test::CompareCharArraysWithHexError("constructed packet", data->data(), |
| 158 data->length(), AsChars(packet), | 158 data->length(), AsChars(packet), |
| 159 arraysize(packet)); | 159 arraysize(packet)); |
| 160 } | 160 } |
| 161 | 161 |
| 162 TEST(CryptoFramerTest, ConstructHandshakeMessageTooManyEntries) { | 162 TEST(CryptoFramerTest, ConstructHandshakeMessageTooManyEntries) { |
| 163 CryptoHandshakeMessage message; | 163 CryptoHandshakeMessage message; |
| 164 message.set_tag(0xFFAA7733); | 164 message.set_tag(0xFFAA7733); |
| 165 for (uint32 key = 1; key <= kMaxEntries + 1; ++key) { | 165 for (uint32 key = 1; key <= kMaxEntries + 1; ++key) { |
| 166 message.SetStringPiece(key, "abcdef"); | 166 message.SetStringPiece(key, "abcdef"); |
| 167 } | 167 } |
| 168 | 168 |
| 169 CryptoFramer framer; | 169 CryptoFramer framer; |
| 170 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 170 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 171 EXPECT_TRUE(data.get() == NULL); | 171 EXPECT_TRUE(data.get() == nullptr); |
| 172 } | 172 } |
| 173 | 173 |
| 174 TEST(CryptoFramerTest, ConstructHandshakeMessageMinimumSize) { | 174 TEST(CryptoFramerTest, ConstructHandshakeMessageMinimumSize) { |
| 175 CryptoHandshakeMessage message; | 175 CryptoHandshakeMessage message; |
| 176 message.set_tag(0xFFAA7733); | 176 message.set_tag(0xFFAA7733); |
| 177 message.SetStringPiece(0x01020304, "test"); | 177 message.SetStringPiece(0x01020304, "test"); |
| 178 message.set_minimum_size(64); | 178 message.set_minimum_size(64); |
| 179 | 179 |
| 180 unsigned char packet[] = { | 180 unsigned char packet[] = { |
| 181 // tag | 181 // tag |
| (...skipping 15 matching lines...) Expand all Loading... |
| 197 '-', '-', '-', '-', '-', '-', '-', '-', | 197 '-', '-', '-', '-', '-', '-', '-', '-', |
| 198 '-', '-', '-', '-', '-', '-', '-', '-', | 198 '-', '-', '-', '-', '-', '-', '-', '-', |
| 199 '-', '-', '-', '-', '-', '-', '-', '-', | 199 '-', '-', '-', '-', '-', '-', '-', '-', |
| 200 '-', '-', '-', '-', | 200 '-', '-', '-', '-', |
| 201 // value 2 | 201 // value 2 |
| 202 't', 'e', 's', 't', | 202 't', 'e', 's', 't', |
| 203 }; | 203 }; |
| 204 | 204 |
| 205 CryptoFramer framer; | 205 CryptoFramer framer; |
| 206 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 206 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 207 ASSERT_TRUE(data.get() != NULL); | 207 ASSERT_TRUE(data.get() != nullptr); |
| 208 | 208 |
| 209 test::CompareCharArraysWithHexError("constructed packet", data->data(), | 209 test::CompareCharArraysWithHexError("constructed packet", data->data(), |
| 210 data->length(), AsChars(packet), | 210 data->length(), AsChars(packet), |
| 211 arraysize(packet)); | 211 arraysize(packet)); |
| 212 } | 212 } |
| 213 | 213 |
| 214 TEST(CryptoFramerTest, ConstructHandshakeMessageMinimumSizePadLast) { | 214 TEST(CryptoFramerTest, ConstructHandshakeMessageMinimumSizePadLast) { |
| 215 CryptoHandshakeMessage message; | 215 CryptoHandshakeMessage message; |
| 216 message.set_tag(0xFFAA7733); | 216 message.set_tag(0xFFAA7733); |
| 217 message.SetStringPiece(1, ""); | 217 message.SetStringPiece(1, ""); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 235 // 40 bytes of padding. | 235 // 40 bytes of padding. |
| 236 '-', '-', '-', '-', '-', '-', '-', '-', | 236 '-', '-', '-', '-', '-', '-', '-', '-', |
| 237 '-', '-', '-', '-', '-', '-', '-', '-', | 237 '-', '-', '-', '-', '-', '-', '-', '-', |
| 238 '-', '-', '-', '-', '-', '-', '-', '-', | 238 '-', '-', '-', '-', '-', '-', '-', '-', |
| 239 '-', '-', '-', '-', '-', '-', '-', '-', | 239 '-', '-', '-', '-', '-', '-', '-', '-', |
| 240 '-', '-', '-', '-', '-', '-', '-', '-', | 240 '-', '-', '-', '-', '-', '-', '-', '-', |
| 241 }; | 241 }; |
| 242 | 242 |
| 243 CryptoFramer framer; | 243 CryptoFramer framer; |
| 244 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); | 244 scoped_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); |
| 245 ASSERT_TRUE(data.get() != NULL); | 245 ASSERT_TRUE(data.get() != nullptr); |
| 246 | 246 |
| 247 test::CompareCharArraysWithHexError("constructed packet", data->data(), | 247 test::CompareCharArraysWithHexError("constructed packet", data->data(), |
| 248 data->length(), AsChars(packet), | 248 data->length(), AsChars(packet), |
| 249 arraysize(packet)); | 249 arraysize(packet)); |
| 250 } | 250 } |
| 251 | 251 |
| 252 TEST(CryptoFramerTest, ProcessInput) { | 252 TEST(CryptoFramerTest, ProcessInput) { |
| 253 test::TestCryptoVisitor visitor; | 253 test::TestCryptoVisitor visitor; |
| 254 CryptoFramer framer; | 254 CryptoFramer framer; |
| 255 framer.set_visitor(&visitor); | 255 framer.set_visitor(&visitor); |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 476 }; | 476 }; |
| 477 | 477 |
| 478 EXPECT_TRUE( | 478 EXPECT_TRUE( |
| 479 framer.ProcessInput(StringPiece(AsChars(input), arraysize(input)))); | 479 framer.ProcessInput(StringPiece(AsChars(input), arraysize(input)))); |
| 480 EXPECT_EQ(0, visitor.error_count_); | 480 EXPECT_EQ(0, visitor.error_count_); |
| 481 } | 481 } |
| 482 | 482 |
| 483 } // namespace test | 483 } // namespace test |
| 484 | 484 |
| 485 } // namespace net | 485 } // namespace net |
| OLD | NEW |