Applyfilter is the program to apply filter settings to your newsspool, particularly after changes that were not in effect at the time the articles were downloaded with fetchnews. Applyfilter is used if you want to remove postings from your spool matching a certain filter pattern (see FILES below). If the headers of an article match any of the filtering rules, the article is being deleted from the newsgroup.
Applyfilter sets its real and effective uid to "news".
A file specified in the filterfile option of /etc/news/leafnode/config contains the set of filtering rules that are applied to the newsspool. Each rule must be on a separate line. Empty lines and comments (marked by a # which MUST be at the beginning of the line) are allowed and will be ignored.
Each line contains a regular expression that will be compiled with the PCRE_MULTILINE option set (unless it is a comment line or an empty line). Every regular expression applied to the whole message header (folded message headers are unfolded before the match is attempted). If any regular expression matches the header, the posting gets removed. For example, the following set of rules will delete all crosspostings to alt.flame.
^Newsgroups: indicates that the pattern should only be applied to the Newsgroups: header. After the header, an arbitrary number of characters may follow, ending in either a comma or a space. After that, alt.flame must be in the line, either at the end of the line (first entry) or in the middle of the line, followed by other newsgroups (second entry).
Unfortunately, regular expressions are a complex matter and outside the scope of this document. Please see the manual pages provided with the PCRE library for details.
Note that some leafnode programs (such as fetchnews) feed the header line by line to the regexp (after unfolding), others (such as applyfilter) feed the whole header in one large blob. This does not usually matter because patterns are compiled in multiline mode, but will matter if you're trying to match multiple headers in the same regexp -- this would work with applyfilter, but not with fetchnews.
Leafnode was originally written by Arnt Gulbrandsen <email@example.com> and is copyright 1995-96 Troll Tech AS, Postboks 6133 Etterstad, 0602 Oslo, Norway, fax +47 22646949.