[hashcash] Re: hashcash integration on MTA level for postfix

  • From: "Eric S. Johansson" <esj@xxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Wed, 16 Aug 2006 15:16:49 -0400

decoder wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello there,

I'm new to hashcash and noticed that there isn't much MTA support for
it. From my point of view, starting this at MUA level is pointless so
I wrote a content_filter for postfix which stamps all outgoing mails.
I've put a first (alpha) version online at

the camram pre-and post postfix filters including stamp generation and recognition has been running for at two or three years. The current working darcs archive (changing soon to bzr) can be found at:


http://harvee.org/camram/

all filters use the postfix SMTP model. The Demons use forking instead of threads (I was lazy). Outbound, I explode each message so there is one recipient per message which makes stamp generation easier. It allows me to stuff all the messages into a queue and then process them one step at a time. If processing fails, the message is picked up again on restart.

I will admit I have some problems with queue processing and I'm not recovering all messages properly.

Other items in the camram to do list:

o IMAP based authentication for user interface (in process)
o fix data collection and determination of whether or not an IP address is the source of spam
o improve split machine model (core filter on internal machine, front-end filter on the one or more boundary machines)
o speed up queuing
o fix queue recovery, failure detection, and presentation of queue state to administrators.
o SMTP Auth between camram filter box and any other mail server
o use transports file for target host lookup for destination address verification


future:

rework spam trap/attic/dumpster to play nice with crm114's new "we own the world" model or go find a new, self-contained content filter.

I'm probably going to fix up the IMAP and queuing model first for the next release. And I'll take care of the other things as time and tide allow.

Other related posts: