1993-09-21 - MAIL: anonymous, positive reputations

Header Data

From: Karl Lui Barrus <klbarrus@owlnet.rice.edu>
To: cypherpunks@toad.com
Message Hash: 44c83928fe4a05546c26c7f52e6ca2b9dd70c6a184b3ece39d704da61fbb42dc
Message ID: <9309211918.AA17309@flammulated.owlnet.rice.edu>
Reply To: N/A
UTC Datetime: 1993-09-21 19:21:33 UTC
Raw Date: Tue, 21 Sep 93 12:21:33 PDT

Raw message

From: Karl Lui Barrus <klbarrus@owlnet.rice.edu>
Date: Tue, 21 Sep 93 12:21:33 PDT
To: cypherpunks@toad.com
Subject: MAIL: anonymous, positive reputations
Message-ID: <9309211918.AA17309@flammulated.owlnet.rice.edu>
MIME-Version: 1.0
Content-Type: text/plain


-----BEGIN PGP SIGNED MESSAGE-----

Earlier, Graham mentioned some concerns about anonymous mail;
specifically it isn't easy to respond to the author, most messages are
off topic, etc.  (hopefully not referring to my posts sent through
remailers :-) on topics like the cypherpunks gopher and caching
remailers...)

And some people are asking about marking anonymous mail (gopher plug:
check the article "Why Mark Anonymous Mail?" at the gopher site in the
"Anonymous Mail" section, contributed by Hal Finney sometime ago).

Currently, I sign my posts sent through anonymous remailer, sometimes
including my address at the bottom of the post itself.  I know others
do this as well - Hal Finney, probably others I can't think of.

I am working on (and off as time constraints crop up) a positive
reputation scheme for anonymous mail.  My stab at this is somewhat
modest: a program that sifts through elm mail folders (similar to the
elm frm command) and produces a formatted list containing message
number, email address of author (frm sometimes reports name and I like
email addresses instead), and subject.  

BUT, instead of printing email address, if the message is pgp signed,
report the signature instead.  Under this program, the fact that an
anonymous remailer was used is somewhat transparent since you would
see who signed the document sent through a remailer.  This would allow
somebody to build up a positive reputation attached to a pgp signature
(which could be fairly anonymous) and possibly help guide anonymous
mail kill file users.

Naturally, it would be best if it were easy to respond to an anonymous
mail, if this were incorporated into mail programs, etc. but I have
two problems: time constraints, and disk quota (I can't lay out the
source code for elm, pgp, whatever else).

I'm to the point where the script I include below does what I want
expect check for digital signatures on letters.  Since there isn't a
pgp library (yet), the next step will be difficult since I'd rather
not pipe the message through pgp just to get the signature, although
for testing I'll implement something in the next few weeks.

Here is the script: if anybody has input, speak up!  I named it scan
after the mh command it is a poor imitation of.

Usage: 'scan foldername returns a formatted list of mail in the folder
"foldername"
Ug, I see an improvement I will make tonight: using getenv() to get my
home directory instead of plugging it in directly:

- ----------8< cut here >8----------
#!/usr/local/bin/perl
#report email address and subject of messages in an elm folder
#frm sometimes reports name and not email address - not that I
#  guarantee this works in all cases
#simple version of mh scan command
#Karl L. Barrus <klbarrus@owlnet.rice.edu>

chdir "/home/klbarrus/Mail" || die "Can't cd to ~/Mail\n";

while (@ARGV) {
  $file = shift @ARGV;

  if (-T $file) {
    if (-z $file) { #zero length folders with no messages
      print "Folder $file has no messages\n";
    }
    elsif (!open(FOLDER, "/home/klbarrus/Mail/$file")) {
      print STDERR "Can't open $file\n";
    }
    else {
      $state = 1;          #Look for a new message
      $num = 0;

      while (<FOLDER>) {
        if (/^From[^:]/) { #Delimits a new message
          $num++;          
          $from = "";
          $subject = "";
          $state = 2;      #Look for From: and Subject:
        }
        if ($state == 2) { #Already found a message; looking for headers

          /^Subject: (.*)/ && ($subject = $1);    #match subject
          /^From: (.+)/ && ($from = $1);          #match "From: add"
          /^From: (.+) <(.+)>/ && ($from = $2);   #match "From: name <add>"
          /^From: (.+) \((.+)\)/ && ($from = $1); #match "From: add (name)"

          if ($from ne "" && $subject ne "") { #found both headers
            $state = 1; #go back to looking for message delimiter
            write;
          }
        }
      }
    }
  }
  elsif (-d $file) {
    print STDERR "$file is a directory\n";
  }
}

exit;

format STDOUT_TOP =





Thread