Index: net/tools/flip_server/spdy_ssl.cc |
diff --git a/net/tools/flip_server/spdy_ssl.cc b/net/tools/flip_server/spdy_ssl.cc |
deleted file mode 100644 |
index b2ce2bdfe4d0447694da83895499f8581f58a122..0000000000000000000000000000000000000000 |
--- a/net/tools/flip_server/spdy_ssl.cc |
+++ /dev/null |
@@ -1,114 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "net/tools/flip_server/spdy_ssl.h" |
- |
-#include "base/logging.h" |
-#include "openssl/err.h" |
-#include "openssl/ssl.h" |
- |
-namespace net { |
- |
-// Each element consists of <the length of the string><string> . |
-#define NEXT_PROTO_STRING \ |
- "\x08spdy/4a2" \ |
- "\x06spdy/3" \ |
- "\x06spdy/2" \ |
- "\x08http/1.1" \ |
- "\x08http/1.0" |
-#define SSL_CIPHER_LIST "!aNULL:!ADH:!eNull:!LOW:!EXP:RC4+RSA:MEDIUM:HIGH" |
- |
-int ssl_set_npn_callback(SSL* s, |
- const unsigned char** data, |
- unsigned int* len, |
- void* arg) { |
- VLOG(1) << "SSL NPN callback: advertising protocols."; |
- *data = (const unsigned char*)NEXT_PROTO_STRING; |
- *len = strlen(NEXT_PROTO_STRING); |
- return SSL_TLSEXT_ERR_OK; |
-} |
- |
-void InitSSL(SSLState* state, |
- std::string ssl_cert_name, |
- std::string ssl_key_name, |
- bool use_npn, |
- int session_expiration_time, |
- bool disable_ssl_compression) { |
- SSL_library_init(); |
- PrintSslError(); |
- |
- SSL_load_error_strings(); |
- PrintSslError(); |
- |
- state->ssl_method = SSLv23_method(); |
- state->ssl_ctx = SSL_CTX_new(state->ssl_method); |
- if (!state->ssl_ctx) { |
- PrintSslError(); |
- LOG(FATAL) << "Unable to create SSL context"; |
- } |
- // Disable SSLv2 support. |
- SSL_CTX_set_options(state->ssl_ctx, |
- SSL_OP_NO_SSLv2 | SSL_OP_CIPHER_SERVER_PREFERENCE); |
- if (SSL_CTX_use_certificate_chain_file(state->ssl_ctx, |
- ssl_cert_name.c_str()) <= 0) { |
- PrintSslError(); |
- LOG(FATAL) << "Unable to use cert.pem as SSL cert."; |
- } |
- if (SSL_CTX_use_PrivateKey_file( |
- state->ssl_ctx, ssl_key_name.c_str(), SSL_FILETYPE_PEM) <= 0) { |
- PrintSslError(); |
- LOG(FATAL) << "Unable to use key.pem as SSL key."; |
- } |
- if (!SSL_CTX_check_private_key(state->ssl_ctx)) { |
- PrintSslError(); |
- LOG(FATAL) << "The cert.pem and key.pem files don't match"; |
- } |
- if (use_npn) { |
- SSL_CTX_set_next_protos_advertised_cb( |
- state->ssl_ctx, ssl_set_npn_callback, NULL); |
- } |
- VLOG(1) << "SSL CTX default cipher list: " << SSL_CIPHER_LIST; |
- SSL_CTX_set_cipher_list(state->ssl_ctx, SSL_CIPHER_LIST); |
- |
- VLOG(1) << "SSL CTX session expiry: " << session_expiration_time |
- << " seconds"; |
- SSL_CTX_set_timeout(state->ssl_ctx, session_expiration_time); |
- |
-#ifdef SSL_MODE_RELEASE_BUFFERS |
- VLOG(1) << "SSL CTX: Setting Release Buffers mode."; |
- SSL_CTX_set_mode(state->ssl_ctx, SSL_MODE_RELEASE_BUFFERS); |
-#endif |
- |
-#if !defined(OPENSSL_IS_BORINGSSL) |
- // Proper methods to disable compression don't exist until 0.9.9+. For now |
- // we must manipulate the stack of compression methods directly. |
- if (disable_ssl_compression) { |
- STACK_OF(SSL_COMP)* ssl_comp_methods = SSL_COMP_get_compression_methods(); |
- int num_methods = sk_SSL_COMP_num(ssl_comp_methods); |
- int i; |
- for (i = 0; i < num_methods; i++) { |
- static_cast<void>(sk_SSL_COMP_delete(ssl_comp_methods, i)); |
- } |
- } |
-#endif |
-} |
- |
-SSL* CreateSSLContext(SSL_CTX* ssl_ctx) { |
- SSL* ssl = SSL_new(ssl_ctx); |
- SSL_set_accept_state(ssl); |
- PrintSslError(); |
- return ssl; |
-} |
- |
-void PrintSslError() { |
- char buf[128]; // this buffer must be at least 120 chars long. |
- uint32_t error_num = ERR_get_error(); |
- while (error_num != 0) { |
- ERR_error_string_n(error_num, buf, sizeof(buf)); |
- LOG(ERROR) << buf; |
- error_num = ERR_get_error(); |
- } |
-} |
- |
-} // namespace net |