[exim-dev] [Bug 1445] segfaults when verify = recipient/call…

Top Page
Delete this message
Reply to this message
Author: Git Commit
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1445] segfaults when verify = recipient/callout without configured smtp transport
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1445

Git Commit <git@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |git@???





--- Comment #3 from Git Commit <git@???> 2014-03-16 23:17:16 ---
Git commit:
http://git.exim.org/exim.git/commitdiff/6681531ad79b73f4e811037481a0055ace41e46d

commit 6681531ad79b73f4e811037481a0055ace41e46d
Author:     Heiko Schlittermann <hs+exim@???>
AuthorDate: Sun Mar 16 22:29:59 2014 +0000
Commit:     Jeremy Harris <jgh146exb@???>
CommitDate: Sun Mar 16 22:39:40 2014 +0000


    Enforce that only smtp transports can be used for verify callouts.  Bug
1445
---
 doc/doc-docbook/spec.xfpt |    1 +
 src/src/verify.c          |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)


diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 2b055c3..c412c1e 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -29039,6 +29039,7 @@ router that does not set up hosts routes to an &(smtp)&
transport with a
&%hosts%& setting, the transport's hosts are used. If an &(smtp)& transport
has
&%hosts_override%& set, its hosts are always used, whether or not the router
supplies a host list.
+Callouts are only supported on &(smtp)& transports.

 The port that is used is taken from the transport, if it is specified and is a
 remote transport. (For routers that do verification only, no transport need be
diff --git a/src/src/verify.c b/src/src/verify.c
index 39f546e..8cc67f1 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -373,6 +373,9 @@ if (!addr->transport)
   {
   HDEBUG(D_verify) debug_printf("cannot callout via null transport\n");
   }
+else if (Ustrcmp(addr->transport->driver_name, "smtp") != 0)
+  log_write(0, LOG_MAIN|LOG_PANIC|LOG_CONFIG_FOR, "callout transport '%s': %s
is non-smtp",
+    addr->transport->name, addr->transport->driver_name);
 else
   {
   smtp_transport_options_block *ob =



--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email