Am Sonntag, den 21.05.2006, 20:19 +0100 schrieb Steve Brewin:
> Norman Maurer (JIRA) wrote:
> > 
> > Norman Maurer reassigned JAMES-472:
> > -----------------------------------
> > 
> >     Assign To: Norman Maurer
> > 
> > > Add Greylist support
> > > --------------------
> > >
> > >          Key: JAMES-472
> > >          URL: http://issues.apache.org/jira/browse/JAMES-472
> > >      Project: James
> > >         Type: New Feature
> > 
> > >     Reporter: Norman Maurer
> > >     Assignee: Norman Maurer
> > >      Fix For: 2.4.0
> > 
> > >
> > > Im working on a patch to add Greylisting support to james. 
> > It 90 % done. Im using a dir in which a new file is created 
> > with the a name that looks like "ipaddress-sender-rcpt". Then 
> > check for the modifytime to see if the "triplet" is valid and 
> > the email now get accepted. I did it that way cause there is 
> > no way to use sql in smtpserver at this time.
> > > Any problems which can caused by that ?
> > > If not i will post the patch soon after add junit tests
> 
> Why does this have to be in SMTPServer? These extra hits on the file system 
> will create a bottleneck for those not interested in greylist support. Isn't 
> this is Mailet level functionality? If there are things you can only pick up 
> during SMTP processing we should add them as MailAttributes for detection in 
> the Mailet chain.
> 
> Generally speaking its good to decouple the mail logic from the datastore to 
> provide deployment choices. Creating a new file in a FileStore does not scale 
> as well as creating a new row in a database table, also searching is less 
> performant. By making the store configurable at deployment time we can 
> accomodate both low and high volume users.
> 
> Cheers
> 
> -- Steve

In my current patch (which is allmost complete) i create an extra
handler which is called before the RCPTCmdHandler. So if someone want to
use it he must uncomment it ( like DNSRBLHandler). I use JDBC at the
moment. But i want to change it later to work with diffrent "Stores"
like UserRepository.

This feature must be placed in the SMTPHandlerChain, cause we must
return a 443 Temporary error on the first time a triplet was seen. I
don't think that this is possible via mailet (maybe im wrong). After a
"block time" ( 1hour by default, but is configurable) we will accept the
triplet and the mail is accepted. We then also set a autowhitelist for
this triplet of 36 days ( configurable). So no delay will be for this
triplet the next 36 days. If we seen the triplet again we "renew" the
autowhitelist.

This is the common way for greylisting. See:
http://projects.puremagic.com/greylisting/whitepaper.html

Anyway not all sysadmins like it, but its very effectiv at all.

bye
Norman

Ps: Hope thinks now a bit clearer.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to