[hashcash] Re: Pure Python implementation of hashcash v.1
- From: "Eric S. Johansson" <esj@xxxxxxxxxx>
- To: hashcash@xxxxxxxxxxxxx
- Date: Fri, 24 Sep 2004 17:37:58 -0400
David Mertz, Ph.D. wrote:
On Sep 24, 2004, at 2:36 PM, Eric S. Johansson wrote:
I also check and write email on my Powerbook, with OSX and using
Mail.app. Anyone know if anyone has figured out how to interface
with Mail.app, it would certainly be nice to get hashcash integration
there.
well, you could take my hacks on smtpd.py and the postfix stamping
filter interface code and build yourself a stamping proxy. On the
other hand, I have been intending to create a version of Camram that
runs on client side machines and the mac is the most likely candidate.
Yeah, a proxy is a possibility. But it just seems so *fugly*! Adding a
X-Hashcash: header doesn't have anything to do with the
SMTP/IMAP/sendmail/whatever interface; it's just a text processing task
on an email message.
well, you've just described a whole 'nother mission from God. Fix all
MUA's to have a rational and consistent interface for processing
messages at different points in the handling.
it's more than just a simple "plug in the header" filter. You really
need to process things in background which means you have a queue and
retry logic and a delivery agent etc. etc.. Without these things, you
end up torturing the end-user, forcing them to wait for stamp generation
to complete.
Ideally, a mailer should just be able to post-process a message before
sending it (using all the network interface code already built into the
mailer. Many *nix mailer let you specify an arbitrary filter for
outgoing messages... but MacOSX isn't targeted this way, unfortunately
(I understand novices don't want to be confused by that, but a buried
preference wouldn't hurt them). Likewise, MUAs should be able to filter
using an arbitrary external utility.
like I said. Mission from God project. The really annoying thing is
that MUAs really aren't suited for this kind of filtering and that it is
only because of the filters we're talking about here is there any need.
Therefore, maybe a side project should be creating this kind of filter
interface in Thunderbird. If anyone has any contacts in Eudora land,
see if one could get them to put the same interface there.
FWIW, I will write a utility 'add_hashcash_stamps.py' that will simply
take an rfc2822 message on STDIN, and write one with added headers on
STDOUT. I reckon this utility will optionally use an external compiled
minter (e.g. hashcash.exe) for speed, but use my hashcash.py if one is
not available. Not sure the best way to configure the name/switches of
the external tool, but I'll decide on something.
simple modification to my hashcash module.
I guess while I'm at it, I might also do 'check_hashcash_stamp.py' that
takes an rfc2822. This is a little tricker in a way though. How do you
know whether a resource in an X-Hashcash: header is one you want to
accept? For example, I use many different email addresses within my
'gnosis.cx' domain (for various contacts). In principle, I might accept
a stamp with any of these resources, since I'll accept email to any of
the addresses. But there are actually infinitely many resources I might
accept inside a stamp (subject to it really having the right bits, date,
etc). Then again, I don't want to accept just any resource... for
example, what if a spammer CC:'s herself, and produces a valid stamp
only for her own email address?
solved that problem in Camram as well. I force the user to enumerate
all valid e-mail addresses and I iterate over the list of valid e-mail
addresses whenever I find a stamp in a message. Again, check the
hashcash module.
it would just take a simple wrapper to make them command line friendly.
---eric
- References:
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Mitch Denny
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Eric S. Johansson
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Eric S. Johansson
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.
Other related posts:
- » [hashcash] Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
- » [hashcash] Re: Pure Python implementation of hashcash v.1
On Sep 24, 2004, at 2:36 PM, Eric S. Johansson wrote:
I also check and write email on my Powerbook, with OSX and using Mail.app. Anyone know if anyone has figured out how to interface with Mail.app, it would certainly be nice to get hashcash integration there.
well, you could take my hacks on smtpd.py and the postfix stamping filter interface code and build yourself a stamping proxy. On the other hand, I have been intending to create a version of Camram that runs on client side machines and the mac is the most likely candidate.
Yeah, a proxy is a possibility. But it just seems so *fugly*! Adding a X-Hashcash: header doesn't have anything to do with the SMTP/IMAP/sendmail/whatever interface; it's just a text processing task on an email message.
simple modification to my hashcash module.
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Mitch Denny
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Eric S. Johansson
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: Eric S. Johansson
- [hashcash] Re: Pure Python implementation of hashcash v.1
- From: David Mertz, Ph.D.