Author Topic: Bug with YahooPops! (Maybe?)  (Read 2955 times)

0 Members and 1 Guest are viewing this topic.

Loopy

  • Guest
Bug with YahooPops! (Maybe?)
« on: March 09, 2004, 09:43:34 AM »
I use my own mailserver, set on the usual POP3 port of 110. I also use YahooPops to download e-mail from my Yahoo! account. This is set on Port 111. I have set up Avast to run on port 112.

Assuming that my username is "loopy" and that my password is "password" (which they're not, BTW), I connect to port 112 and use a username of "loopy#localhost:111" and the usual password. This works, but I have noticed when a large number of e-mails come in, every so often, rather than sending a single command to a line, separated by a line return, Avast seems to send more than one and does not separate them properly. I thought it might have something to do with YahooPops! but I tried bypassing Avast and my mailserver downloaded all the e-mails perfectly.

If I have confused you, here's what I think is happening:

USER loopy#localhost:111
PASS password
LIST
RETR 1<CR><LF>
DELE 1<CR><LF>
[Repeat above two lines until]
RETR 18<CR><LF>
DELE 18<CR><LF>
RETR 19<CR>
DELE 19
[Hangs here]

Loopy

  • Guest
Re:Bug with YahooPops! (Maybe?)
« Reply #1 on: March 10, 2004, 04:53:18 PM »
Okay, I have further confirmation of this bug. I took a log this morning when I had 26 e-mails and had no errors

This is the log I took this afternoon (I have modified it slightly to remove my login details), when I only had four e-mails:

[03/10/04 15:29:46] Starting POP3 session for "{username}".
[03/10/04 15:29:58] <{username}> Found 4 emails
[Download e-mails]
[03/10/04 15:30:13] <{username}> Command received from email client: STAT
[03/10/04 15:30:13] <{username}> Response sent: +OK 4 47236
[03/10/04 15:30:13] <{username}> Command received from email client: LIST
[03/10/04 15:30:14] <{username}> Response sent: 1 30369
[03/10/04 15:30:14] <{username}> Response sent: 2 3729
[03/10/04 15:30:14] <{username}> Response sent: 3 6434
[03/10/04 15:30:14] <{username}> Response sent: 4 6704
[03/10/04 15:30:14] <{username}> Response sent: .
[03/10/04 15:30:14] <{username}> Command received from email client: RETR 1
[03/10/04 15:30:14] <{username}> Response sent: [Email sent to client]
[03/10/04 15:30:14] <{username}> Command received from email client: DELE 1
[03/10/04 15:30:15] <{username}> Response sent: +OK message 1 deleted
[03/10/04 15:30:15] <{username}> Command received from email client: RETR 2
[03/10/04 15:30:15] <{username}> Response sent: [Email sent to client]
[03/10/04 15:30:15] <{username}> Command received from email client: DELE 2
[03/10/04 15:30:16] <{username}> Response sent: +OK message 2 deleted
[03/10/04 15:30:16] <{username}> Command received from email client: RETR 3
[03/10/04 15:30:16] <{username}> Response sent: [Email sent to client]
[03/10/04 15:30:16] <{username}> Command received from email client: DELE 3
RETR 4
[03/10/04 15:30:17] <{username}> Response sent: +OK message 3 deleted


Notice the DELE 3/RETR 4 line? Both have been sent on the same line. We now get a deadlock situation. Avast is waiting for YahooPops to respond to the RETR 4 request, but YahooPops has only just finished responding to the DELE 3 request and is waiting for the next command.

YahooPops only deletes the e-mails after it receives a QUIT command from the client, and since the deadlock situation causes a timeout on the client side, this is never received and hence, we end up downloading the same three e-mails over and over again.

Has anyone else got this problem?

(PS: I have attached the log file as a separate attachment)