Continued development.
This commit is contained in:
parent
967a03563a
commit
385821a37e
@ -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; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -59,6 +59,7 @@ namespace mail {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string __SMTP_DATA::generateMailFileName() {
|
std::string __SMTP_DATA::generateMailFileName() {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ namespace mail {
|
|||||||
|
|
||||||
data << "250 " << server.hostName << CRLF;
|
data << "250 " << server.hostName << CRLF;
|
||||||
session.state = READY;
|
session.state = READY;
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
2
main.cpp
2
main.cpp
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user