OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/test/spawned_test_server/base_test_server.h" | 5 #include "net/test/spawned_test_server/base_test_server.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 } | 104 } |
105 | 105 |
106 base::FilePath src_dir; | 106 base::FilePath src_dir; |
107 if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)) | 107 if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)) |
108 return false; | 108 return false; |
109 | 109 |
110 *local_certificates_dir = src_dir.Append(certificates_dir); | 110 *local_certificates_dir = src_dir.Append(certificates_dir); |
111 return true; | 111 return true; |
112 } | 112 } |
113 | 113 |
| 114 scoped_ptr<base::ListValue> GetTokenBindingParams(std::vector<int> params) { |
| 115 scoped_ptr<base::ListValue> values(new base::ListValue()); |
| 116 for (int param : params) { |
| 117 values->Append(new base::FundamentalValue(param)); |
| 118 } |
| 119 return values; |
| 120 } |
| 121 |
114 } // namespace | 122 } // namespace |
115 | 123 |
116 BaseTestServer::SSLOptions::SSLOptions() | 124 BaseTestServer::SSLOptions::SSLOptions() |
117 : server_certificate(CERT_OK), | 125 : server_certificate(CERT_OK), |
118 ocsp_status(OCSP_OK), | 126 ocsp_status(OCSP_OK), |
119 cert_serial(0), | 127 cert_serial(0), |
120 request_client_certificate(false), | 128 request_client_certificate(false), |
121 key_exchanges(SSLOptions::KEY_EXCHANGE_ANY), | 129 key_exchanges(SSLOptions::KEY_EXCHANGE_ANY), |
122 bulk_ciphers(SSLOptions::BULK_CIPHER_ANY), | 130 bulk_ciphers(SSLOptions::BULK_CIPHER_ANY), |
123 record_resume(false), | 131 record_resume(false), |
124 tls_intolerant(TLS_INTOLERANT_NONE), | 132 tls_intolerant(TLS_INTOLERANT_NONE), |
125 tls_intolerance_type(TLS_INTOLERANCE_ALERT), | 133 tls_intolerance_type(TLS_INTOLERANCE_ALERT), |
126 fallback_scsv_enabled(false), | 134 fallback_scsv_enabled(false), |
127 staple_ocsp_response(false), | 135 staple_ocsp_response(false), |
128 ocsp_server_unavailable(false), | 136 ocsp_server_unavailable(false), |
129 enable_npn(false), | 137 enable_npn(false), |
130 alert_after_handshake(false) { | 138 alert_after_handshake(false), |
131 } | 139 disable_channel_id(false), |
| 140 disable_extended_master_secret(false) {} |
132 | 141 |
133 BaseTestServer::SSLOptions::SSLOptions( | 142 BaseTestServer::SSLOptions::SSLOptions( |
134 BaseTestServer::SSLOptions::ServerCertificate cert) | 143 BaseTestServer::SSLOptions::ServerCertificate cert) |
135 : server_certificate(cert), | 144 : server_certificate(cert), |
136 ocsp_status(OCSP_OK), | 145 ocsp_status(OCSP_OK), |
137 cert_serial(0), | 146 cert_serial(0), |
138 request_client_certificate(false), | 147 request_client_certificate(false), |
139 key_exchanges(SSLOptions::KEY_EXCHANGE_ANY), | 148 key_exchanges(SSLOptions::KEY_EXCHANGE_ANY), |
140 bulk_ciphers(SSLOptions::BULK_CIPHER_ANY), | 149 bulk_ciphers(SSLOptions::BULK_CIPHER_ANY), |
141 record_resume(false), | 150 record_resume(false), |
142 tls_intolerant(TLS_INTOLERANT_NONE), | 151 tls_intolerant(TLS_INTOLERANT_NONE), |
143 tls_intolerance_type(TLS_INTOLERANCE_ALERT), | 152 tls_intolerance_type(TLS_INTOLERANCE_ALERT), |
144 fallback_scsv_enabled(false), | 153 fallback_scsv_enabled(false), |
145 staple_ocsp_response(false), | 154 staple_ocsp_response(false), |
146 ocsp_server_unavailable(false), | 155 ocsp_server_unavailable(false), |
147 enable_npn(false), | 156 enable_npn(false), |
148 alert_after_handshake(false) { | 157 alert_after_handshake(false), |
149 } | 158 disable_channel_id(false), |
| 159 disable_extended_master_secret(false) {} |
150 | 160 |
151 BaseTestServer::SSLOptions::~SSLOptions() {} | 161 BaseTestServer::SSLOptions::~SSLOptions() {} |
152 | 162 |
153 base::FilePath BaseTestServer::SSLOptions::GetCertificateFile() const { | 163 base::FilePath BaseTestServer::SSLOptions::GetCertificateFile() const { |
154 switch (server_certificate) { | 164 switch (server_certificate) { |
155 case CERT_OK: | 165 case CERT_OK: |
156 case CERT_MISMATCHED_NAME: | 166 case CERT_MISMATCHED_NAME: |
157 return base::FilePath(FILE_PATH_LITERAL("ok_cert.pem")); | 167 return base::FilePath(FILE_PATH_LITERAL("ok_cert.pem")); |
158 case CERT_COMMON_NAME_IS_DOMAIN: | 168 case CERT_COMMON_NAME_IS_DOMAIN: |
159 return base::FilePath(FILE_PATH_LITERAL("localhost_cert.pem")); | 169 return base::FilePath(FILE_PATH_LITERAL("localhost_cert.pem")); |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 if (ssl_options_.staple_ocsp_response) | 551 if (ssl_options_.staple_ocsp_response) |
542 arguments->Set("staple-ocsp-response", base::Value::CreateNullValue()); | 552 arguments->Set("staple-ocsp-response", base::Value::CreateNullValue()); |
543 if (ssl_options_.ocsp_server_unavailable) { | 553 if (ssl_options_.ocsp_server_unavailable) { |
544 arguments->Set("ocsp-server-unavailable", | 554 arguments->Set("ocsp-server-unavailable", |
545 base::Value::CreateNullValue()); | 555 base::Value::CreateNullValue()); |
546 } | 556 } |
547 if (ssl_options_.enable_npn) | 557 if (ssl_options_.enable_npn) |
548 arguments->Set("enable-npn", base::Value::CreateNullValue()); | 558 arguments->Set("enable-npn", base::Value::CreateNullValue()); |
549 if (ssl_options_.alert_after_handshake) | 559 if (ssl_options_.alert_after_handshake) |
550 arguments->Set("alert-after-handshake", base::Value::CreateNullValue()); | 560 arguments->Set("alert-after-handshake", base::Value::CreateNullValue()); |
| 561 |
| 562 if (ssl_options_.disable_channel_id) |
| 563 arguments->Set("disable-channel-id", base::Value::CreateNullValue()); |
| 564 if (ssl_options_.disable_extended_master_secret) { |
| 565 arguments->Set("disable-extended-master-secret", |
| 566 base::Value::CreateNullValue()); |
| 567 } |
| 568 if (!ssl_options_.supported_token_binding_params.empty()) { |
| 569 scoped_ptr<base::ListValue> token_binding_params(new base::ListValue()); |
| 570 arguments->Set( |
| 571 "token-binding-params", |
| 572 GetTokenBindingParams(ssl_options_.supported_token_binding_params)); |
| 573 } |
551 } | 574 } |
552 | 575 |
553 return GenerateAdditionalArguments(arguments); | 576 return GenerateAdditionalArguments(arguments); |
554 } | 577 } |
555 | 578 |
556 bool BaseTestServer::GenerateAdditionalArguments( | 579 bool BaseTestServer::GenerateAdditionalArguments( |
557 base::DictionaryValue* arguments) const { | 580 base::DictionaryValue* arguments) const { |
558 return true; | 581 return true; |
559 } | 582 } |
560 | 583 |
561 } // namespace net | 584 } // namespace net |
OLD | NEW |