> > So one of two biggest problems (are <CRLF> and > 'double POP after') with > Courier-IMAP is about to been solved. > > Do you have a ready to use patch? > Or just some drafts? How to implement this patch? > > Best regards, > Mikhail.
Please, find enclosed a patch to XMail-1.17. It solves the 'double POP after' problem. Apply it: # cd 'xmail-1.17-dir' # patch < POP3Svr.cpp.diff.txt (re)build and (re)install XMail-1.17. The patch's job is very simple: strip Courier-IMAP flags from UIDs. *** Important: after the patch is applied, the POP3 client will once again duplicate older messages that have the older UIDs (with IMAP4 flags). Next time, it will work normally. *** Important too: You will need this patch only if you want XMail to work with Courier-IMAP. Please, let me know if you have success. Regards. -- Attached file included as plaintext by Ecartis -- -- File: POP3Svr.cpp.diff.txt -- Desc: POP3Svr.cpp.diff.txt --- POP3Svr.cpp Sun Sep 14 15:33:30 2003 +++ POP3Svr.new.cpp Fri Sep 26 09:02:10 2003 @@ -1098,10 +1098,13 @@ for (int ii = 0; ii < iMsgTotal; ii++) { char szMessageUIDL[256] = ""; + char *pIMAP4Flags; if (UPopGetMessageUIDL(POP3S.hPOPSession, ii + 1, szMessageUIDL) == 0) { + if ((pIMAP4Flags = strstr(szMessageUIDL, ":2,"))) + *pIMAP4Flags = '\0'; BSckVSendString(hBSock, POP3S.pPOP3Cfg->iTimeout, "%d %s", ii + 1, szMessageUIDL); @@ -1113,12 +1116,15 @@ else { char szMessageUIDL[256] = ""; + char *pIMAP4Flags; if (UPopGetMessageUIDL(POP3S.hPOPSession, iMsgIndex, szMessageUIDL) < 0) BSckSendString(hBSock, "-ERR No such message", POP3S.pPOP3Cfg->iTimeout); else { + if ((pIMAP4Flags = strstr(szMessageUIDL, ":2,"))) + *pIMAP4Flags = '\0'; BSckVSendString(hBSock, POP3S.pPOP3Cfg->iTimeout, "+OK %d %s", iMsgIndex, szMessageUIDL); - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED]