Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: net/test/base_test_server.cc

Issue 11175002: testserver.py TLS and client auth support on WebSocket. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indent Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | net/tools/testserver/testserver.py » ('j') | net/tools/testserver/testserver.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/base_test_server.h" 5 #include "net/test/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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 bool BaseTestServer::GenerateArguments(base::DictionaryValue* arguments) const { 332 bool BaseTestServer::GenerateArguments(base::DictionaryValue* arguments) const {
333 DCHECK(arguments); 333 DCHECK(arguments);
334 334
335 arguments->SetString("host", host_port_pair_.host()); 335 arguments->SetString("host", host_port_pair_.host());
336 arguments->SetInteger("port", host_port_pair_.port()); 336 arguments->SetInteger("port", host_port_pair_.port());
337 arguments->SetString("data-dir", document_root_.value()); 337 arguments->SetString("data-dir", document_root_.value());
338 338
339 if (VLOG_IS_ON(1) || log_to_console_) 339 if (VLOG_IS_ON(1) || log_to_console_)
340 arguments->Set("log-to-console", base::Value::CreateNullValue()); 340 arguments->Set("log-to-console", base::Value::CreateNullValue());
341 341
342 if (type_ == TYPE_HTTPS) { 342 if (UsingSSL(type_)) {
343 arguments->Set("https", base::Value::CreateNullValue());
344
345 // Check the certificate arguments of the HTTPS server. 343 // Check the certificate arguments of the HTTPS server.
346 FilePath certificate_path(certificates_dir_); 344 FilePath certificate_path(certificates_dir_);
347 FilePath certificate_file(ssl_options_.GetCertificateFile()); 345 FilePath certificate_file(ssl_options_.GetCertificateFile());
348 if (!certificate_file.value().empty()) { 346 if (!certificate_file.value().empty()) {
349 certificate_path = certificate_path.Append(certificate_file); 347 certificate_path = certificate_path.Append(certificate_file);
350 if (certificate_path.IsAbsolute() && 348 if (certificate_path.IsAbsolute() &&
351 !file_util::PathExists(certificate_path)) { 349 !file_util::PathExists(certificate_path)) {
352 LOG(ERROR) << "Certificate path " << certificate_path.value() 350 LOG(ERROR) << "Certificate path " << certificate_path.value()
353 << " doesn't exist. Can't launch https server."; 351 << " doesn't exist. Can't launch https server.";
354 return false; 352 return false;
355 } 353 }
356 arguments->SetString("cert-and-key-file", certificate_path.value()); 354 arguments->SetString("cert-and-key-file", certificate_path.value());
357 } 355 }
358 356
359 std::string ocsp_arg = ssl_options_.GetOCSPArgument();
360 if (!ocsp_arg.empty())
361 arguments->SetString("ocsp", ocsp_arg);
362
363 // Check the client certificate related arguments. 357 // Check the client certificate related arguments.
364 if (ssl_options_.request_client_certificate) 358 if (ssl_options_.request_client_certificate)
365 arguments->Set("ssl-client-auth", base::Value::CreateNullValue()); 359 arguments->Set("ssl-client-auth", base::Value::CreateNullValue());
366 scoped_ptr<base::ListValue> ssl_client_certs(new base::ListValue()); 360 scoped_ptr<base::ListValue> ssl_client_certs(new base::ListValue());
367 361
368 std::vector<FilePath>::const_iterator it; 362 std::vector<FilePath>::const_iterator it;
369 for (it = ssl_options_.client_authorities.begin(); 363 for (it = ssl_options_.client_authorities.begin();
370 it != ssl_options_.client_authorities.end(); ++it) { 364 it != ssl_options_.client_authorities.end(); ++it) {
371 if (it->IsAbsolute() && !file_util::PathExists(*it)) { 365 if (it->IsAbsolute() && !file_util::PathExists(*it)) {
372 LOG(ERROR) << "Client authority path " << it->value() 366 LOG(ERROR) << "Client authority path " << it->value()
373 << " doesn't exist. Can't launch https server."; 367 << " doesn't exist. Can't launch https server.";
374 return false; 368 return false;
375 } 369 }
376 ssl_client_certs->Append(base::Value::CreateStringValue(it->value())); 370 ssl_client_certs->Append(base::Value::CreateStringValue(it->value()));
377 } 371 }
378 372
379 if (ssl_client_certs->GetSize()) 373 if (ssl_client_certs->GetSize())
380 arguments->Set("ssl-client-ca", ssl_client_certs.release()); 374 arguments->Set("ssl-client-ca", ssl_client_certs.release());
375 }
376
377 if (type_ == TYPE_HTTPS) {
378 arguments->Set("https", base::Value::CreateNullValue());
379
380 std::string ocsp_arg = ssl_options_.GetOCSPArgument();
381 if (!ocsp_arg.empty())
382 arguments->SetString("ocsp", ocsp_arg);
381 383
382 // Check bulk cipher argument. 384 // Check bulk cipher argument.
383 scoped_ptr<base::ListValue> bulk_cipher_values(new base::ListValue()); 385 scoped_ptr<base::ListValue> bulk_cipher_values(new base::ListValue());
384 GetCiphersList(ssl_options_.bulk_ciphers, bulk_cipher_values.get()); 386 GetCiphersList(ssl_options_.bulk_ciphers, bulk_cipher_values.get());
385 if (bulk_cipher_values->GetSize()) 387 if (bulk_cipher_values->GetSize())
386 arguments->Set("ssl-bulk-cipher", bulk_cipher_values.release()); 388 arguments->Set("ssl-bulk-cipher", bulk_cipher_values.release());
387 if (ssl_options_.record_resume) 389 if (ssl_options_.record_resume)
388 arguments->Set("https-record-resume", base::Value::CreateNullValue()); 390 arguments->Set("https-record-resume", base::Value::CreateNullValue());
389 if (ssl_options_.tls_intolerant != SSLOptions::TLS_INTOLERANT_NONE) { 391 if (ssl_options_.tls_intolerant != SSLOptions::TLS_INTOLERANT_NONE) {
390 arguments->Set("tls-intolerant", 392 arguments->Set("tls-intolerant",
391 base::Value::CreateIntegerValue(ssl_options_.tls_intolerant)); 393 base::Value::CreateIntegerValue(ssl_options_.tls_intolerant));
392 } 394 }
393 } 395 }
394 return true; 396 return true;
395 } 397 }
396 398
397 } // namespace net 399 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/tools/testserver/testserver.py » ('j') | net/tools/testserver/testserver.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698