summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlittermann <hs+exim@schlittermann.de>2014-03-16 22:29:59 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2014-03-16 22:39:40 +0000
commit6681531ad79b73f4e811037481a0055ace41e46d (patch)
tree7e433a1963dab4f4cef8f1c3d3be52a45ce5a5cf
parent511a6c14924b5e931d67c4257ee7592dcc6ef49e (diff)
Enforce that only smtp transports can be used for verify callouts. Bug 1445
-rw-r--r--doc/doc-docbook/spec.xfpt1
-rw-r--r--src/src/verify.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 2b055c3e9..c412c1e16 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 39f546ed6..8cc67f1b1 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 =