[antispam-f] Re: Long header abort

  • From: Frank de Bruijn <antispam@xxxxxxxxxx>
  • To: antispam@xxxxxxxxxxxxx
  • Date: Sun, 17 Dec 2006 17:37:18 +0100

In article <4e969fece0freelists@xxxxxxxxxxxxxxxx>,
   Martin <freelists@xxxxxxxxxxxxxxxx> wrote:
> Using 1.59.4 I have just had 'fun' trying to download an email, as it
> made AS disappear without trace.

> Upon investigation, the log files showed

>     Too many header lines
>     17 Dec 11:28:54 040 Internal error: abort on data transfer at
>                         &FC181C74 at line 1991

Socket_Read [1] crashing out after the program has already stopped
trying to make sense of things. It should be flushing the buffer at that
point, reading as much from the socket as the buffer will take (but
never more than that).

How is the timing on those log entries? Is there any significant time
between the 'Too many header lines' error and the abort?

> And, sure enough, when I used TapirMail to look at the email, the header
> was eeeeeenormous. The ***** who sent it had included about 1,000
> addresses in the To: field. And yes, I have pointed out the error of
> their ways to them.

You don't happen to have that particular email stored anywhere, do you?
I need to feed this through the pseudo server if I'm to have half a
chance of finding out what's going on.

> I have no problem with AS refusing to download such a stupid email, but I
> suspect it should not then Abort on data Transfer and disappear?!

Well, it certainly was programmed to handle this as gracefully as
possible...

Maybe the improved QUIT handling of 1.59.6 already makes a difference.

Regards,
Frank


[1] &FC181C74 is in the BASIC ROM in RO 5.11, but as I don't see how the
    statement 'IF eb%=0 sb%=0' could cause such an abort, it must be
    something that's happening 'inside' the SYS XSocket_Read preceding
    that. Must be really nasty, because it's called with bit 17 set and
    it still crashes...

Other related posts: