From 6681531ad79b73f4e811037481a0055ace41e46d Mon Sep 17 00:00:00 2001 From: Heiko Schlittermann Date: Sun, 16 Mar 2014 22:29:59 +0000 Subject: [PATCH] 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(+) 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 = -- 2.39.5