aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authoralpine <[email protected]>2020-06-26 14:06:25 +0200
committeralpine <[email protected]>2020-06-26 14:06:25 +0200
commitd89852b672d038ad07198dfeb6a5b1e89be84bb5 (patch)
treee04e7cfcccf6b96af19678db79eba56acd57deed /server/src
parentRemoved xor on streaming for now. (diff)
downloadloader-d89852b672d038ad07198dfeb6a5b1e89be84bb5.tar.xz
loader-d89852b672d038ad07198dfeb6a5b1e89be84bb5.zip
Added server certificate verification on client.
Xor is now used only with messages.
Diffstat (limited to 'server/src')
-rw-r--r--server/src/client/client.h1
-rw-r--r--server/src/server/packet.h10
-rw-r--r--server/src/server/ssl.h2
3 files changed, 8 insertions, 5 deletions
diff --git a/server/src/client/client.h b/server/src/client/client.h
index 9459eb6..1dbb8d5 100644
--- a/server/src/client/client.h
+++ b/server/src/client/client.h
@@ -1,6 +1,5 @@
#pragma once
#include "../server/packet.h"
-#include "../util/enc.h"
namespace tcp {
diff --git a/server/src/server/packet.h b/server/src/server/packet.h
index b31f033..57c6229 100644
--- a/server/src/server/packet.h
+++ b/server/src/server/packet.h
@@ -1,4 +1,5 @@
#pragma once
+#include "../util/enc.h"
namespace tcp {
constexpr size_t session_id_len = 10;
@@ -20,10 +21,12 @@ struct packet_t {
return;
}
- session_id = msg.substr(0, session_id_len);
+ message = msg;
+ enc::decrypt_message(message);
+ session_id = message.substr(0, session_id_len);
- action = msg[session_id_len];
- message = msg.substr(session_id_len);
+ action = message[session_id_len];
+ message = message.substr(session_id_len);
} else {
if (msg.size() > message_len) {
io::logger->error("packet message exceeds limit");
@@ -33,6 +36,7 @@ struct packet_t {
session_id = session;
message = fmt::format("{}{}", session_id, msg);
+ enc::encrypt_message(message);
}
}
diff --git a/server/src/server/ssl.h b/server/src/server/ssl.h
index 30a4faa..344064d 100644
--- a/server/src/server/ssl.h
+++ b/server/src/server/ssl.h
@@ -20,6 +20,7 @@ class ssl {
return false;
}
+ SSL_CTX_set_verify(m_ctx, SSL_VERIFY_PEER, 0);
int res = SSL_CTX_use_certificate_chain_file(m_ctx, m_cert.data());
if (res != 1) {
io::logger->error("failed to load certificate.");
@@ -47,7 +48,6 @@ class ssl {
return false;
}
- SSL_CTX_set_verify(m_ctx, SSL_VERIFY_PEER, 0);
return true;
}