[tpop3d-discuss]tpop3d doesn't delete mails [ms outlook 2002]

Chris Lightfoot chris at ex-parrot.com
Tue, 3 Feb 2004 21:02:27 +0000


On Tue, Feb 03, 2004 at 09:54:59PM +0100, Jarek Woloszyn wrote:
> > > I've tried few configurations of this if( if r, if 1) and it didn't
> > > help. I also noticed, that when I turn off the sniffer, failures of tpop are almost everytime. And solid-pop still works fine.
> > 
> > sorry, my above email is wrong. you also need to remove
> > the test for c->cstate == running. I really think this is
> > a bad idea, though.
> 
> -        if (r && !connection_isfrozen(c)) {
> +        if (1) {
> -            while (c->cstate == running && (p = connection_parsecommand(c))) {
> +            while ((p = connection_parsecommand(c))) {
> 
> That helped. My patch is probably very bad, but we know at least, that it's 
> some kind of bug in tpop. 

absolutely not a bug -- your fix copes with a client which
drops the connection before receiving a response from the
server. That is a client bug, since such a client cannot
not know the result of the transaction it has started and
cannot take appropriate action in that case. Note that
QUIT can return a -ERR response too. Your modifications
above, although they may help with certain buggy clients,
make the server less reliable.

-- 
``The irony of the Information Age is that it has given
  new respectability to uninformed opinion.'' (John Lawton)