inn-2.2 / storageapi + wireformat == corruption

greg andruk meowing at
Sun Sep 26 06:27:21 UTC 1999

In nnmh:inn-workers, Russ Allbery <rra at> wrote:

> Russ Allbery <rra at Stanford.EDU> writes:
>> Yup.  I finally had a chance to go and look at this, and QIOread() has:
> [...]
>> which will mangle any article that's in wire format and contains an
>> embedded bare newline.  Not good.  It needs to be rewritten into a loop
>> that searches specifically for \r\n when WireFormat is set.

> Okay, I just checked a patch to qio.c into CURRENT that should fix this.
> Everything looks correct in testing, but QIO is used by half of INN in all
> sorts of odd places, so everyone please let me know if something breaks.

While this patch gets the checksums to agree, it contradicts both 1036

4.3 Batching


  (The newline at the end of each line of the message is counted as
  one byte, for purposes of this count, even if it is stored as


 4.4.  Characters and Character Sets                                                                                
    Transmission paths for news articles MUST treat news articles as
    uninterpreted sequences of octets, excluding the values 0 (ASCII
    NUL) and 13 and 10 (ASCII CR and LF, which MUST only appear in the
    combination CRLF which denotes a line separator).

More information about the inn-workers mailing list