[PATCH 0/2] More criteria for storage.conf

Christoph Biedl isc.cxzo at manchmal.in-ulm.de
Tue Jan 16 19:00:00 UTC 2024


Hello,

These are two patches that enhance the criteria list for the storage
decision of an individual article.

The actual documentation is part of the patches, however I'd like to
provide some rationale here:


The "filtered" option arose from the problem I wanted to debug my Perl 
filter, and this requires access to filtered articles, so 
"dontrejectfiltered" was set to true. In times of big spam however, 
this affects retenition of all articles. Therefore this option, it 
allows filing such filtered articles differently, a small CNFS buffer 
or anything else with a rather tight expiration policy.

Please check, I'm not sure whether the additional parameter to ARTstore 
is really necessary.


The "path" option was motivated by a lot of spam from a particular 
site. While NoCeMs kill it after a few minutes, the area in a CNFS 
buffer is still allocated, and retenition suffers. By using this 
option, articles from a certain, spammy site can be stored separately 
so they will only harm each other.

About the path option, I actually switched to tradspool with 30 days 
expiration for that spammy site. That results in a few thousand 
articles only - and in the tradspool token weirdness reported 
earlier :)

This path is not shown in the cnfsstat output yet, I felt cnfsstat 
could use a rewrite in the output formatting. Still I could do a 
quick-and-dirty solution for the moment, just say the word.

Finally, I'm aware the root cause for implementing this will be gone in 
a few weeks. Still I'd like to have it in case something similar 
happens again.


The patches were developed against the 2.7.1 release, and in use for 
several weeks. For this submission, they were forward-ported. A build 
and the tests passed.

Christoph Biedl (2):
  storage: Add "filtered" option, to store based on the filter's
    decision
  storage: Add "path" option, to store based on the path the article
    went

 doc/pod/storage.conf.pod | 23 ++++++++++++++++++++
 frontends/cnfsstat.in    | 35 +++++++++++++++++++-----------
 include/inn/storage.h    |  3 +++
 innd/art.c               |  7 ++++--
 storage/interface.c      | 46 ++++++++++++++++++++++++++++++++++++++++
 storage/interface.h      |  6 ++++++
 6 files changed, 106 insertions(+), 14 deletions(-)

-- 
2.39.2


More information about the inn-workers mailing list