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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/json/json_file_value_serializer.h" | 10 #include "base/json/json_file_value_serializer.h" |
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
769 GetTrackedPrefHistogramCount( | 769 GetTrackedPrefHistogramCount( |
770 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 770 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
771 EXPECT_EQ( | 771 EXPECT_EQ( |
772 0, | 772 0, |
773 GetTrackedPrefHistogramCount( | 773 GetTrackedPrefHistogramCount( |
774 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 774 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
775 } | 775 } |
776 }; | 776 }; |
777 | 777 |
778 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); | 778 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); |
779 | |
780 // Verifies that adding a value to unprotected preferences for a key which is | |
781 // still using the default (i.e. has no value stored in protected preferences) | |
782 // doesn't allow that value to slip in with no valid MAC (regression test for | |
783 // http://crbug.com/414554) | |
784 class PrefHashBrowserTestUntrustedAdditionToPrefs | |
785 : public PrefHashBrowserTestBase { | |
786 public: | |
787 virtual void SetupPreferences() OVERRIDE { | |
788 // Ensure there is no user-selected value for kRestoreOnStartup. | |
789 EXPECT_FALSE( | |
790 profile()->GetPrefs()->GetUserPrefValue(prefs::kRestoreOnStartup)); | |
791 } | |
792 | |
793 virtual void AttackPreferencesOnDisk( | |
Bernhard Bauer
2014/09/16 08:10:54
Does this need an OVERRIDE?
gab
2014/09/16 12:14:22
Yep, and it already has it, see two lines below af
| |
794 base::DictionaryValue* unprotected_preferences, | |
795 base::DictionaryValue* protected_preferences) OVERRIDE { | |
796 unprotected_preferences->SetInteger(prefs::kRestoreOnStartup, | |
797 SessionStartupPref::LAST); | |
798 } | |
799 | |
800 virtual void VerifyReactionToPrefAttack() OVERRIDE { | |
801 // Expect a single Changed event for tracked pref #3 (kRestoreOnStartup) if | |
802 // not protecting; if protection is enabled the change should be a no-op. | |
803 int changed_expected = | |
804 protection_level_ == PROTECTION_DISABLED_FOR_GROUP ? 1 : 0; | |
805 EXPECT_EQ( | |
806 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | |
807 protection_level_ < PROTECTION_ENABLED_BASIC) ? changed_expected : 0, | |
808 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | |
809 BEGIN_ALLOW_SINGLE_BUCKET + 3)); | |
810 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | |
811 ? num_tracked_prefs() - changed_expected : 0, | |
812 GetTrackedPrefHistogramCount( | |
813 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | |
814 | |
815 EXPECT_EQ( | |
816 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | |
817 protection_level_ < PROTECTION_ENABLED_BASIC) ? 1 : 0, | |
818 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceWantedReset", | |
819 BEGIN_ALLOW_SINGLE_BUCKET + 3)); | |
820 EXPECT_EQ(0, | |
821 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | |
822 ALLOW_NONE)); | |
823 | |
824 // Nothing else should have triggered. | |
825 EXPECT_EQ(0, | |
826 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | |
827 ALLOW_NONE)); | |
828 EXPECT_EQ(0, | |
829 GetTrackedPrefHistogramCount( | |
830 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | |
831 EXPECT_EQ(0, | |
832 GetTrackedPrefHistogramCount( | |
833 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | |
834 EXPECT_EQ( | |
835 0, | |
836 GetTrackedPrefHistogramCount( | |
837 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | |
838 } | |
839 }; | |
840 | |
841 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, | |
842 UntrustedAdditionToPrefs); | |
OLD | NEW |