Perl filter and availiable headers

Russ Allbery rra at
Sun Dec 11 20:13:18 UTC 2005

F Senault <fred.letter at> writes:

> I've recently discovered that some of the checks I made with the perl
> filters were useless since all the article headers aren't stored in
> %hdr.

> Seeing that, I poked around a bit in the code, and managed to do
> something quite simple : a $hdr{__HEAD__} which contains the headers...
> sort of.

> Since the article parser writes in-place, some of the end-of-lines are
> munged (\r\n becomes \0\n).  And I have the "takethis" part, too.

Yeah, this is the reason why I've not just done something like this
(particularly the nul problem).

The right solution is a rewrite of how filtering is handled in innd so
that it simply puts all the headers from the article into the filter
(optimization: only lift the headers that the filter specifically requests
to see in advance) the way that nnrpd does.  This would simultaneously
remove the requirement that all headers exposed to the filter be in INN's
header table list, which would fix the long-standing bug of INN imposing
uniqueness on headers that we really don't care about uniqueness for and
would also speed up header parsing in general.

This is on the long-term TODO list.  I just don't know when I'm going to
get to it, since I'm struggling to find enough time to do serious work on

Russ Allbery (rra at             <>

    Please send questions to the list rather than mailing me directly.
     <> explains why.

More information about the inn-workers mailing list