Included below is a patch to support RFC 2449, the POP3 CAPA command.
-- Ryan Butler <[EMAIL PROTECTED]> ADI Internet Solutions http://dbmail.adiis.net
diff -ur dbmail/pop3.c dbmail.working/pop3.c --- dbmail/pop3.c Wed Jun 19 05:39:48 2002 +++ dbmail.working/pop3.c Tue Nov 12 11:09:02 2002 @@ -29,7 +29,7 @@ const char *commands [] = { "quit", "user", "pass", "stat", "list", "retr", "dele", "noop", "last", "rset", - "uidl","apop","auth","top" + "uidl","apop","auth","top","capa" }; const char validchars[] = @@ -112,7 +112,7 @@ /* commands that are allowed to have no arguments */ if ((value==NULL) && (cmdtype!=POP3_QUIT) && (cmdtype!=POP3_LIST) && (cmdtype!=POP3_STAT) && (cmdtype!=POP3_RSET) && (cmdtype!=POP3_NOOP) && - (cmdtype!=POP3_LAST) && (cmdtype!=POP3_UIDL) && (cmdtype!=POP3_AUTH)) + (cmdtype!=POP3_LAST) && (cmdtype!=POP3_UIDL) && (cmdtype!=POP3_AUTH) && (cmdtype!=POP3_CAPA)) { return pop3_error(stream,"-ERR your command does not compute\r\n"); } @@ -541,6 +541,11 @@ return 1; } + case POP3_CAPA: + { + fprintf ((FILE *)stream, "+OK Capability list follows\r\nTOP\r\nUSER\r\nUIDL\r\n.\r\n"); + return 1; + } default : { return pop3_error(stream,"-ERR command not understood, sir\r\n"); diff -ur dbmail/pop3.h dbmail.working/pop3.h --- dbmail/pop3.h Wed Mar 13 10:32:28 2002 +++ dbmail.working/pop3.h Tue Nov 12 10:56:00 2002 @@ -60,7 +60,8 @@ #define POP3_APOP 11 #define POP3_AUTH 12 #define POP3_TOP 13 -#define POP3_END 14 +#define POP3_CAPA 14 +#define POP3_END 15 /* all virtual_ definitions are session specific * when a RSET occurs all will be set to the real values */