INNT overview..

Russ Allbery rra at
Sat Mar 3 12:00:28 UTC 2001

Bill Davidsen <davidsen at> writes:
> On 24 Feb 2001, Russ Allbery wrote:

>> Dump NEW/DISPOSE/SIZEOF/etc.  I'd recommend dumping all of macros.h if
>> you can.  I don't like anything in that file except maybe EQ and
>> friends.

> Do I remember that NEW was added to ease problems with systems which had
> broken or slow malloc family implementations?

Well, NEW was never "added" really; it was in INN 1.0.  One of the things
that it allows one to do is to plug in a different malloc implementation,
but now we have a better place to do that if we ever want (namely xmalloc)
without losing our error handling.

The other thing that NEW lets us do is write C++-compliant malloc code by
casting the return of malloc to the appropriate type, and adds a touch of
safety by forcing the programmer to think in terms of a quantity X of data
type Y.  These are somewhat useful properties; personally, I think the
obfuscation of the code caused by not using something that has the same
interface as malloc is more of a drawback than those macros gain, but it's
because they do arguably have some utility that I haven't already gotten
rid of them.

> Dot-stuffing? Shouldn't that be done by the inserting server? For
> performance and binary cleanliness, I don't think you want to look at
> the text at all. Let the insertion server generate it, let the reader
> server filter it, a transit server whould work like a router and leave
> the contents alone.

Whoops, yes, you're entirely correct; the mention of \r\n caused me to
throw in the standard thing that goes with that, but a transit server
should never need to look at either.

> But I would like to see input level newsgroups filtering, because it's
> more efficient to drop it once than decide not to feed it to all my
> outgoing feeds. This also allows deciding in the header that the article
> will be dropped, and dumping it in a bitbucket, possibly gaining a
> little performance in so doing.

Note that you'd need a slightly different Perl filtering interface to do
that; the current one doesn't have a way of doing a check before the whole
article has been received.

Russ Allbery (rra at             <>

More information about the inn-workers mailing list