190 lines
4.4 KiB
Perl
Executable File
190 lines
4.4 KiB
Perl
Executable File
#!/usr/bin/perl -w
|
|
|
|
my $tmpl = ' if (%%PATTERN%%) {
|
|
print "$lineno ${_}matches %%QPATTERN%%\n";
|
|
return;
|
|
}
|
|
';
|
|
my $stmt = "";
|
|
my $in_header = 1;
|
|
|
|
while (<DATA>) {
|
|
if (/^\$global_taboo_body =/) {
|
|
$in_header = 0;
|
|
}
|
|
next if (/^\043/ || /^\$/ || /^END$/ || /^\s*$/);
|
|
chomp;
|
|
my $p = $_;
|
|
if ($in_header) {
|
|
$p = '/^[-\w_]*:/ && ' . $p;
|
|
}
|
|
my $q = quotemeta($p);
|
|
my $stmt1 = $tmpl;
|
|
$stmt1 =~ s|%%PATTERN%%|$p|g;
|
|
$stmt1 =~ s|%%QPATTERN%%|$q|g;
|
|
$stmt .= $stmt1;
|
|
}
|
|
close DATA;
|
|
|
|
$stmt = 'sub check {
|
|
my ($line, $lineno) = @_;
|
|
' . $stmt . '
|
|
}
|
|
';
|
|
eval $stmt;
|
|
while (<>) {
|
|
check($_, $.);
|
|
}
|
|
|
|
my $how_to_update_this_script = <<'EOF' ;
|
|
( sed -e '/^__DATA__$/q' taboo.perl && \
|
|
wget -q -O - http://vger.kernel.org/majordomo-taboos.txt ) \
|
|
>taboo.perl+
|
|
if diff -u taboo.perl taboo.perl+; \
|
|
then \
|
|
rm -f taboo.perl+; \
|
|
echo >&2 No changes.; \
|
|
else \
|
|
mv taboo.perl+ taboo.perl; \
|
|
chmod +x taboo.perl; \
|
|
fi
|
|
EOF
|
|
|
|
__DATA__
|
|
#TABOO-START
|
|
#
|
|
# These are Majordomo's global majordomo.cf as used at
|
|
# vger.kernel.org. This is automated extract from running
|
|
# system configuration. THESE MIGHT NOT BE USEFULL IN ANY
|
|
# OTHER ENVIRONMENT, AND THIS EXTRACT IS SHOWN ONLY FOR
|
|
# YOU TO SEE, WHAT TRIGGERS BLOCKING AT VGER'S LISTS.
|
|
#
|
|
# taboo headers to catch
|
|
#
|
|
$global_taboo_headers = <<'END';
|
|
m/From:.*MAILER-DAEMON/i
|
|
m/^Mailing-List:/i
|
|
m/^list-/i
|
|
/^subject: ndn: /i
|
|
/^subject:\s*RCPT:/i
|
|
/^subject:\s*Delivery Confirmation\b/i
|
|
/^subject:\s*NON-DELIVERY of:/i
|
|
/^subject:.*Undeliverable Message\b/i
|
|
/^subject:.*Receipt Confirmation\b/i
|
|
/^subject:.*Failed mail\b/i
|
|
/^subject:.*Returned mail\b/i
|
|
/^subject:\s*unable to deliver mail\b/i
|
|
/^subject:\s.*\baway from my mail\b/i
|
|
/^subject:\s*Autoreply/i
|
|
/^subject:\s*Path Too Long fixer/i
|
|
/^subject:\s*Buy In-Stream preroll video/i
|
|
/#field0#/
|
|
m%content-type:.*text/html%i
|
|
/x-mailing-list:.*\@vger\.kernel\.org/i
|
|
# DATE: 25 Jun 01 3:08:39 AM
|
|
m/DATE:\s*..\s...\s..\s.*:..:..\s..\s*$/i
|
|
m/nntp-server.caltech.edu/
|
|
m/Mail Bomber/
|
|
m/X-Mailman-Version:/
|
|
m/X-EM-Registration:/
|
|
m/x-esmtp:/
|
|
m/Local time zone must be set/
|
|
m/X-Mailer:.*eMerge/i
|
|
m/X-Mailer:.Trade-Navigator/i
|
|
m/From:.*MAILER-DAEMON/i
|
|
m/X-Mailer:.*Group Mail/
|
|
m/^Status:/
|
|
m/^X-Status:/
|
|
m/X-Set:/
|
|
m/^X-Mailer:.*JiXing/
|
|
m/^X-Mailer:.*MailXSender/
|
|
m!Message-Id:.*<.*\@vger.kernel.org>!
|
|
m!Message-Id:.*<.*\@zeus.kernel.org>!
|
|
m/Subject:.*detected a virus /
|
|
m/Subject:.*Acai/
|
|
#m/Anti-Virus/i
|
|
m/Subject:.*[Vv]irus [Ff]ound/
|
|
m/Subject:.*[Vv]irus [Aa]lert/
|
|
m/^Subject:\s*Report to Sender/
|
|
m/^Subject:.*AntiVir ALARM/
|
|
m!^X-Library:\s*Indy!
|
|
m!Content-Type:\s*application/x-msdownload!
|
|
m!Conetnt-Type:\s*application/msword!
|
|
m!MiME-!
|
|
m!netdev-bounce\@oss\.sgi\.com!
|
|
m!Undeliverable:!
|
|
m!Syntax error in!
|
|
m!^Illegal-Object:!
|
|
m!Subject:.*paycheck!i
|
|
m!Subject:.*Urgent\s*Business\s*Request!i
|
|
m!Subject:.*Urgent\s*Business!i
|
|
m!Subject:.*Business\s*Request!i
|
|
m!Subject:.*tiffany\s*uk!i
|
|
m!Subject:.*pandra\s*charms!i
|
|
m!Subject:.*Mail delivery failure!
|
|
m!Subject.*\[SPAM\]!
|
|
m!Subject:.*Norton AntiVirus detected!
|
|
m!X-Spam-Flag:.*YES!
|
|
m!Subject:.*\sSARS\s!i
|
|
m!Subject:.*MMS Notification!
|
|
m!Subject:.*Rejected Mail!
|
|
m!Subject:.*Report to Recipient!
|
|
m!Subject:.*You sent potentially!
|
|
m!WAVA Postmaster!
|
|
m!^SUBJECT:!
|
|
m!Delivered-To:!
|
|
m!^From:\s*Majordomo!
|
|
m!Subject:\s+Out of Office AutoReply!
|
|
#m!Content-Type: multipart/alternative!
|
|
m!From:.*amavisd-new!
|
|
m!Subject:.*found.*virus!i
|
|
m!Subject:.*As Seen on CNN!i
|
|
m!Subject:.*Mail Delivery!
|
|
m!Subject:.*Essential.*Software.*On.*CD!i
|
|
m!ScanMail for Lotus Notes!
|
|
m!InternetBank Agreement!
|
|
m!X-WEBC-Mail-From-Script:!
|
|
m!X-Mailer: RLSP Mailer!
|
|
m!Subject: Rediff\'s Auto Response!
|
|
m!Email account utilization warning!
|
|
m!From:.*Lyris.List!
|
|
m!Listar command results!
|
|
m!EHLO vger.kernel.org!
|
|
m!HELO vger.kernel.org!
|
|
m!stk-sub!
|
|
m!owner-majordomo\@!
|
|
m!LOTTERY!i
|
|
m!SWEEPSTAKE!i
|
|
m!GSM wireless terminal from China!
|
|
m!http://vk.com/!
|
|
m!eyari\.com!i
|
|
END
|
|
|
|
# TABOO BODY
|
|
#
|
|
# Taboo body contents to catch and forward to the approval address
|
|
#
|
|
# For example:
|
|
# $global_taboo_body = <<'END';
|
|
# /taboo topic/i
|
|
# /another taboo/i
|
|
# END
|
|
# NOTE! Using ' instead of " in the next line is VERY IMPORTANT!!!
|
|
#
|
|
$global_taboo_body = <<'END';
|
|
m!MailEnable: You are not permitted to post to the list!o
|
|
m!^X-Mailing-List: !o
|
|
m!^List-ID: !o
|
|
m%Content-Type:.*text/html%io
|
|
m%Content-Type:.*multipart/alternative%io
|
|
#m/charset=.*windows-/io
|
|
m!Webmail Administrator!o
|
|
m!Re-type Password!o
|
|
m!FROM THE DESK OF!io
|
|
m!Your mailbox quota!io
|
|
m!Dear lucky winner!io
|
|
m!Welcome to our Newsletter!o
|
|
END
|
|
|
|
#TABOO-END
|