aboutsummaryrefslogtreecommitdiff
path: root/libcmix-network/server.cpp
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-10-21 14:01:26 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-10-21 18:15:46 +0200
commit510ce3bec7915a790fbf75ace5521e437d9d416a (patch)
tree7b9286875652b677a110287d11d024f85879cc7a /libcmix-network/server.cpp
parent640e0ad7a762d0473581c2114c2c945961bea80f (diff)
downloadcmix-510ce3bec7915a790fbf75ace5521e437d9d416a.tar.gz
cmix-510ce3bec7915a790fbf75ace5521e437d9d416a.tar.bz2
cmix-510ce3bec7915a790fbf75ace5521e437d9d416a.zip
Adds SSL connections between nodes.
Diffstat (limited to 'libcmix-network/server.cpp')
-rw-r--r--libcmix-network/server.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/libcmix-network/server.cpp b/libcmix-network/server.cpp
index 34e3183..195c5a0 100644
--- a/libcmix-network/server.cpp
+++ b/libcmix-network/server.cpp
@@ -45,10 +45,27 @@ Server::Server(io_service& io_service, const ListenSettings& listen_settings, Ac
Server::Server(io_service& io_service, const ListenSettings& listen_settings, std::shared_ptr<ssl::context> ctx, SSLAcceptHandler accept_handler)
: Server(io_service, listen_settings)
{
+ ctx->set_options(
+ boost::asio::ssl::context::default_workarounds
+ | boost::asio::ssl::context::no_sslv2
+ | boost::asio::ssl::context::single_dh_use
+ );
+
+ ctx->use_certificate_chain_file(listen_settings.cert);
+ ctx->use_private_key_file(listen_settings.key, boost::asio::ssl::context::pem);
+ ctx->use_tmp_dh_file(listen_settings.dhparam);
+ ctx->set_default_verify_paths();
+
if(v4_acceptor.is_open()) {
v4_acceptor.start_accepting(ctx, accept_handler);
}
if(v6_acceptor.is_open()) {
v6_acceptor.start_accepting(ctx, accept_handler);
}
+}
+
+void Server::close()
+{
+ v4_acceptor.close();
+ v6_acceptor.close();
} \ No newline at end of file