inn-2.2 / storageapi + wireformat == corruption
meowing at banet.net
Sun Sep 26 06:27:21 UTC 1999
In nnmh:inn-workers, Russ Allbery <rra at stanford.edu> 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
(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
<CARRIAGE RETURN><LINE FEED>.)
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