diff options
Diffstat (limited to 'libcmix-network/server.cpp')
| -rw-r--r-- | libcmix-network/server.cpp | 17 |
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 |
