Well...interestingly enough, when I apply this patch to dbmail, the
multiple email problem comes back.

If 'session.cmdtype = 11' stays as is everything works fine.

However, when changed to 'session.cmdtype == 11' any APOP clients start
getting multiple copies of every mail. Basically as though they have
never been checked.

This is the same problem I originally had.

Any thoughts?

  --  Jason


On Thu, 2003-05-22 at 14:25, Jesse Norell wrote:
> Hello,
> 
>   No, it's the whole patch again, with that single change included
> (or just manually change session.cmdtype = 11 to session.cmdtype == 11
> in pop3.c, about line 173).
> 
> Jesse
> 
> ---- Original Message ----
> From: Jason Burfield <dbmail@dbmail.org>
> To: dbmail@dbmail.org
> Subject: Re: [Dbmail] High Load Average and dbmail-pop3d ? [PATCH]
> Sent: 22 May 2003 13:58:14 -0400
> 
> > Just to be clear...this is a patch to fix the previous patch, yeah?
> > 
> >   --  Jason
> > 
> > 
> > On Thu, 2003-05-22 at 13:24, Jesse Norell wrote:
> > > Hey,
> > > 
> > >   Good point - that should be a comparison, not assignment.  I
> > > corrected that in the attached patch.
> > > 
> > > Thanks,
> > > Jesse
> > > 
> > > ---- Original Message ----
> > > From: Ben Gras <[EMAIL PROTECTED]>
> > > To: Jesse Norell <[EMAIL PROTECTED]>
> > > Subject: Re: [Dbmail] High Load Average and dbmail-pop3d ? [PATCH]
> > > Sent: Thu, 22 May 2003 18:38:50 +0200
> > > 
> > > > Hi Jesse,
> > > > 
> > > > >   After a little discussion with Ryan, the purpose of his patch was
> > > > > to fix the pop3 state machine when returning from apop (which has no
> > > > > plaintext password, creating a problem with a check for password!=NULL
> > > > > at a point), but it created a double free() of a pointer.  According
> > > > > to the man page, that creates undefined behavior, which for Ryan seems
> > > > > to be working fine, but for you is quite nasty.  :)  The attached
> > > > > patch handles that case in the state machine, as well as checking a
> > > > > couple lengths (and fixing a buffer overrun with long USER arg) ... it
> > > > > seems to work fine in a small amount of testing, but give it a try and
> > > > > see if it fixes your problem, etc.  Please report back with your
> > > > > results, as this is something that needs to be fixed in cvs code.
> > > > > (Download latest cvs code, and don't use Ryan's patch with this.)
> > > > 
> > > > This line in your patch looks fishy:
> > > > +       if (session.username != NULL && (session.cmdtype = 11 || 
> > > > session.password != NULL))
> > > > 
> > > > It's either a clever (but unclear) way of assigning 11 to cmdtype
> > > > if the username != NULL, or a bug, which is likely because the 2nd
> > > > part of the conjunction will always be true..
> > > > 
> > > >         =Ben
> > > > 
> > > > 
> > > > 
> > > -- End Original Message --
> > > 
> > > 
> > > --
> > > Jesse Norell
> > > jesse (at) kci.net
> > 
> > _______________________________________________
> > Dbmail mailing list
> > Dbmail@dbmail.org
> > https://mailman.fastxs.nl/mailman/listinfo/dbmail
> > 
> -- End Original Message --
> 
> 
> --
> Jesse Norell
> jesse (at) kci.net
> 
> _______________________________________________
> Dbmail mailing list
> Dbmail@dbmail.org
> https://mailman.fastxs.nl/mailman/listinfo/dbmail
> 

Reply via email to