------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1445
Summary: segfaults when verify = recipient/callout without
configured smtp transport
Product: Exim
Version: 4.82
Platform: Other
OS/Version: Linux
Status: NEW
Severity: bug
Priority: medium
Component: General execution
AssignedTo: nigel@???
ReportedBy: hs+exim@???
CC: exim-dev@???
Created an attachment (id=692)
--> (
http://bugs.exim.org/attachment.cgi?id=692)
a possible fix, to be reviewed.
Hi,
if the router, which is selected for callout, is not configured with an
smtp transport, the callout verification leads to a segmentation fault.
This happens, because in verify.c the callout setup code blindly assumes that
the transport is an SMTP transport - and casts the transport block options
into an options block for SMTP.
This works as long as the transport options are really SMTP options.
Under under conditions it may have unexpected results.
To reproduce the bug use the following minimalistic configuration:
--
acl_smtp_rcpt = accept verify = recipient/callout
begin routers
foo:
driver = dnslookup
transport = bar
begin transports
bar:
driver = pipe
command = true
--
and
swaks --pipe 'exim -C minimal.conf -bhc 8.8.8.8' -f ... -t ...
(to exhibit the behaviour: the server connected for verification needs to
support ESMTP)
And, it's not sure that on all platforms the result is a segfault. Probably it
depends on the memory layout.
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email