diff options
| author | alpine <[email protected]> | 2020-06-13 22:27:52 +0200 |
|---|---|---|
| committer | alpine <[email protected]> | 2020-06-13 22:27:52 +0200 |
| commit | bad7b4f2d19f95b278fdcb3056be01cae9af1dbb (patch) | |
| tree | 5bef91f910a2c03d74df9693a077ee33b2fe7886 /server/src/client/client.cpp | |
| parent | Initial commit (diff) | |
| download | loader-bad7b4f2d19f95b278fdcb3056be01cae9af1dbb.tar.xz loader-bad7b4f2d19f95b278fdcb3056be01cae9af1dbb.zip | |
Client.
Message encryption.
Packet handler.
Disconnect event handler.
Diffstat (limited to 'server/src/client/client.cpp')
| -rw-r--r-- | server/src/client/client.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/server/src/client/client.cpp b/server/src/client/client.cpp new file mode 100644 index 0000000..4c458c8 --- /dev/null +++ b/server/src/client/client.cpp @@ -0,0 +1,27 @@ +#include "../include.h" +#include "../util/io.h" +#include "client.h" + +bool tcp::client::init_ssl(SSL_CTX *server_ctx) { + m_ssl = SSL_new(server_ctx); + if (!m_ssl) { + io::logger->error("failed to create ssl on client {}.", m_ip); + return false; + } + + int ret = SSL_set_fd(m_ssl, m_socket); + if (ret <= 0) { + io::logger->error("failed to set descriptor on client {}.", m_ip); + return false; + } + + ret = SSL_accept(m_ssl); + if (ret <= 0) { + int err = SSL_get_error(m_ssl, ret); + io::logger->error("client {} failed to accept ssl, return code {}", m_ip, + err); + return false; + } + + return true; +}
\ No newline at end of file |