Greylist daemon

This is a complete rewrite of the greylisting service. It has now been running in a production environment for almost a year and seems very stable. It is very fast and easy on the mail system and therefore suitable for large mail relays of the ISP size type.

Main features of this new implementation of a greylisting daemon are

  • unique method of reverse client recognition suitable for ISPs
  • fast and safe
  • uses libdbi - MySQL, PostgreSQL, SQLite, SQLite3, Firebird/Interbase, mSQL supported
  • highly configurable — object oriented configuration
  • whitelisting by client network addresses, recipient and sender email address, client name, ...
  • pattern matching based whitelisting (regular expressions) for complex whitelisting needs
  • selectively pattern or table match senders/recipients/hosts/..
  • use as many databases and database types as you like
  • multithreaded tcp server (shared caches, high performance)
  • database compatibility with the old gps
  • written in C++, STL

The unique and preferred greylisting method reverse is now the default. Instead of using the IP address of the client it uses a significant part of the verified client name (usually supplied by postfix) to find known triplets. This mainly helps with ISPs using bigger mail relays in which case the client IP address of a sender might vary. As far as I know this is a unique feature not found in any other greylisting daemons.