Change spamd to use divert-to instead of rdr-to.
authorreyk <reyk@openbsd.org>
Mon, 18 May 2015 16:04:21 +0000 (16:04 +0000)
committerreyk <reyk@openbsd.org>
Mon, 18 May 2015 16:04:21 +0000 (16:04 +0000)
commit0f849a0c7750c78fae43b22e6fdc50f4867c3474
treee494f66213425fbcbc07d9f77cfd311998aab25d
parenta5651f3b2a94d2620a3f827be798d751f8d01de8
Change spamd to use divert-to instead of rdr-to.

divert-to has many advantages over rdr-to for proxies.  For example,
it is much easier to use, requires less code, does not depend on
/dev/pf, works in-band without the asynchronous lookup (DIOCNATLOOK
ioctl), saves us from additional port allocations by the rdr/NAT code,
and even avoids potential collisions and race conditions that could
theoretically happen with the lookup.

Heads up: users will have to update their spamd PF rules from rdr-to
to divert-to.  spamd now also listens to 127.0.0.1 instead of "any"
(0.0.0.0) by default which should be fine with most setups but has to
be considered for some special configurations.

Based on a diff is almost two years old but got delayed several times
... beck@: "now is the time to get it in" :)

Tested by many
With help from okan@
OK okan@ beck@ millert@
etc/examples/pf.conf
libexec/spamd/grey.c
libexec/spamd/sdl.c
libexec/spamd/spamd.8
libexec/spamd/spamd.c