From dc27e2b1e16b2180cb77e557ad752048caa4b6e6 Mon Sep 17 00:00:00 2001 From: Benedikt Galbavy Date: Sat, 18 Nov 2023 14:43:48 +0100 Subject: [PATCH] fix to save sender --- server/mail.cpp | 3 ++- server/mail.h | 2 +- server/server.cpp | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/mail.cpp b/server/mail.cpp index 449eec2..1b64162 100644 --- a/server/mail.cpp +++ b/server/mail.cpp @@ -1,10 +1,11 @@ #include "mail.h" #include -mail::mail(std::string filename, std::string subject) : +mail::mail(std::string filename, std::string subject, std::string sender) : filename(filename), timestamp(std::time(NULL)), subject(subject), + sender(sender), deleted(false), m_file() {} diff --git a/server/mail.h b/server/mail.h index aef398f..e0525b0 100644 --- a/server/mail.h +++ b/server/mail.h @@ -23,7 +23,7 @@ struct mail { bool deleted; - mail(std::string filename, std::string subject); + mail(std::string filename, std::string subject, std::string sender); mail(std::string filename, int64_t timestamp, std::string subject); bool operator()(const u_int& id) const { diff --git a/server/server.cpp b/server/server.cpp index 66358ea..0875608 100644 --- a/server/server.cpp +++ b/server/server.cpp @@ -390,7 +390,7 @@ std::string cmdLOGIN(std::vector& received) std::string cmdSEND(std::vector& received) { - // TODO: change sender to be implicit from currently logged in + // TODO: change sender to be implicit from currently logged in; replace received.at(1) and move all other received one forward if (received.at(3).length() > 80) return "ERR\n"; @@ -401,7 +401,7 @@ std::string cmdSEND(std::vector& received) } user_handler::getInstance().getOrCreateUser(received.at(2))->addMail( - new struct mail(saveToFile(user_handler::getInstance().getSpoolDir()/"messages", received.at(4)), received.at(3)) + new struct mail(saveToFile(user_handler::getInstance().getSpoolDir()/"messages", received.at(4)), received.at(3), received.at(1)) ); return "OK\n"; // TODO: error handling @@ -409,7 +409,7 @@ std::string cmdSEND(std::vector& received) std::string cmdLIST(std::vector& received) { - // TODO: change user to be implicit from currently logged in + // TODO: change user to be implicit from currently logged in; replace received.at(1) maillist inbox; user* user; @@ -429,7 +429,7 @@ std::string cmdLIST(std::vector& received) std::string cmdREAD(std::vector& received) { - // TODO: change user to be implicit from currently logged in + // TODO: change user to be implicit from currently logged in; replace received.at(1) and move received.at(2) one forward std::string response = "OK\n"; user* user; @@ -458,7 +458,7 @@ std::string cmdREAD(std::vector& received) std::string cmdDEL(std::vector& received) { - // TODO: change user to be implicit from currently logged in + // TODO: change user to be implicit from currently logged in; replace received.at(1) and move received.at(2) one forward user* user; char* p;