I am still having a few problems with the greylisting. It is working but
I am getting a lot of "Couldnt insert tripple" in my syslog.
Looking at the logic I can see the problem but at this time not sure the
best way to fix it.
tripple=RelayAddr/Sender/Recipients
now=current time=2006-10-03 15:02:38
timestamp=greylist time limit=current time - 5 minutes
1) First time e-mail is received, so it is inserted in database:
|RelayAddr/Sender/Recipients|messageID|2006-10-03 15:02:38|
2a) E-mail is delivered again in 4 minutes, so messageID is different
and timestamp is (5 minutes before):
SELECT DISTINCT tripple, sessionid FROM greylisting
WHERE tripple = "RelayAddr/Sender/Recipients"
AND timestamp <= "2006-10-03 15:01:38")
Which RETURNS no values, since time stored in database is greater than
this time.
2b) It does an insert which it will fail due to a clash of tripples.
I just wonder should the logic be altered so that the SELECT retrieves
tripples from the database and then the TIME is checked. I think this is
what you do on your postgres and BerkeleyDB versions.
Thanks
Andrew
_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID. You may ignore it.
Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list MIMEDefang@lists.roaringpenguin.com
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang