1

I currently have this line in my amavis user config file:

# BLACKLIST
read_hash(\%blacklist_sender, '/etc/amavis/blacklist');

It works fine with entries such as:

.baddomain.net
.spam-galore.net

But I'm wondering how to use regular expressions within this file. I tried the following:

qr(\.domain[0-9]\.net)
qr'\.domain[0-9]\.net'

And neither worked.

Seki
  • 383

1 Answers1

0

Addresses are converted from quoted form into internal (raw) form

As I read that
read_hash() does not cater for regular expressions.

There is a subroutine read_hash() available for use in amavisd.conf. It can read keys from a plain text file, and load them into a Perl hash. Format of the text file: one address per line, anything from '#' to the end of line is treated as a comment, but '#' within correctly quoted rfc2821 addresses is not treated as a comment (e.g. a hash sign within "strange # \"foo\" address"@example.com is valid). Leading and trailing whitespace is discarded, empty lines (containing only whitespace and comment) are ignored. Addresses are converted from quoted form into internal (raw) form and inserted as keys into a given hash, with a value of 1 (true). Each address can have an associated optional value (also known as the 'righthand side' or RHS) separated from the address by whitespace. An absence of a value implies 1 (true). The $hashref argument is returned for convenience, so that one can say for example: $per_recip_whitelist_sender_lookup_tables = { '.my1.example.com' => read_hash({},'/var/amavis/my1-example-com.wl'), '.my2.example.com' => read_hash({},'/var/amavis/my2-example-com.wl') }

Source: http://www.amavis.org/README.lookups.txt

I guess you could make changes to the code of read_hash() - it's perl.

Actually, that would probably be bad
instead clone it to a new name to avoid breaking anything.

tschodt
  • 23