| 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 |