inn-2.2 / storageapi + wireformat == corruption

greg andruk meowing at
Sun Sep 26 22:27:13 UTC 1999

In nnmh:inbox, David W Hankins <dhankins at> wrote:
> But I believe that if that is done it should be at INND time as the
> article is received and stored on disk, not innxmit/other-backends time.
> So I disagree.

One reason it's good for innd to store it "raw" and do the conversion
later is that it's racing against the select loop in the forst phase.
When feeding out or serving readers, those processes have the luxury
of setting the pace.

> Wireformat should mean on-the-wire format, not 'do-some-processing-first
> format'.

I'd definitely buy this if we were talking about a monolithic server.
Even with innd, it might be worth considering doing the fixing at
receive time considering that most sites seem to have the spare horses
to run some rather elaborate filters these days.

> With that assertion, I believe it's perfectly rational to expect that
> two servers holding the same article in wireformat on disk have precisely
> the same md5 sum over the article body and possibly some selected headers.

With INN you can't even assume that the article will be stored that
way.  Tradspool still supports the traditional everthing-to-LF
conversion, for example.  Line terminators will be altered out there,
and the only safe assumption is that all line endings are equal.

> This is all rather moot of course since I believe the powers that be have
> already decided that in the case of improper nul, \r and \n usage in an
> article body, the article be forwarded as received.

Yes, there is currently b0rken transit stuff out there doing all sorts
of stupid stuff like transmitting articles with NUL in them, ignoring
moderation status, allowing duplicate paths, soaces in message IDs and
more.  Those articles don't propagate well outside the core transit

> This being thought to be a 'better' behaviour in a bad situation
> than either dropping the article or molesting it as you and I would
> have.

Better?  No, just easier to code.  Broken is broken.

More information about the inn-workers mailing list