On 2009-12-18 at 18:16 -0800, Phil Pennock wrote:
> On 2009-12-18 at 16:01 +0300, J Channel wrote:
> > How can I enable acl debug for one client? Is there something like
> > 'debug_peer_list' option in postfix?
>
> Not yet. Funnily enough, I was looking at this again last night, but
> worked on something else in Exim instead.
I've filed
http://bugs.exim.org/show_bug.cgi?id=937 and attached a patch
to it. The patch is relative to HEAD, should apply fairly cleanly to
4.71 or other recent Exim.
Main section:
acl_smtp_connect = acl_check_connect
After "begin acl":
acl acl_check_connect:
warn hosts = 192.0.2.3
control = debug
accept
This will trigger the creation of debuglog files in the normal Exim log
dir. If you want to embed the IP address in the filename, then you
might use "control = debug/tag=_$sender_host_address".
If the resulting filename is too long, you just get "debuglog" as a
fallback. If you support IPv6 and are running Exim on Windows, you
might want to be careful to keep colons out of the name -- I make no
effort to filter the characters of anything except a '/'.
If you want per-message debug logs, wait to enable "control = debug"
until you can use something like $message_exim_id or something near to
it.
Once debug logging is enabled, you can't change where it points to. So
you can't override to a more specific debug log.
Note that these logs only apply to reception and do not affect delivery.
There's not a way yet to trigger debugging in anything except an ACL but
I wrote the enabling routine to be agnostic, so we might add a generic
Router option and/or Transport option to trigger debugging later.
Regards,
-Phil