VRFY: advertise in EHLO response, if there is an ACL defined
authorJeremy Harris <jgh146exb@wizmail.org>
Thu, 19 Jan 2017 13:12:02 +0000 (13:12 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Thu, 19 Jan 2017 13:12:02 +0000 (13:12 +0000)
doc/doc-docbook/spec.xfpt
src/src/smtp_in.c
test/stderr/0371
test/stderr/3400
test/stdout/0371
test/stdout/3400
test/stdout/3500

index 8303848c8e3777b59c9aa1cb013bb7ebebae76d3..7d8b908f81a18c638d71408d9c85179518c65082 100644 (file)
@@ -25875,7 +25875,7 @@ running, the transport may get an IP for the name for its authentication
 check which does not match the connection peer IP.
 No authentication will then be done, despite the names being identical.
 
-For such cases use a separate transport which alwats authenticates.
+For such cases use a separate transport which always authenticates.
 .wen
 
 .cindex "AUTH" "on MAIL command"
index 890c7c5173cf5746094837744fa4011deff6c836..04cbbe4656b4b8c5215978c71d8f98213ee161f9 100644 (file)
@@ -3903,19 +3903,20 @@ while (done <= 0)
         dsn_advertised = TRUE;
         }
 
-      /* Advertise ETRN if there's an ACL checking whether a host is
-      permitted to issue it; a check is made when any host actually tries. */
+      /* Advertise ETRN/VRFY/EXPN if there's are ACL checking whether a host is
+      permitted to issue them; a check is made when any host actually tries. */
 
-      if (acl_smtp_etrn != NULL)
+      if (acl_smtp_etrn)
         {
         s = string_catn(s, &size, &ptr, smtp_code, 3);
         s = string_catn(s, &size, &ptr, US"-ETRN\r\n", 7);
         }
-
-      /* Advertise EXPN if there's an ACL checking whether a host is
-      permitted to issue it; a check is made when any host actually tries. */
-
-      if (acl_smtp_expn != NULL)
+      if (acl_smtp_vrfy)
+        {
+        s = string_catn(s, &size, &ptr, smtp_code, 3);
+        s = string_catn(s, &size, &ptr, US"-VRFY\r\n", 7);
+        }
+      if (acl_smtp_expn)
         {
         s = string_catn(s, &size, &ptr, smtp_code, 3);
         s = string_catn(s, &size, &ptr, US"-EXPN\r\n", 7);
index 1cdf00177a9306c8fb7091bb3b5c9317b446b3a5..c599887238c01d107eecf7aabf739a18d5658114 100644 (file)
@@ -41,6 +41,7 @@ host in chunking_advertise_hosts? no (end of list)
 SMTP>> 250-mail.test.ex Hello something [V4NET.0.0.0]
 250-SIZE 52428800
 250-8BITMIME
+250-VRFY
 250-PIPELINING
 250 HELP
 SMTP<< mail from:<x@y>
index 541d08d5a4f1e5049007cca2b1ec73da3e3ddccb..99e927c6bed801ba69ea061bd0a20db9151b7086 100644 (file)
@@ -445,6 +445,7 @@ SMTP>> 250-myhost.test.ex Hello CALLER at testing.testing [10.0.0.5]
 250-SIZE 52428800
 250-8BITMIME
 250-ETRN
+250-VRFY
 250-EXPN
 250-PIPELINING
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN
index 313432631f551e3e0163a9a656ed34b6cee42610..b9248dcf15f48f4e37b805d42a0223e5548acd0a 100644 (file)
@@ -7,6 +7,7 @@
 250-mail.test.ex Hello something [V4NET.0.0.0]\r
 250-SIZE 52428800\r
 250-8BITMIME\r
+250-VRFY\r
 250-PIPELINING\r
 250 HELP\r
 250 OK\r
index 67add4d54e26b7688910e064f97e0b761af0c90f..c57747bdae6a29141b3682704fc96325cac511ed 100644 (file)
@@ -20,6 +20,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
@@ -53,6 +54,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
@@ -69,6 +71,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250 HELP\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250 HELP\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH MYLOGIN PLAIN EXPLAIN EXPANDED EXPANDFAIL DEFER LOGIN\r
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250 HELP\r
index 634ac1ecd1500499195e21d6c3361bb2d76de6e3..326da7880d8bca2f531c08427b4f5a63dc335ab0 100644 (file)
@@ -3,6 +3,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH CRAM-MD5\r
@@ -19,6 +20,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH CRAM-MD5\r
@@ -36,6 +38,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250 HELP\r
@@ -50,6 +53,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH CRAM-MD5\r
@@ -74,6 +78,7 @@
 250-SIZE 52428800\r
 250-8BITMIME\r
 250-ETRN\r
+250-VRFY\r
 250-EXPN\r
 250-PIPELINING\r
 250-AUTH CRAM-MD5\r