Index: net/url_request/url_request_http_job.cc |
=================================================================== |
--- net/url_request/url_request_http_job.cc (revision 164933) |
+++ net/url_request/url_request_http_job.cc (working copy) |
@@ -701,7 +701,16 @@ |
void* iter = NULL; |
base::Time now = base::Time::Now(); |
+ // http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec: |
+ // |
+ // If a UA receives more than one STS header field in a HTTP response |
+ // message over secure transport, then the UA MUST process only the |
+ // first such header field. |
+ bool seen_sts = false; |
while (headers->EnumerateHeader(&iter, "Strict-Transport-Security", &value)) { |
+ if (seen_sts) |
+ return; |
+ seen_sts = true; |
TransportSecurityState::DomainState domain_state; |
if (domain_state.ParseSTSHeader(now, value)) |
security_state->EnableHost(host, domain_state); |