Chromium Code Reviews| Index: content/public/common/ssl_status.cc |
| diff --git a/content/public/common/ssl_status.cc b/content/public/common/ssl_status.cc |
| index 3490a81c46a0dd277a71d283f78ce4c8e8a94aa0..d3c2225c59dcb1c82acd7e4535c4282930317c83 100644 |
| --- a/content/public/common/ssl_status.cc |
| +++ b/content/public/common/ssl_status.cc |
| @@ -4,6 +4,7 @@ |
| #include "content/public/common/ssl_status.h" |
| +#include "net/cert/sct_status_flags.h" |
| #include "net/ssl/ssl_info.h" |
| namespace content { |
| @@ -15,13 +16,14 @@ SSLStatus::SSLStatus() |
| security_bits(-1), |
| key_exchange_info(0), |
| connection_status(0), |
| - content_status(NORMAL_CONTENT) { |
| + content_status(NORMAL_CONTENT), |
| + num_unknown_scts(0), |
| + num_invalid_scts(0), |
| + num_valid_scts(0) { |
| } |
| SSLStatus::SSLStatus(SecurityStyle security_style, |
| int cert_id, |
| - const SignedCertificateTimestampIDStatusList& |
| - signed_certificate_timestamp_ids, |
| const net::SSLInfo& ssl_info) |
| : security_style(security_style), |
| cert_id(cert_id), |
| @@ -30,7 +32,29 @@ SSLStatus::SSLStatus(SecurityStyle security_style, |
| key_exchange_info(ssl_info.key_exchange_info), |
| connection_status(ssl_info.connection_status), |
| content_status(NORMAL_CONTENT), |
| - signed_certificate_timestamp_ids(signed_certificate_timestamp_ids) {} |
| + num_unknown_scts(0), |
| + num_invalid_scts(0), |
| + num_valid_scts(0) { |
| + // Count unknown, invalid and valid SCTs. |
| + for (const auto& sct_and_status : ssl_info.signed_certificate_timestamps) { |
| + switch (sct_and_status.status) { |
| + case net::ct::SCT_STATUS_LOG_UNKNOWN: |
| + num_unknown_scts++; |
| + break; |
| + case net::ct::SCT_STATUS_INVALID: |
| + num_invalid_scts++; |
| + break; |
| + case net::ct::SCT_STATUS_OK: |
| + num_valid_scts++; |
| + break; |
| + case net::ct::SCT_STATUS_NONE: |
| + case net::ct::SCT_STATUS_MAX: |
| + // These enum values do not represent SCTs that are taken into account |
| + // for CT compliance calculations, so we ignore them. |
| + break; |
|
estark
2016/05/07 07:12:51
This should probably be NOTREACHED()
dwaxweiler
2016/05/07 13:09:40
Acknowledged.
|
| + } |
| + } |
| +} |
| SSLStatus::SSLStatus(const SSLStatus& other) = default; |