using filter_post to modify headers

James Ralston qralston+ml.inn-workers at
Tue Jul 11 21:43:17 UTC 2000

Hmmm.  I didn't mean to stir up so much controversy.  Let me see if I
can address the questions/comments that were raised.

On Fri, 7 Jul 2000, Forrest J. Cavalier III wrote:

> You mentioned why incoming Date headers are wildly inaccurate, but
> not why this causes you a problem.  Can you explain?

For two primary reasons:

    1.  If the Date: header is either too far in the past, or too far
        in the future, nnrpd/innd will reject the article.  If this
        happens, someone will invariably wind up asking me what is
        wrong with the news server.  Invariably, the person whose
        attempted post was rejected will completely ignore the error
        string returned by the news server, forcing me to investigate
        the problem from step 1.

    2.  Many people seem to use newsreaders that sort messages by
        their posting date, and not by the article number.  This leads
        to situations where replies will precede the article to which
        it is replying, sometimes grossly so (depending on how
        inaccurate the Date: headers were).  This is situation where I
        have been called upon to investigate, and then explain what is

By far, my time is my most precious resource.  Any reasonable and
prudent actions I can take that will reduce the amount of time I have
to spend diagnosing simplistic problems is a win for me.

> What do you do if someone is accessing the server remotely from a
> different timezone, for example?

I don't see why you consider this to be a special case.  Could you

> Do you also rewrite message-ID?

No.  I can see no benefit to doing so, and I'm sure if I did so,
sooner or later it would bite me.

On Sat, 8 Jul 2000, Sven Paulus wrote:

> Don't do that [rewrite the Date: header].  Think of the - nowadays
> common - case, where your customer runs an INN installation on his
> home system, using suck and rpost for pulling and reposting
> articles.

I appreciate your concern, but if anyone within our organization has
set up some scheme like this, I will strip naked and run down the
street holding a sign that says "OH MY GOD, SOMEONE ELSE IN OUR

Stated more serious, no one in our organization does this.  We are not
an ISP.  We are a small subset of an academic institution.  We have a
few hundred users, tops.  Our users read the "bboards" using Netscrape
Message Mangler or Outhouse Express.  I read our servers' news.daily
reports on a daily (ha!) basis; I have a fairly good idea what our
users are up to.

> You _will_ generate message loops [by rewriting the Date: header] as
> soon as anyone reposts old messages.

Absolutely true.  But no one within our organization is using a POST
feed, so the message loops will not happen.

> This [rewriting the headers of the submitter's article] is a feature
> of questionable value.  Rewriting headers runs the inherent danger
> of breaking something.  Do we really have to repeat the errors the
> BBS network folks made 10 years ago?

Believe it or not, I agree.  I thought long and hard before deciding
whether to rewrite the headers, specifically because of this
principle.  But in the end, I decided that the potential benefits
outweigh the risks.

On Mon, 10 Jul 2000, Bill Davidsen wrote:

> Obviously the rewrite should come after the date cutoff.

It can't.  Although nnrpd is what decides if an article is being
posted in the future, it's innd (not nnrpd) that decides whether an
article is too old.  Therefore, rewriting the Date: header in
filter_post must always precede the "too old" date cutoff check.

Although, now that I look at the code, I can't see any obvious reason
why nnrpd couldn't apply the "too old" cutoff check as well...

James Ralston, Information Technology
Software Engineering Institute
Carnegie Mellon University, Pittsburgh, PA, USA

More information about the inn-workers mailing list