Index: net/ssl/ssl_config.h |
diff --git a/net/ssl/ssl_config_service.h b/net/ssl/ssl_config.h |
similarity index 70% |
copy from net/ssl/ssl_config_service.h |
copy to net/ssl/ssl_config.h |
index 54ad0871194d72075b132b8dd2bb6f80aa50ec1f..27312147f0f5beff209c1afc2044e2d12d1fbe74 100644 |
--- a/net/ssl/ssl_config_service.h |
+++ b/net/ssl/ssl_config.h |
@@ -1,19 +1,13 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef NET_SSL_SSL_CONFIG_SERVICE_H_ |
-#define NET_SSL_SSL_CONFIG_SERVICE_H_ |
- |
-#include <vector> |
+#ifndef NET_SSL_SSL_CONFIG_H_ |
+#define NET_SSL_SSL_CONFIG_H_ |
#include "base/basictypes.h" |
#include "base/memory/ref_counted.h" |
-#include "base/observer_list.h" |
-#include "base/strings/string_piece.h" |
#include "net/base/net_export.h" |
-#include "net/cert/cert_status_flags.h" |
-#include "net/cert/crl_set.h" |
#include "net/cert/x509_certificate.h" |
namespace net { |
@@ -32,6 +26,12 @@ enum { |
SSL_PROTOCOL_VERSION_TLS1_2 = 0x0303, |
}; |
+// Default minimum protocol version. |
+NET_EXPORT extern const uint16 kDefaultSSLVersionMin; |
+ |
+// Default maximum protocol version. |
+NET_EXPORT extern const uint16 kDefaultSSLVersionMax; |
+ |
// A collection of SSL-related configuration settings. |
struct NET_EXPORT SSLConfig { |
// Default to revocation checking. |
@@ -151,73 +151,6 @@ struct NET_EXPORT SSLConfig { |
scoped_refptr<X509Certificate> client_cert; |
}; |
-// The interface for retrieving the SSL configuration. This interface |
-// does not cover setting the SSL configuration, as on some systems, the |
-// SSLConfigService objects may not have direct access to the configuration, or |
-// live longer than the configuration preferences. |
-class NET_EXPORT SSLConfigService |
- : public base::RefCountedThreadSafe<SSLConfigService> { |
- public: |
- // Observer is notified when SSL config settings have changed. |
- class NET_EXPORT Observer { |
- public: |
- // Notify observers if SSL settings have changed. We don't check all of the |
- // data in SSLConfig, just those that qualify as a user config change. |
- // The following settings are considered user changes: |
- // rev_checking_enabled |
- // version_min |
- // version_max |
- // disabled_cipher_suites |
- // channel_id_enabled |
- // false_start_enabled |
- // require_forward_secrecy |
- virtual void OnSSLConfigChanged() = 0; |
- |
- protected: |
- virtual ~Observer() {} |
- }; |
- |
- SSLConfigService(); |
- |
- // May not be thread-safe, should only be called on the IO thread. |
- virtual void GetSSLConfig(SSLConfig* config) = 0; |
- |
- // Sets and gets the current, global CRL set. |
- static void SetCRLSet(scoped_refptr<CRLSet> crl_set); |
- static scoped_refptr<CRLSet> GetCRLSet(); |
- |
- // Gets the default minimum protocol version. |
- static uint16 default_version_min(); |
- |
- // Gets the default maximum protocol version. |
- static uint16 default_version_max(); |
- |
- // Is SNI available in this configuration? |
- static bool IsSNIAvailable(SSLConfigService* service); |
- |
- // Add an observer of this service. |
- void AddObserver(Observer* observer); |
- |
- // Remove an observer of this service. |
- void RemoveObserver(Observer* observer); |
- |
- // Calls the OnSSLConfigChanged method of registered observers. Should only be |
- // called on the IO thread. |
- void NotifySSLConfigChange(); |
- |
- protected: |
- friend class base::RefCountedThreadSafe<SSLConfigService>; |
- |
- virtual ~SSLConfigService(); |
- |
- // Process before/after config update. |
- void ProcessConfigUpdate(const SSLConfig& orig_config, |
- const SSLConfig& new_config); |
- |
- private: |
- ObserverList<Observer> observer_list_; |
-}; |
- |
} // namespace net |
-#endif // NET_SSL_SSL_CONFIG_SERVICE_H_ |
+#endif // NET_SSL_SSL_CONFIG_H_ |