summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2015-01-24 18:48:48 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2015-01-24 18:48:48 +0000
commit7e8360e68b5372e91cc02d0450807a52f32d20da (patch)
treeb3976a7127f2f96a4f95cee1079d979edb30822d /src
parent6ebd79ec02c66e273975e48b481714768080790b (diff)
Support /defer_ok on verify=reverse_host_lookup. Bug 344
Diffstat (limited to 'src')
-rw-r--r--src/src/acl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/src/acl.c b/src/src/acl.c
index 06c1c494c..f0716e016 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -1662,7 +1662,7 @@ typedef struct {
unsigned alt_opt_sep; /* >0 Non-/ option separator (custom parser) */
} verify_type_t;
static verify_type_t verify_type_list[] = {
- { US"reverse_host_lookup", VERIFY_REV_HOST_LKUP, ~0, TRUE, 0 },
+ { US"reverse_host_lookup", VERIFY_REV_HOST_LKUP, ~0, FALSE, 0 },
{ US"certificate", VERIFY_CERT, ~0, TRUE, 0 },
{ US"helo", VERIFY_HELO, ~0, TRUE, 0 },
{ US"csa", VERIFY_CSA, ~0, FALSE, 0 },
@@ -1783,7 +1783,11 @@ switch(vp->value)
{
case VERIFY_REV_HOST_LKUP:
if (sender_host_address == NULL) return OK;
- return acl_verify_reverse(user_msgptr, log_msgptr);
+ if ((rc = acl_verify_reverse(user_msgptr, log_msgptr)) == DEFER)
+ while ((ss = string_nextinlist(&list, &sep, big_buffer, big_buffer_size)))
+ if (strcmpic(ss, US"defer_ok") == 0)
+ return OK;
+ return rc;
case VERIFY_CERT:
/* TLS certificate verification is done at STARTTLS time; here we just