[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

use regexp re-writes like mix (Re: Straw poll on "From:" lines)



> Q1. To everybody operating an exit node is: would you be willing to run
> an exit node that worked this way?

Yes; I used to with mixmaster.

In fact I went beyond that and allowed:

From: Fred <fred@remailer.ch>

and did not exclude any display names "Fred", but did exclude certain
email names (root, postmaster, webmaster, adam).  I could do this as
the whole domain was for this purpose.  Some people have only
remailer@isp.com, so for them this wouldn't work.

In mix 2.9 or whatever you can control this with regexps.  (You get
regexps with string replace:

From mix.1:

       In addition, regular expressions can be substituted. Backreferences are
       supported. For example

        /^From: *([^@]*) <.*>/From: $1/
        /^From:.* \(([^@]*)/From: $1/
        /^From: *([^@]*).*$/From: $1 <nobody@remailer.domain>/

This seemed to me like the most elegant approach because people can do
what they want with the regexps.  Eg. to do what you described they
could do:

/^From: ([^"]*) <.*>/From: "[Foo-Anon] $1" <anon@foo.com>/
/^From: "(.*)" <.*>/From: "[Foo-Anon] $1" <anon@foo.com>/
/^From: \((.*)\) <.*>/From: "[Foo-Anon] $1" <anon@foo.com>/

(To cope with input strings of the three main display name syntaxes:

normal: Common Sense <cs@foo.com>
quoted: "Common Sense" <cs@foo.com>
usenet: (Common Sense) <cs@foo.com> 

respectively.)

In fact you can also allow email-names, which I did:

/^From: ([^"]*) <(.*@).*>/From: "[Foo-Anon] $1" <$2@foo.com>/
/^From: "(.*)" <(.*@).*>/From: "[Foo-Anon] $1" <$2@foo.com>/
/^From: \((.*)\) <(.*@).*>/From: "[Foo-Anon] $1" <$2@foo.com>/

or you could just allow free form From: pasting by removing the
default which removes From lines:

/^From:/

Adam