Continued development.

This commit is contained in:
Brad Arant 2020-04-23 14:30:00 -07:00
parent 967a03563a
commit 385821a37e
48 changed files with 52 additions and 7 deletions

BIN
BMAMail

Binary file not shown.

View File

@ -12,7 +12,7 @@ namespace mail {
public: public:
virtual int processCommand(std::string request, core::TCPSession *session, std::stringstream &data) override; virtual int processCommand(std::string request, core::TCPSession *session, std::stringstream &data) override;
virtual int processCommand(coreutils::PString request, IMAPSession &session, IMAPServer &server, std::stringstream &data) {} virtual int processCommand(coreutils::PString request, IMAPSession &session, IMAPServer &server, std::stringstream &data) { return 0; }
}; };

View File

@ -15,7 +15,9 @@ namespace mail {
return processCommand(parser, (POP3Session &)*session, data); return processCommand(parser, (POP3Session &)*session, data);
} }
virtual int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {} virtual int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
return 0;
}
}; };

View File

@ -12,7 +12,9 @@ namespace mail {
public: public:
virtual int processCommand(std::string request, core::TCPSession *session, std::stringstream &data) override; virtual int processCommand(std::string request, core::TCPSession *session, std::stringstream &data) override;
virtual int processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {} virtual int processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {
return 0;
}
}; };

View File

@ -4,6 +4,7 @@ namespace mail {
int __IMAP_APPEND::processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int __IMAP_APPEND::processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
} }

View File

@ -9,7 +9,7 @@ namespace mail {
class __IMAP_APPEND : public IMAPCommand { class __IMAP_APPEND : public IMAPCommand {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data); int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data);
}; };
} }

View File

@ -11,6 +11,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, IMAPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -10,6 +10,7 @@ namespace mail {
int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) { int processCommand(coreutils::PString request, POP3Session &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -59,6 +59,7 @@ namespace mail {
} }
break; break;
} }
return 1;
} }
std::string __SMTP_DATA::generateMailFileName() { std::string __SMTP_DATA::generateMailFileName() {

View File

@ -14,6 +14,7 @@ namespace mail {
data << "250-AUTH LOGIN" << CRLF; data << "250-AUTH LOGIN" << CRLF;
data << "250 HELP" << CRLF; data << "250 HELP" << CRLF;
session.state = READY; session.state = READY;
return 1;
} }
} }

View File

@ -6,6 +6,7 @@ namespace mail {
int __SMTP_EXPN::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) { int __SMTP_EXPN::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {
data << "252 You must know recipient." << CRLF; data << "252 You must know recipient." << CRLF;
session.state = READY; session.state = READY;
return 1;
} }
} }

View File

@ -9,6 +9,7 @@ namespace mail {
data << "250 " << server.hostName << CRLF; data << "250 " << server.hostName << CRLF;
session.state = READY; session.state = READY;
return 1;
} }
} }

View File

@ -3,10 +3,10 @@
namespace mail { namespace mail {
int __SMTP_HELP::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) { int __SMTP_HELP::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {
data << "250 Sure you need help." << CRLF; data << "250 Sure you need help." << CRLF;
session.state = READY; session.state = READY;
return 1;
} }
} }

View File

@ -11,6 +11,7 @@ namespace mail {
int processCommand(coreutils::PString request, SMTPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, SMTPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -11,6 +11,7 @@ namespace mail {
int processCommand(coreutils::PString request, SMTPSession &session, std::stringstream &data) { int processCommand(coreutils::PString request, SMTPSession &session, std::stringstream &data) {
data << "250 OK" << CRLF; data << "250 OK" << CRLF;
return 1;
} }
}; };

View File

@ -6,6 +6,7 @@ namespace mail {
int __SMTP_QUIT::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) { int __SMTP_QUIT::processCommand(coreutils::PString request, SMTPSession &session, SMTPServer &server, std::stringstream &data) {
data << "221 " << server.hostName << CRLF; data << "221 " << server.hostName << CRLF;
session.shutdown("quit request"); session.shutdown("quit request");
return 1;
} }
} }

View File

@ -29,7 +29,7 @@ int main(int argc, char **argv) {
mail::IMAPServer imapServer(ePoll, hostName, mailFileSystem, core::IPAddress(ipAddress, 143)); mail::IMAPServer imapServer(ePoll, hostName, mailFileSystem, core::IPAddress(ipAddress, 143));
core::ConsoleServer consoleServer(ePoll, core::IPAddress(ipAddress, 1027)); core::ConsoleServer consoleServer(ePoll, core::IPAddress(ipAddress, 1027));
consoleServer.commands.add(consoleServer.commands, "help"); consoleServer.commands.add(consoleServer.commands, "help");
ePoll.start(1, 1000); ePoll.start(4, 1000);
while(true) while(true)
sleep(300); sleep(300);