| 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/net/ssl_config_service_manager.h" | 5 #include "chrome/browser/net/ssl_config_service_manager.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/prefs/pref_registry_simple.h" | 10 #include "base/prefs/pref_registry_simple.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 base::MessageLoop message_loop_; | 46 base::MessageLoop message_loop_; |
| 47 content::TestBrowserThread ui_thread_; | 47 content::TestBrowserThread ui_thread_; |
| 48 content::TestBrowserThread io_thread_; | 48 content::TestBrowserThread io_thread_; |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 // Test channel id with no user prefs. | 51 // Test channel id with no user prefs. |
| 52 TEST_F(SSLConfigServiceManagerPrefTest, ChannelIDWithoutUserPrefs) { | 52 TEST_F(SSLConfigServiceManagerPrefTest, ChannelIDWithoutUserPrefs) { |
| 53 TestingPrefServiceSimple local_state; | 53 TestingPrefServiceSimple local_state; |
| 54 SSLConfigServiceManager::RegisterPrefs(local_state.registry()); | 54 SSLConfigServiceManager::RegisterPrefs(local_state.registry()); |
| 55 local_state.SetUserPref(prefs::kEnableOriginBoundCerts, | 55 local_state.SetUserPref(prefs::kEnableOriginBoundCerts, |
| 56 Value::CreateBooleanValue(false)); | 56 base::Value::CreateBooleanValue(false)); |
| 57 | 57 |
| 58 scoped_ptr<SSLConfigServiceManager> config_manager( | 58 scoped_ptr<SSLConfigServiceManager> config_manager( |
| 59 SSLConfigServiceManager::CreateDefaultManager(&local_state)); | 59 SSLConfigServiceManager::CreateDefaultManager(&local_state)); |
| 60 ASSERT_TRUE(config_manager.get()); | 60 ASSERT_TRUE(config_manager.get()); |
| 61 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); | 61 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); |
| 62 ASSERT_TRUE(config_service.get()); | 62 ASSERT_TRUE(config_service.get()); |
| 63 | 63 |
| 64 SSLConfig config; | 64 SSLConfig config; |
| 65 config_service->GetSSLConfig(&config); | 65 config_service->GetSSLConfig(&config); |
| 66 EXPECT_FALSE(config.channel_id_enabled); | 66 EXPECT_FALSE(config.channel_id_enabled); |
| 67 | 67 |
| 68 local_state.SetUserPref(prefs::kEnableOriginBoundCerts, | 68 local_state.SetUserPref(prefs::kEnableOriginBoundCerts, |
| 69 Value::CreateBooleanValue(true)); | 69 base::Value::CreateBooleanValue(true)); |
| 70 // Pump the message loop to notify the SSLConfigServiceManagerPref that the | 70 // Pump the message loop to notify the SSLConfigServiceManagerPref that the |
| 71 // preferences changed. | 71 // preferences changed. |
| 72 message_loop_.RunUntilIdle(); | 72 message_loop_.RunUntilIdle(); |
| 73 config_service->GetSSLConfig(&config); | 73 config_service->GetSSLConfig(&config); |
| 74 EXPECT_TRUE(config.channel_id_enabled); | 74 EXPECT_TRUE(config.channel_id_enabled); |
| 75 } | 75 } |
| 76 | 76 |
| 77 // Test that cipher suites can be disabled. "Good" refers to the fact that | 77 // Test that cipher suites can be disabled. "Good" refers to the fact that |
| 78 // every value is expected to be successfully parsed into a cipher suite. | 78 // every value is expected to be successfully parsed into a cipher suite. |
| 79 TEST_F(SSLConfigServiceManagerPrefTest, GoodDisabledCipherSuites) { | 79 TEST_F(SSLConfigServiceManagerPrefTest, GoodDisabledCipherSuites) { |
| 80 TestingPrefServiceSimple local_state; | 80 TestingPrefServiceSimple local_state; |
| 81 SSLConfigServiceManager::RegisterPrefs(local_state.registry()); | 81 SSLConfigServiceManager::RegisterPrefs(local_state.registry()); |
| 82 | 82 |
| 83 scoped_ptr<SSLConfigServiceManager> config_manager( | 83 scoped_ptr<SSLConfigServiceManager> config_manager( |
| 84 SSLConfigServiceManager::CreateDefaultManager(&local_state)); | 84 SSLConfigServiceManager::CreateDefaultManager(&local_state)); |
| 85 ASSERT_TRUE(config_manager.get()); | 85 ASSERT_TRUE(config_manager.get()); |
| 86 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); | 86 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); |
| 87 ASSERT_TRUE(config_service.get()); | 87 ASSERT_TRUE(config_service.get()); |
| 88 | 88 |
| 89 SSLConfig old_config; | 89 SSLConfig old_config; |
| 90 config_service->GetSSLConfig(&old_config); | 90 config_service->GetSSLConfig(&old_config); |
| 91 EXPECT_TRUE(old_config.disabled_cipher_suites.empty()); | 91 EXPECT_TRUE(old_config.disabled_cipher_suites.empty()); |
| 92 | 92 |
| 93 ListValue* list_value = new ListValue(); | 93 base::ListValue* list_value = new base::ListValue(); |
| 94 list_value->Append(Value::CreateStringValue("0x0004")); | 94 list_value->Append(base::Value::CreateStringValue("0x0004")); |
| 95 list_value->Append(Value::CreateStringValue("0x0005")); | 95 list_value->Append(base::Value::CreateStringValue("0x0005")); |
| 96 local_state.SetUserPref(prefs::kCipherSuiteBlacklist, list_value); | 96 local_state.SetUserPref(prefs::kCipherSuiteBlacklist, list_value); |
| 97 | 97 |
| 98 // Pump the message loop to notify the SSLConfigServiceManagerPref that the | 98 // Pump the message loop to notify the SSLConfigServiceManagerPref that the |
| 99 // preferences changed. | 99 // preferences changed. |
| 100 message_loop_.RunUntilIdle(); | 100 message_loop_.RunUntilIdle(); |
| 101 | 101 |
| 102 SSLConfig config; | 102 SSLConfig config; |
| 103 config_service->GetSSLConfig(&config); | 103 config_service->GetSSLConfig(&config); |
| 104 | 104 |
| 105 EXPECT_NE(old_config.disabled_cipher_suites, config.disabled_cipher_suites); | 105 EXPECT_NE(old_config.disabled_cipher_suites, config.disabled_cipher_suites); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 118 scoped_ptr<SSLConfigServiceManager> config_manager( | 118 scoped_ptr<SSLConfigServiceManager> config_manager( |
| 119 SSLConfigServiceManager::CreateDefaultManager(&local_state)); | 119 SSLConfigServiceManager::CreateDefaultManager(&local_state)); |
| 120 ASSERT_TRUE(config_manager.get()); | 120 ASSERT_TRUE(config_manager.get()); |
| 121 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); | 121 scoped_refptr<SSLConfigService> config_service(config_manager->Get()); |
| 122 ASSERT_TRUE(config_service.get()); | 122 ASSERT_TRUE(config_service.get()); |
| 123 | 123 |
| 124 SSLConfig old_config; | 124 SSLConfig old_config; |
| 125 config_service->GetSSLConfig(&old_config); | 125 config_service->GetSSLConfig(&old_config); |
| 126 EXPECT_TRUE(old_config.disabled_cipher_suites.empty()); | 126 EXPECT_TRUE(old_config.disabled_cipher_suites.empty()); |
| 127 | 127 |
| 128 ListValue* list_value = new ListValue(); | 128 base::ListValue* list_value = new base::ListValue(); |
| 129 list_value->Append(Value::CreateStringValue("0x0004")); | 129 list_value->Append(base::Value::CreateStringValue("0x0004")); |
| 130 list_value->Append(Value::CreateStringValue("TLS_NOT_WITH_A_CIPHER_SUITE")); | 130 list_value->Append( |
| 131 list_value->Append(Value::CreateStringValue("0x0005")); | 131 base::Value::CreateStringValue("TLS_NOT_WITH_A_CIPHER_SUITE")); |
| 132 list_value->Append(Value::CreateStringValue("0xBEEFY")); | 132 list_value->Append(base::Value::CreateStringValue("0x0005")); |
| 133 list_value->Append(base::Value::CreateStringValue("0xBEEFY")); |
| 133 local_state.SetUserPref(prefs::kCipherSuiteBlacklist, list_value); | 134 local_state.SetUserPref(prefs::kCipherSuiteBlacklist, list_value); |
| 134 | 135 |
| 135 // Pump the message loop to notify the SSLConfigServiceManagerPref that the | 136 // Pump the message loop to notify the SSLConfigServiceManagerPref that the |
| 136 // preferences changed. | 137 // preferences changed. |
| 137 message_loop_.RunUntilIdle(); | 138 message_loop_.RunUntilIdle(); |
| 138 | 139 |
| 139 SSLConfig config; | 140 SSLConfig config; |
| 140 config_service->GetSSLConfig(&config); | 141 config_service->GetSSLConfig(&config); |
| 141 | 142 |
| 142 EXPECT_NE(old_config.disabled_cipher_suites, config.disabled_cipher_suites); | 143 EXPECT_NE(old_config.disabled_cipher_suites, config.disabled_cipher_suites); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 std::string version_max_str; | 243 std::string version_max_str; |
| 243 EXPECT_FALSE(local_state_store->GetString(prefs::kSSLVersionMin, | 244 EXPECT_FALSE(local_state_store->GetString(prefs::kSSLVersionMin, |
| 244 &version_min_str)); | 245 &version_min_str)); |
| 245 EXPECT_FALSE(local_state_store->GetString(prefs::kSSLVersionMax, | 246 EXPECT_FALSE(local_state_store->GetString(prefs::kSSLVersionMax, |
| 246 &version_max_str)); | 247 &version_max_str)); |
| 247 bool unrestricted_ssl3_fallback_enabled; | 248 bool unrestricted_ssl3_fallback_enabled; |
| 248 EXPECT_FALSE(local_state_store->GetBoolean( | 249 EXPECT_FALSE(local_state_store->GetBoolean( |
| 249 prefs::kEnableUnrestrictedSSL3Fallback, | 250 prefs::kEnableUnrestrictedSSL3Fallback, |
| 250 &unrestricted_ssl3_fallback_enabled)); | 251 &unrestricted_ssl3_fallback_enabled)); |
| 251 } | 252 } |
| OLD | NEW |