[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cypherpunks Goals: Bad debate drives out good debate
You have a good summary of what's going on. Personally I've
found it useful to create a filter for my cypherpunks mail to send
posts from people whom I respect more into a seperate folder such that
the signal-to-noise ratio in that folder is higher. When I have more
time I read the folder with the lower signal-to-noise ratio, but I
often do not have those resources.
I don't really have to deal with bad posts because I don't see
most of them unless I have some extra time on my hands... Others
interested in rational discussion and debate and actual-doing-things
might find this a useful technique.
Ditto. Actually I gateway c'punks straight into a local 'mail.cypherpunks'
group, with the hack script below (there might be an easier way, but I had
the code around anyway).
First, I created a user called 'cypher', then gave it this .forward:
suilven% cd ~cypher
suilven% cat .forward
"|mail2news mail.cypherpunks [email protected]"
Since I'm running the smrsh security wrappers, mail2news has to be in the
special smrsh directory, /usr/adm/sm.bin.
mail2news:
#!/usr/contrib/bin/taintperl
#
# mail2news - Incredibly simple program to take a mail message from
# stdin and insert it into a moderated newsgroup so you can
# read mailing list messages via news instead of mail.
#
# Usage: mail2news <newsgroup> <reply-gateway>
#
# Author: Stephen Hebditch <[email protected]>
#
# Operation:
# 1. Create a new local group (e.g. orbital.lists.uri) with moderated
# status to contain the local messages.
# 2. Make sure the newsgroup isn't going to propagate outside your
# system.
# 3. Modify mailpaths (C News) or moderators (INN) so that your local
# replies get sent back to the mailing list.
# 4. Use a mail filter program (such as comes with elm) to divert
# messages arriving from the list to this program instead.
#
# Add local config info here
# Make secure (from 'perl' man page)
$ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin';
$ENV{'IFS'} = '' if $ENV{'IFS'} ne '';
$path = $ENV{'PATH'}; # Not tainted
$domain = "suilven.an-teallach.com";
$rnews = "/bin/rnews";
$update = "/usr/local/bin/op updatetrn";
$user = "news"; # If badly installed, news will get the replies
$newsgroup = $ARGV[0];
if (!$newsgroup)
{
die ("No newsgroup name supplied\n");
}
$replyaddr = $ARGV[1];
if (!$replyaddr)
{
$replyaddr = $user;
}
$body = 0;
$kill = 0;
$subject = 0;
open (NEWS, "|$rnews") || die ("Can't run $rnews: $!\n");
print (NEWS "Newsgroups: $newsgroup\nPath: $domain!not-for-mail\n");
print (NEWS "Followup-To: poster\nReply-To: $replyaddr\n");
while (<STDIN>)
{
chop;
if (!$body)
{
if (/^Subject:\s+(.*)$/io)
{
if ($1 ne "")
{
$subject++;
print (NEWS "$_\n");
}
}
# Add here any headers you wish to kill
elsif (/^(Received|Return-Path|X400-Received|Newsgroups|Path|To|Reply-To):/io)
{
$kill++;
}
elsif (/^From\s.*$/io)
{
}
elsif ((/^\s.*$/io) && ($kill))
{
}
elsif ($_ eq "")
{
$body++;
if (!$subject)
{
print (NEWS "Subject: <no subject>\n")
}
print (NEWS "Approved: news@$domain\n\n");
}
else
{
$kill = 0;
print (NEWS "$_\n");
}
}
else
{
print (NEWS "$_\n");
}
}
close (NEWS);
system($update);
exit (0);