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 "chrome/browser/internal_auth.h" | 5 #include "chrome/browser/internal_auth.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 // We must not allow kItemSeparator in anything used as an input to construct | 105 // We must not allow kItemSeparator in anything used as an input to construct |
106 // message to sign. | 106 // message to sign. |
107 DCHECK(std::find(kAllowedChars, kAllowedChars + arraysize(kAllowedChars), | 107 DCHECK(std::find(kAllowedChars, kAllowedChars + arraysize(kAllowedChars), |
108 kItemSeparator) == kAllowedChars + arraysize(kAllowedChars)); | 108 kItemSeparator) == kAllowedChars + arraysize(kAllowedChars)); |
109 DCHECK(std::find(kAllowedChars, kAllowedChars + arraysize(kAllowedChars), | 109 DCHECK(std::find(kAllowedChars, kAllowedChars + arraysize(kAllowedChars), |
110 kVarValueSeparator) == kAllowedChars + arraysize(kAllowedChars)); | 110 kVarValueSeparator) == kAllowedChars + arraysize(kAllowedChars)); |
111 return !var.empty() && | 111 return !var.empty() && |
112 var.size() <= kStringLengthLimit && | 112 var.size() <= kStringLengthLimit && |
113 base::IsStringASCII(var) && | 113 base::IsStringASCII(var) && |
114 var.find_first_not_of(kAllowedChars) == std::string::npos && | 114 var.find_first_not_of(kAllowedChars) == std::string::npos && |
115 !IsAsciiDigit(var[0]); | 115 !base::IsAsciiDigit(var[0]); |
116 } | 116 } |
117 | 117 |
118 bool IsValueSane(const std::string& value) { | 118 bool IsValueSane(const std::string& value) { |
119 return value.size() <= kStringLengthLimit && | 119 return value.size() <= kStringLengthLimit && |
120 base::IsStringUTF8(value) && | 120 base::IsStringUTF8(value) && |
121 value.find_first_of(kItemSeparator) == std::string::npos; | 121 value.find_first_of(kItemSeparator) == std::string::npos; |
122 } | 122 } |
123 | 123 |
124 bool IsVarValueMapSane(const VarValueMap& map) { | 124 bool IsVarValueMapSane(const VarValueMap& map) { |
125 if (map.size() > kVarsLimit) | 125 if (map.size() > kVarsLimit) |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 const VarValueMap& var_value_map) { | 441 const VarValueMap& var_value_map) { |
442 base::AutoLock alk(g_verification_service_lock.Get()); | 442 base::AutoLock alk(g_verification_service_lock.Get()); |
443 return g_verification_service.Get().VerifyPassport( | 443 return g_verification_service.Get().VerifyPassport( |
444 passport, domain, var_value_map); | 444 passport, domain, var_value_map); |
445 } | 445 } |
446 | 446 |
447 // static | 447 // static |
448 void InternalAuthVerification::ChangeKey(const std::string& key) { | 448 void InternalAuthVerification::ChangeKey(const std::string& key) { |
449 base::AutoLock alk(g_verification_service_lock.Get()); | 449 base::AutoLock alk(g_verification_service_lock.Get()); |
450 g_verification_service.Get().ChangeKey(key); | 450 g_verification_service.Get().ChangeKey(key); |
451 }; | 451 } |
452 | 452 |
453 // static | 453 // static |
454 int InternalAuthVerification::get_verification_window_ticks() { | 454 int InternalAuthVerification::get_verification_window_ticks() { |
455 int candidate = kVerificationWindowTicks; | 455 int candidate = kVerificationWindowTicks; |
456 if (verification_window_seconds_ > 0) | 456 if (verification_window_seconds_ > 0) |
457 candidate = verification_window_seconds_ * | 457 candidate = verification_window_seconds_ * |
458 base::Time::kMicrosecondsPerSecond / kTickUs; | 458 base::Time::kMicrosecondsPerSecond / kTickUs; |
459 return std::max(1, std::min(candidate, kVerificationWindowTicks)); | 459 return std::max(1, std::min(candidate, kVerificationWindowTicks)); |
460 } | 460 } |
461 | 461 |
462 int InternalAuthVerification::verification_window_seconds_ = 0; | 462 int InternalAuthVerification::verification_window_seconds_ = 0; |
463 | 463 |
464 // static | 464 // static |
465 std::string InternalAuthGeneration::GeneratePassport( | 465 std::string InternalAuthGeneration::GeneratePassport( |
466 const std::string& domain, const VarValueMap& var_value_map) { | 466 const std::string& domain, const VarValueMap& var_value_map) { |
467 return g_generation_service.Get().GeneratePassport(domain, var_value_map, 0); | 467 return g_generation_service.Get().GeneratePassport(domain, var_value_map, 0); |
468 } | 468 } |
469 | 469 |
470 // static | 470 // static |
471 void InternalAuthGeneration::GenerateNewKey() { | 471 void InternalAuthGeneration::GenerateNewKey() { |
472 g_generation_service.Get().GenerateNewKey(); | 472 g_generation_service.Get().GenerateNewKey(); |
473 } | 473 } |
474 | 474 |
475 } // namespace chrome | 475 } // namespace chrome |
OLD | NEW |