Apply filter settings to news spool
applyfilter [-v] ... newsgroup
Leafnode is a USENET package intended for small sites, where there are few users and little disk space, but where a large number of groups is desired.
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".
is the newsgroup you want to apply the filter to.
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.
LN_LOCK_TIMEOUT This variable is parsed as an unsigned integer value and determines how many seconds applyfilter will wait when trying to obtain the lock file from another leafnode program. 0 means to wait indefinitely. This variable takes precedence over the configuration file.