From a566c264aac22809cd31e7b5a6e9524bc81f70ae Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Thu, 27 Feb 2025 13:15:16 +0000 Subject: [PATCH] Updated Server to decrypt message before sending. --- src/server.c | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/server.c b/src/server.c index d4a9da1..b5dd55b 100644 --- a/src/server.c +++ b/src/server.c @@ -56,9 +56,6 @@ int main(void) struct sockaddr_in cli; u_int32_t len = sizeof(cli); - char *buffer = create(char); - buffer = size(buffer, 256); - Request req; memset(&req, 0, sizeof(req)); @@ -109,6 +106,21 @@ int main(void) filepath = size(filepath, 256); sprintf(filepath, "%s%d.bin", PASSWORDS, req.level); + + int *buffer = NULL; + + try + { + buffer = create(int); + buffer = size(buffer, 256); + } + catch (MEMORY_ALLOC_FAILURE) + { + fprintf(stderr, "Memory allocation failed\n"); + close(sockfd); + return 1; + } + int i = readl(filepath, buffer, 256); if (i == -1) { @@ -123,8 +135,24 @@ int main(void) // debug printf("Sending key: [%s]\n", buffer); + char *sendKEY = NULL; + + try + { + sendKEY = create(char); + sendKEY = size(send, 256); + } + catch (MEMORY_ALLOC_FAILURE) + { + fprintf(stderr, "Memory allocation failed\n"); + close(sockfd); + return 1; + } + + decryptText(sendKEY, buffer); + aux.ID = req.ID; - memccpy(aux.key, buffer, 0, 256); + memccpy(aux.key, send, 0, 256); aux.level = req.level; aux.type = req.type; send(connfd, &aux, sizeof(aux), 0);