[PATCH] Article size problem - got it !

Russ Allbery rra at stanford.edu
Fri Sep 8 05:10:19 UTC 2006


F Senault <fred.letter at lacave.net> writes:

> I made another attempt at tracking that bug, and I finally managed to
> find it.  The patch is really simple :

> --- art.c.orig  Wed Sep  6 01:11:00 2006
> +++ art.c       Wed Sep  6 01:11:46 2006
> @@ -818,7 +818,7 @@

>      size = cp->Next - cp->Start;
>      if (innconf->maxartsize > 0 && size > (size_t) innconf->maxartsize) {
> -        if (cp->State == CSgotarticle)
> +        if (cp->State == CSgotarticle || cp->State == CSgotlargearticle)
>              cp->State = CSgotlargearticle;
>          else
>              cp->State = CSeatarticle;

> The status CSgotlargearticle could be set by ARTparsebody, which is
> called before ARTchecksize.  In that case, the state was reversed to
> CSeatarticle, and the channel stayed open, until the timeout.

> I only found 60 "rejecting huge article" entries in two months worth
> of logs and... already 300 since I've applied this patch (five minutes
> ago).

> Pleasepleaseplease apply...  :)

Wow, nice catch.  Thank you!  Applied.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list