1// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef NET_BASE_CONNECTION_TYPE_HISTOGRAMS_H_
6#define NET_BASE_CONNECTION_TYPE_HISTOGRAMS_H_
7
8// The UpdateConnectionTypeHistograms function collects statistics related
9// to the number of MD5 certificates that our users are encountering.  The
10// information will help us decide when it is fine for browsers to stop
11// supporting MD5 certificates, in light of the recent MD5 certificate
12// collision attack (see "MD5 considered harmful today: Creating a rogue CA
13// certificate" at http://www.win.tue.nl/hashclash/rogue-ca/).
14
15namespace net {
16
17enum ConnectionType {
18  CONNECTION_ANY = 0,      // Any connection (SSL, HTTP, SPDY, etc)
19  CONNECTION_SSL = 1,      // An SSL connection
20  // 2 - Reserved - Was CONNECTION_SSL_MD5
21  // 3 - Reserved - Was CONNECTION_SSL_MD2
22  // 4 - Reserved - Was CONNECTION_SSL_MD4
23  // 5 - Reserved - Was CONNECTION_SSL_MD5_CA
24  // 6 - Reserved - Was CONNECTION_SSL_MD2_CA
25  CONNECTION_HTTP = 7,     // An HTTP connection
26  CONNECTION_SPDY = 8,     // A SPDY connection
27  CONNECTION_SSL_SSL2 = 9,     // An SSL connection that uses SSL 2.0
28  CONNECTION_SSL_SSL3 = 10,    // An SSL connection that uses SSL 3.0
29  CONNECTION_SSL_TLS1 = 11,    // An SSL connection that uses TLS 1.0
30  CONNECTION_SSL_TLS1_1 = 12,  // An SSL connection that uses TLS 1.1
31  CONNECTION_SSL_TLS1_2 = 13,  // An SSL connection that uses TLS 1.2
32  NUM_OF_CONNECTION_TYPES
33};
34
35// Update the connection type histograms.  |type| is the connection type.
36void UpdateConnectionTypeHistograms(ConnectionType type);
37
38}  // namespace net
39
40#endif  // NET_BASE_CONNECTION_TYPE_HISTOGRAMS_H_
41