[sylpheed:35088] Re: HELP! I need to use IMAP!

Laurence Darby ldarby at tuffmail.com
Sat Jan 21 06:40:28 JST 2012



McCluskey, Craig W wrote:

> 
> I did some more investigating. I used Wireshark to look at the packets my computer
> was sending and found that packets are output only immediately after setting up a
> new email account. In that case, information is logged into sylpheed.log:
> 
> ------------------------------------------------------------
> [17:19:45] * message: creating IMAP4 connection to mymail.lanl.gov:993 ...
> [17:19:59] * message: SSL certificate of mymail.lanl.gov previously accepted
> [17:19:59] IMAP4< * OK The Microsoft Exchange IMAP4 service is ready.
> [17:19:59] IMAP4> 1 CAPABILITY
> [17:19:59] IMAP4< * CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN CHILDREN IDLE NAMESPACE LITERAL+
> [17:19:59] IMAP4< 1 OK CAPABILITY completed.
> [17:19:59] IMAP4> 2 AUTHENTICATE PLAIN
> [17:19:59] IMAP4< +
> [17:19:59] IMAP4> 3 LOGOUT
> [17:19:59] IMAP4< 2 NO AUTHENTICATE failed.
> [17:19:59] ** LibSylph-WARNING: [17:19:59] Could not establish IMAP connection.
> 
> [17:19:59] ** warning: Could not establish IMAP connection.
> --------------------------------------------------


A successful login (to a non-MS imap server) looks like this:

[20:41:25] IMAP4< 419 OK completed
[20:41:25] IMAP4> 420 AUTHENTICATE PLAIN
[20:41:25] IMAP4< + 
[20:41:25] IMAP4> ****************
[20:41:25] IMAP4< 420 OK User logged in


So for some reason, Sylpheed isn't sending the password, but LOGOUT
instead.  That smells like a bug to me, so I looked through
libsylph/imap.c, and I found line 3887:

	if (ok != IMAP_SUCCESS || buf[0] != '+' || buf[1] != ' ') {

which is checking for a trailing space after the +,  but there isn't
one in your log, and there is in mine.  Try changing it to

	if (ok != IMAP_SUCCESS || buf[0] != '+') {

recompile and see if that helps.

Regards,
Laurence



More information about the Sylpheed mailing list