summaryrefslogtreecommitdiff
path: root/src/src/verify.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/src/verify.c')
-rw-r--r--src/src/verify.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/src/verify.c b/src/src/verify.c
index 476276037..a73004028 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -1266,7 +1266,8 @@ can do it there for the non-rcpt-verify case. For this we keep an addresscount.
&& rcpt_count == 1
&& done
&& yield == OK
- && (options & (vopt_callout_recipsender|vopt_callout_recippmaster)) == vopt_callout_recipsender
+ && (options & (vopt_callout_recipsender|vopt_callout_recippmaster|vopt_success_on_redirect))
+ == vopt_callout_recipsender
&& !random_local_part
&& !pm_mailfrom
&& cutthrough.fd < 0
@@ -2266,6 +2267,12 @@ while (addr_new)
of $address_data to be that of the child */
vaddr->prop.address_data = addr->prop.address_data;
+
+ /* If stopped because more than one new address, cannot cutthrough */
+
+ if (addr_new && addr_new->next)
+ cancel_cutthrough_connection("multiple addresses from routing");
+
yield = OK;
goto out;
}