| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "net/base/ssl_config_service.h" | 5 #include "net/base/ssl_config_service.h" |
| 6 #include "net/base/ssl_false_start_blacklist.h" | 6 #include "net/base/ssl_false_start_blacklist.h" |
| 7 | 7 |
| 8 #if defined(OS_WIN) | 8 #if defined(OS_WIN) |
| 9 #include "net/base/ssl_config_service_win.h" | 9 #include "net/base/ssl_config_service_win.h" |
| 10 #elif defined(OS_MACOSX) | 10 #elif defined(OS_MACOSX) |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 if (cert->Equals(allowed_bad_certs[i].cert)) | 36 if (cert->Equals(allowed_bad_certs[i].cert)) |
| 37 return true; | 37 return true; |
| 38 } | 38 } |
| 39 return false; | 39 return false; |
| 40 } | 40 } |
| 41 | 41 |
| 42 SSLConfigService::SSLConfigService() | 42 SSLConfigService::SSLConfigService() |
| 43 : observer_list_(ObserverList<Observer>::NOTIFY_EXISTING_ONLY) { | 43 : observer_list_(ObserverList<Observer>::NOTIFY_EXISTING_ONLY) { |
| 44 } | 44 } |
| 45 | 45 |
| 46 SSLConfigService::~SSLConfigService() { | |
| 47 } | |
| 48 | |
| 49 // static | 46 // static |
| 50 SSLConfigService* SSLConfigService::CreateSystemSSLConfigService() { | 47 SSLConfigService* SSLConfigService::CreateSystemSSLConfigService() { |
| 51 #if defined(OS_WIN) | 48 #if defined(OS_WIN) |
| 52 return new SSLConfigServiceWin; | 49 return new SSLConfigServiceWin; |
| 53 #elif defined(OS_MACOSX) | 50 #elif defined(OS_MACOSX) |
| 54 return new SSLConfigServiceMac; | 51 return new SSLConfigServiceMac; |
| 55 #else | 52 #else |
| 56 return new SSLConfigServiceDefaults; | 53 return new SSLConfigServiceDefaults; |
| 57 #endif | 54 #endif |
| 58 } | 55 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 return SSLFalseStartBlacklist::IsMember(hostname.c_str()); | 90 return SSLFalseStartBlacklist::IsMember(hostname.c_str()); |
| 94 } | 91 } |
| 95 | 92 |
| 96 static bool g_dnssec_enabled = false; | 93 static bool g_dnssec_enabled = false; |
| 97 static bool g_false_start_enabled = true; | 94 static bool g_false_start_enabled = true; |
| 98 static bool g_mitm_proxies_allowed = false; | 95 static bool g_mitm_proxies_allowed = false; |
| 99 static bool g_snap_start_enabled = false; | 96 static bool g_snap_start_enabled = false; |
| 100 static bool g_dns_cert_provenance_checking = false; | 97 static bool g_dns_cert_provenance_checking = false; |
| 101 | 98 |
| 102 // static | 99 // static |
| 103 void SSLConfigService::SetSSLConfigFlags(SSLConfig* ssl_config) { | |
| 104 ssl_config->dnssec_enabled = g_dnssec_enabled; | |
| 105 ssl_config->false_start_enabled = g_false_start_enabled; | |
| 106 ssl_config->mitm_proxies_allowed = g_mitm_proxies_allowed; | |
| 107 ssl_config->snap_start_enabled = g_snap_start_enabled; | |
| 108 ssl_config->dns_cert_provenance_checking_enabled = | |
| 109 g_dns_cert_provenance_checking; | |
| 110 } | |
| 111 | |
| 112 // static | |
| 113 void SSLConfigService::EnableDNSSEC() { | 100 void SSLConfigService::EnableDNSSEC() { |
| 114 g_dnssec_enabled = true; | 101 g_dnssec_enabled = true; |
| 115 } | 102 } |
| 116 | 103 |
| 117 // static | 104 // static |
| 118 bool SSLConfigService::dnssec_enabled() { | 105 bool SSLConfigService::dnssec_enabled() { |
| 119 return g_dnssec_enabled; | 106 return g_dnssec_enabled; |
| 120 } | 107 } |
| 121 | 108 |
| 122 // static | 109 // static |
| 123 void SSLConfigService::EnableSnapStart() { | 110 void SSLConfigService::EnableSnapStart() { |
| 124 g_snap_start_enabled = true; | 111 g_snap_start_enabled = true; |
| 125 } | 112 } |
| 126 | 113 |
| 127 // static | 114 // static |
| 128 bool SSLConfigService::snap_start_enabled() { | 115 bool SSLConfigService::snap_start_enabled() { |
| 129 return g_snap_start_enabled; | 116 return g_snap_start_enabled; |
| 130 } | 117 } |
| 131 | 118 |
| 132 // static | 119 // static |
| 120 void SSLConfigService::AllowMITMProxies() { |
| 121 g_mitm_proxies_allowed = true; |
| 122 } |
| 123 |
| 124 // static |
| 125 bool SSLConfigService::mitm_proxies_allowed() { |
| 126 return g_mitm_proxies_allowed; |
| 127 } |
| 128 |
| 129 // static |
| 133 void SSLConfigService::DisableFalseStart() { | 130 void SSLConfigService::DisableFalseStart() { |
| 134 g_false_start_enabled = false; | 131 g_false_start_enabled = false; |
| 135 } | 132 } |
| 136 | 133 |
| 137 // static | 134 // static |
| 138 bool SSLConfigService::false_start_enabled() { | 135 bool SSLConfigService::false_start_enabled() { |
| 139 return g_false_start_enabled; | 136 return g_false_start_enabled; |
| 140 } | 137 } |
| 141 | 138 |
| 142 // static | 139 // static |
| 143 void SSLConfigService::AllowMITMProxies() { | |
| 144 g_mitm_proxies_allowed = true; | |
| 145 } | |
| 146 | |
| 147 // static | |
| 148 bool SSLConfigService::mitm_proxies_allowed() { | |
| 149 return g_mitm_proxies_allowed; | |
| 150 } | |
| 151 | |
| 152 // static | |
| 153 void SSLConfigService::EnableDNSCertProvenanceChecking() { | 140 void SSLConfigService::EnableDNSCertProvenanceChecking() { |
| 154 g_dns_cert_provenance_checking = true; | 141 g_dns_cert_provenance_checking = true; |
| 155 } | 142 } |
| 156 | 143 |
| 157 // static | 144 // static |
| 158 bool SSLConfigService::dns_cert_provenance_checking_enabled() { | 145 bool SSLConfigService::dns_cert_provenance_checking_enabled() { |
| 159 return g_dns_cert_provenance_checking; | 146 return g_dns_cert_provenance_checking; |
| 160 } | 147 } |
| 161 | 148 |
| 162 void SSLConfigService::AddObserver(Observer* observer) { | 149 void SSLConfigService::AddObserver(Observer* observer) { |
| 163 observer_list_.AddObserver(observer); | 150 observer_list_.AddObserver(observer); |
| 164 } | 151 } |
| 165 | 152 |
| 166 void SSLConfigService::RemoveObserver(Observer* observer) { | 153 void SSLConfigService::RemoveObserver(Observer* observer) { |
| 167 observer_list_.RemoveObserver(observer); | 154 observer_list_.RemoveObserver(observer); |
| 168 } | 155 } |
| 169 | 156 |
| 157 SSLConfigService::~SSLConfigService() { |
| 158 } |
| 159 |
| 160 // static |
| 161 void SSLConfigService::SetSSLConfigFlags(SSLConfig* ssl_config) { |
| 162 ssl_config->dnssec_enabled = g_dnssec_enabled; |
| 163 ssl_config->false_start_enabled = g_false_start_enabled; |
| 164 ssl_config->mitm_proxies_allowed = g_mitm_proxies_allowed; |
| 165 ssl_config->snap_start_enabled = g_snap_start_enabled; |
| 166 ssl_config->dns_cert_provenance_checking_enabled = |
| 167 g_dns_cert_provenance_checking; |
| 168 } |
| 169 |
| 170 void SSLConfigService::ProcessConfigUpdate(const SSLConfig& orig_config, | 170 void SSLConfigService::ProcessConfigUpdate(const SSLConfig& orig_config, |
| 171 const SSLConfig& new_config) { | 171 const SSLConfig& new_config) { |
| 172 if (orig_config.rev_checking_enabled != new_config.rev_checking_enabled || | 172 if (orig_config.rev_checking_enabled != new_config.rev_checking_enabled || |
| 173 orig_config.ssl3_enabled != new_config.ssl3_enabled || | 173 orig_config.ssl3_enabled != new_config.ssl3_enabled || |
| 174 orig_config.tls1_enabled != new_config.tls1_enabled) { | 174 orig_config.tls1_enabled != new_config.tls1_enabled) { |
| 175 FOR_EACH_OBSERVER(Observer, observer_list_, OnSSLConfigChanged()); | 175 FOR_EACH_OBSERVER(Observer, observer_list_, OnSSLConfigChanged()); |
| 176 } | 176 } |
| 177 } | 177 } |
| 178 | 178 |
| 179 } // namespace net | 179 } // namespace net |
| OLD | NEW |