#!/usr/local/bin/perl -- -*-perl-*- #
#
#
# Please note that this script has been made obsolete by a script
# named "taboo", writeen by Brent Chapman. Email him at
# Brent@GreatCircle.COM
#
#
#
#Basically, there's a finite list of sites he can use to bounce his msg
#off of, to remain totally anonymous.. This mails anything bounced off
#such a site to the admin first, and sends an empty pipe on to
#majordomo. At the moment, it does not tell the admin why this was
#bounced.
#
#
# Last change, 23 July 1995
#
# This is "olgawrap". If you put "| olgawrap |" in front of your
# usual majordomo .forward invocation, it will look for messages that
# have been "Received" by sites that are known not to trace SMTP
# connections. These sites are being abused by people to send
# untraceable messages to mailing lists.
#
# This program contains a list of such sites, appended to the end of
# it.
#
# THIS HAS NOT YET BEEN TESTED ON A RUNNING MAJORDOMO LIST.
# Caveat Executor. I don't know how majordomo will deal with
# being piped an empty message.
$Admin="owner-LIST@SITENAME"; # FILL THIS IN!
$sendmail="/usr/lib/sendmail";
$sendmailargs=""; # salt to taste.
$notInHeader=$notOK=0;
while () {
/^\s*$/ && last;
/^#/ && next;
chop;
tr/A-Z/a-z/;
$badsite{$_}=1;
}
while (<>) { # slurp in the message...
$msg.=$_;
($notInHeader) || ($header.=$_);
(/^\s*$/) && ($notInHeader++);
}
$*=1;
$header=~s/\n\s+/ /g; # Condense multi-lines in header.
$*=0;
foreach $_ (split (/\n/,$header)) {
/^Received.*by\s+(\S+)/i || next;
$by=$1;
$by=~tr/A-Z/a-z/;
($notOK+=($badsite{$by}==1));
}
if ($notOK) {
$*=1;
$msg=~s/\nFrom/\n>From/; # quote Froms so as not to confuse mailer.
$msg=~s/\nTo/\n>To/; # quote to's just in case.
open (P,"| $sendmail $sendmailargs $Admin"); # tell the admin...
print P $msg; # A more optimal way to notify the admin
close P; # would be to munge the original message
} else { # somehow, so that it bounced to the admin.
print $msg; # This msg is not notOK, so proceed.
}
__END__
# Comments start with pound signs, a blank line terminates data.
#
unccvm.uncc.edu
utepvm.ep.utexas.edu
vm.poly.edu
ucsfvm.ucsf.edu
kentvm.kent.edu
vm1.nodak.edu
utepvm.ep.utexas.edu
harvarda.harvard.edu
SDSUVM.SDSTATE.EDU