# HG changeset patch # User hs@schlittermann.de # Date 1436356536 -7200 # Node ID 4f955ca8e44f7b30c5bd44713d9a8a06d6a2784b # Parent fe95803ba72d2ab70b12792b64a785872c523f2a Fix: multiple pattern files diff -r fe95803ba72d -r 4f955ca8e44f CheckDisclaimer.pm --- a/CheckDisclaimer.pm Wed Jul 08 07:38:26 2015 +0200 +++ b/CheckDisclaimer.pm Wed Jul 08 13:55:36 2015 +0200 @@ -9,7 +9,12 @@ use base 'Exporter'; our @EXPORT = qw(check_disclaimer); our $Verbose = 0; + +my $OFFSET = -10240; + my $pattern; +my $last_pattern_file; + # Lets search for the disclaimer. # Usage: ${perl{check_disclaimer}{}} @@ -25,16 +30,17 @@ my $file = shift // Exim::expand_string( '$spool_directory/scan/$message_exim_id/$message_exim_id.eml'); - if (not defined $pattern) { + if (not defined $last_pattern_file or $last_pattern_file ne $pattern_file) { open(my $fh, $pattern_file) or die "Can't open $pattern_file: $!\n"; $_ = join '', <$fh>; $pattern = qr/$_/; + $last_pattern_file = $pattern_file; } open(my $fh, $file) or die "Can't open $file: $!\n"; - seek($fh, -1024, SEEK_END) - or die "Can't seek to -1024: $!\n" - if -s $fh > 1024; + seek($fh, $OFFSET, SEEK_END) + or die "Can't seek to $OFFSET: $!\n" + if -s $fh > -1 * $OFFSET; $_ = join '', <$fh>; diff -r fe95803ba72d -r 4f955ca8e44f README --- a/README Wed Jul 08 07:38:26 2015 +0200 +++ b/README Wed Jul 08 13:55:36 2015 +0200 @@ -1,4 +1,4 @@ For detailed information see the Exim/Plugin/CheckDisclaimer.pm file. You may run - perldoc Exim/Plugin/CheckDisclaimer.pm + perldoc CheckDisclaimer.pm