[Greylist-users] greylisting + IPv6

Robert Sander greylist at gurubert.de
Tue Oct 23 21:44:58 PDT 2007


I have been using the greylisting implementation for qmail from
http://shupp.org/ which is based on the implementation for exim from

I wanted to add IPv6 support and found no references on the web
regarding greylisting and IPv6 (at least no implementation
mentioning IPv6).

PostgreSQL was selected as the database backend because of its builtin
support for the inet data type and accompanying functions.

With PostgreSQL it was an easy task to rewrite local_scan.c to support
IPv6. At least with qmail as sender_host_address is set to the value of
$TCPREMOTEIP which is either an IPv4 or IPv6 address. I do not know exim
and if exim does it the same way.

Even IPv4 benefits from using the inet data type of PostgreSQL
because of its CIDR support. Manual white or black listing entries now
are not limited to the class based approach of the MySQL based
implementation any more.

See the http://gurubert.de/greylisting/ for my local_scan.c version and
the database definition for PostgreSQL.
The executable has to be linked against libpq and not libmysqlclient,
i.e. you need to adjust the Makefile accordingly.

convert_relaydelay.py is a python script converting the MySQL database
into the PostgreSQL version.

It works for me, YMMV.

Robert Sander                                 www.gurubert.de

More information about the Greylist-users mailing list