aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/src/client/client.cpp22
-rw-r--r--client/src/client/client.h10
-rw-r--r--server/src/client/client.cpp9
-rw-r--r--server/src/client/client.h2
-rw-r--r--server/src/include.h1
-rw-r--r--server/src/main.cpp4
-rw-r--r--server/src/util/io.h8
7 files changed, 22 insertions, 34 deletions
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<sockaddr*>(&server_addr),
- sizeof(server_addr));
+ ret = connect(m_socket, reinterpret_cast<sockaddr*>(&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<char>& 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);
}
diff --git a/server/src/client/client.cpp b/server/src/client/client.cpp
index 452c234..75b25f2 100644
--- a/server/src/client/client.cpp
+++ b/server/src/client/client.cpp
@@ -53,15 +53,12 @@ int tcp::client::stream(std::vector<char>& data, float *dur/*= nullptr*/) {
while (size > 0) {
auto to_send = std::min(size, chunk_size);
- std::string chunk(&data[sent], to_send);
- enc::encrypt_message(chunk);
- int ret = write(chunk.data(), chunk.size());
+ int ret = write(&data[sent], to_send);
if (ret <= 0) {
break;
}
-
- sent += ret - 2;
- size -= ret - 2;
+ sent += ret;
+ size -= ret;
}
auto end = std::chrono::steady_clock::now();
diff --git a/server/src/client/client.h b/server/src/client/client.h
index 01dc125..9459eb6 100644
--- a/server/src/client/client.h
+++ b/server/src/client/client.h
@@ -28,8 +28,6 @@ class client {
}
int write(const void* data, size_t size) {
- //std::string str(reinterpret_cast<const char*>(data), size);
- //enc::encrypt_message(str);
return SSL_write(m_ssl, data, size);
}
diff --git a/server/src/include.h b/server/src/include.h
index eb31336..19e3972 100644
--- a/server/src/include.h
+++ b/server/src/include.h
@@ -22,7 +22,6 @@
#include <utility>
#include <atomic>
#include <mutex>
-#include <filesystem>
#include <arpa/inet.h>
#include <netdb.h>
diff --git a/server/src/main.cpp b/server/src/main.cpp
index df3a577..b4cb3cb 100644
--- a/server/src/main.cpp
+++ b/server/src/main.cpp
@@ -55,7 +55,7 @@ int main(int argc, char* argv[]) {
client.get_session());
client.write(resp);
- std::vector<char> t;
+ /*std::vector<char> t;
io::read_file("test.dll", t);
float tot;
for(int i = 0; i < 100; i++) {
@@ -64,7 +64,7 @@ int main(int argc, char* argv[]) {
tot += dur;
}
float avg = tot / 100.f;
- io::logger->info("average time {}", avg);
+ io::logger->info("average time {}", avg);*/
});
diff --git a/server/src/util/io.h b/server/src/util/io.h
index e8ef3f0..4681fbf 100644
--- a/server/src/util/io.h
+++ b/server/src/util/io.h
@@ -1,8 +1,8 @@
#pragma once
namespace io {
- extern std::shared_ptr<spdlog::logger> logger;
+extern std::shared_ptr<spdlog::logger> logger;
- void init(const bool& to_file);
- void read_file(const std::string_view name, std::vector<char>& out);
-}; // namespace io
+void init(const bool& to_file);
+void read_file(const std::string_view name, std::vector<char>& out);
+}; // namespace io