From 6350a2c2e8fe1b95ec03e3903f3a5de5af92d009 Mon Sep 17 00:00:00 2001 From: alpine Date: Thu, 25 Jun 2020 22:00:27 +0200 Subject: Removed xor on streaming for now. --- client/src/client/client.cpp | 22 +++++++++++++--------- client/src/client/client.h | 10 ---------- 2 files changed, 13 insertions(+), 19 deletions(-) (limited to 'client/src') diff --git a/client/src/client/client.cpp b/client/src/client/client.cpp index 3757b7e..c82af1e 100644 --- a/client/src/client/client.cpp +++ b/client/src/client/client.cpp @@ -6,6 +6,13 @@ void tcp::client::start(const std::string_view server_ip, const uint16_t port) { m_ssl_ctx = SSL_CTX_new(TLS_client_method()); + int ret = SSL_CTX_load_verify_locations(m_ssl_ctx, "ssl/rootCA.crt", nullptr); + if (ret != 1) { + io::logger->error("failed to load ca"); + return; + } + SSL_CTX_set_verify(m_ssl_ctx, SSL_VERIFY_PEER, 0); + m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (m_socket == -1) { io::logger->error("failed to create socket."); @@ -18,8 +25,8 @@ void tcp::client::start(const std::string_view server_ip, const uint16_t port) { server_addr.sin_addr.s_addr = inet_addr(server_ip.data()); server_addr.sin_port = htons(port); - int ret = connect(m_socket, reinterpret_cast(&server_addr), - sizeof(server_addr)); + ret = connect(m_socket, reinterpret_cast(&server_addr), + sizeof(server_addr)); if (ret < 0) { io::logger->error("failed to connect to server."); return; @@ -53,17 +60,14 @@ int tcp::client::read_stream(std::vector& out) { while (size > 0) { auto to_read = std::min(size, chunk_size); - std::string chunk; - chunk.resize(to_read + 2); - int ret = read(&chunk[0], to_read + 2); + + int ret = read(&out[total], to_read); if (ret <= 0) { break; } - enc::decrypt_message(chunk); - std::memcpy(&out[total], chunk.data(), chunk.size()); - size -= ret - 2; - total += ret - 2; + size -= ret; + total += ret; } return total; diff --git a/client/src/client/client.h b/client/src/client/client.h index 60a0e6c..1fc5191 100644 --- a/client/src/client/client.h +++ b/client/src/client/client.h @@ -37,17 +37,7 @@ class client { return SSL_write(m_server_ssl, data, size); } - // +- 2 is to account for xor keys int read(void* data, size_t size) { - /*std::string chunk; - chunk.resize(size + 2); - int ret = SSL_read(m_server_ssl, &chunk[0], size + 2); - chunk.resize(ret); - - io::logger->info(chunk); - enc::decrypt_message(chunk); - - std::memcpy(data, &chunk[0], chunk.size());*/ return SSL_read(m_server_ssl, data, size); } -- cgit v1.2.3