| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "config.h" | 5 #include "config.h" |
| 6 #include "core/frame/SubresourceIntegrity.h" | 6 #include "core/frame/SubresourceIntegrity.h" |
| 7 | 7 |
| 8 #include "core/HTMLNames.h" | 8 #include "core/HTMLNames.h" |
| 9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
| 10 #include "core/fetch/IntegrityMetadata.h" | 10 #include "core/fetch/IntegrityMetadata.h" |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 expectParseMultipleHashes("", 0, 0); | 309 expectParseMultipleHashes("", 0, 0); |
| 310 expectParseMultipleHashes(" ", 0, 0); | 310 expectParseMultipleHashes(" ", 0, 0); |
| 311 | 311 |
| 312 const IntegrityMetadata kValidSha384AndSha512[] = { | 312 const IntegrityMetadata kValidSha384AndSha512[] = { |
| 313 {"XVVXBGoYw6AJOh9J+Z8pBDMVVPfkBpngexkA7JqZu8d5GENND6TEIup/tA1v5GPr", Has
hAlgorithmSha384}, | 313 {"XVVXBGoYw6AJOh9J+Z8pBDMVVPfkBpngexkA7JqZu8d5GENND6TEIup/tA1v5GPr", Has
hAlgorithmSha384}, |
| 314 {"tbUPioKbVBplr0b1ucnWB57SJWt4x9dOE0Vy2mzCXvH3FepqDZ+07yMK81ytlg0MPaIrPA
jcHqba5csorDWtKg==", HashAlgorithmSha512} | 314 {"tbUPioKbVBplr0b1ucnWB57SJWt4x9dOE0Vy2mzCXvH3FepqDZ+07yMK81ytlg0MPaIrPA
jcHqba5csorDWtKg==", HashAlgorithmSha512} |
| 315 }; | 315 }; |
| 316 expectParseMultipleHashes( | 316 expectParseMultipleHashes( |
| 317 "sha384-XVVXBGoYw6AJOh9J+Z8pBDMVVPfkBpngexkA7JqZu8d5GENND6TEIup/tA1v5GPr
sha512-tbUPioKbVBplr0b1ucnWB57SJWt4x9dOE0Vy2mzCXvH3FepqDZ+07yMK81ytlg0MPaIrPAjc
Hqba5csorDWtKg==", | 317 "sha384-XVVXBGoYw6AJOh9J+Z8pBDMVVPfkBpngexkA7JqZu8d5GENND6TEIup/tA1v5GPr
sha512-tbUPioKbVBplr0b1ucnWB57SJWt4x9dOE0Vy2mzCXvH3FepqDZ+07yMK81ytlg0MPaIrPAjc
Hqba5csorDWtKg==", |
| 318 kValidSha384AndSha512, | 318 kValidSha384AndSha512, |
| 319 ARRAY_SIZE(kValidSha384AndSha512)); | 319 WTF_ARRAY_LENGTH(kValidSha384AndSha512)); |
| 320 | 320 |
| 321 const IntegrityMetadata kValidSha256AndSha256[] = { | 321 const IntegrityMetadata kValidSha256AndSha256[] = { |
| 322 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256}, | 322 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256}, |
| 323 {"deadbeef", HashAlgorithmSha256} | 323 {"deadbeef", HashAlgorithmSha256} |
| 324 }; | 324 }; |
| 325 expectParseMultipleHashes( | 325 expectParseMultipleHashes( |
| 326 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE= sha256-deadbeef", | 326 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE= sha256-deadbeef", |
| 327 kValidSha256AndSha256, | 327 kValidSha256AndSha256, |
| 328 ARRAY_SIZE(kValidSha256AndSha256)); | 328 WTF_ARRAY_LENGTH(kValidSha256AndSha256)); |
| 329 | 329 |
| 330 const IntegrityMetadata kValidSha256AndInvalidSha256[] = { | 330 const IntegrityMetadata kValidSha256AndInvalidSha256[] = { |
| 331 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256} | 331 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256} |
| 332 }; | 332 }; |
| 333 expectParseMultipleHashes( | 333 expectParseMultipleHashes( |
| 334 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE= sha256-!!!!", | 334 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE= sha256-!!!!", |
| 335 kValidSha256AndInvalidSha256, | 335 kValidSha256AndInvalidSha256, |
| 336 ARRAY_SIZE(kValidSha256AndInvalidSha256)); | 336 WTF_ARRAY_LENGTH(kValidSha256AndInvalidSha256)); |
| 337 | 337 |
| 338 const IntegrityMetadata kInvalidSha256AndValidSha256[] = { | 338 const IntegrityMetadata kInvalidSha256AndValidSha256[] = { |
| 339 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256} | 339 {"BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", HashAlgorithmSha256} |
| 340 }; | 340 }; |
| 341 expectParseMultipleHashes( | 341 expectParseMultipleHashes( |
| 342 "sha256-!!! sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", | 342 "sha256-!!! sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", |
| 343 kInvalidSha256AndValidSha256, | 343 kInvalidSha256AndValidSha256, |
| 344 ARRAY_SIZE(kInvalidSha256AndValidSha256)); | 344 WTF_ARRAY_LENGTH(kInvalidSha256AndValidSha256)); |
| 345 | 345 |
| 346 expectParse( | 346 expectParse( |
| 347 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=?foo=bar", | 347 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=?foo=bar", |
| 348 "BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", | 348 "BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", |
| 349 HashAlgorithmSha256); | 349 HashAlgorithmSha256); |
| 350 | 350 |
| 351 expectParse( | 351 expectParse( |
| 352 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=?foo=bar?baz=foz", | 352 "sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=?foo=bar?baz=foz", |
| 353 "BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", | 353 "BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=", |
| 354 HashAlgorithmSha256); | 354 HashAlgorithmSha256); |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 expectIntegrity(kUnsupportedHashFunctionIntegrity, kBasicScript, strlen(kBas
icScript), secureURL, insecureURL); | 435 expectIntegrity(kUnsupportedHashFunctionIntegrity, kBasicScript, strlen(kBas
icScript), secureURL, insecureURL); |
| 436 | 436 |
| 437 expectIntegrity(kSha256AndSha384Integrities, kBasicScript, strlen(kBasicScri
pt), secureURL, insecureURL); | 437 expectIntegrity(kSha256AndSha384Integrities, kBasicScript, strlen(kBasicScri
pt), secureURL, insecureURL); |
| 438 expectIntegrity(kBadSha256AndGoodSha384Integrities, kBasicScript, strlen(kBa
sicScript), secureURL, insecureURL); | 438 expectIntegrity(kBadSha256AndGoodSha384Integrities, kBasicScript, strlen(kBa
sicScript), secureURL, insecureURL); |
| 439 | 439 |
| 440 expectIntegrityFailure(kSha256Integrity, kBasicScript, strlen(kBasicScript),
secureURL, insecureURL, NoCors); | 440 expectIntegrityFailure(kSha256Integrity, kBasicScript, strlen(kBasicScript),
secureURL, insecureURL, NoCors); |
| 441 expectIntegrityFailure(kGoodSha256AndBadSha384Integrities, kBasicScript, str
len(kBasicScript), secureURL, insecureURL); | 441 expectIntegrityFailure(kGoodSha256AndBadSha384Integrities, kBasicScript, str
len(kBasicScript), secureURL, insecureURL); |
| 442 } | 442 } |
| 443 | 443 |
| 444 } // namespace blink | 444 } // namespace blink |
| OLD | NEW |