[svn:qpsmtpd] rev 459 - in trunk: . lib lib/Qpsmtpd

[email protected] 4 Jul 2005 14:39:29 -0000
Newsgroups perl.cvs.qpsmtpd
Message-ID <[email protected]>
Author: ask
Date: Mon Jul  4 07:39:29 2005
New Revision: 459

Modified:
   trunk/Changes
   trunk/lib/Qpsmtpd.pm
   trunk/lib/Qpsmtpd/SMTP.pm
Log:
bump version to 0.31-dev

	From: 	  [email protected]
	Subject: 	PATCH: Return 421 if we are going to disconnect
	Date: 	July 3, 2005 1:23:21 PM PDT
	To: 	  [email protected]

RFC 2821 says we should return 421, if we disconnect, not 450 or 451.

	hp



Modified: trunk/Changes
==============================================================================
--- trunk/Changes	(original)
+++ trunk/Changes	Mon Jul  4 07:39:29 2005
@@ -1,3 +1,9 @@
+0.31 -
+
+  when disconncting with a temporary failure, return 421 rather than
+  450 or 451. (Peter J. Holzer)
+
+
 0.30 - 2005/07/05
 
   Add plugable logging support include sample plugin which replicates

Modified: trunk/lib/Qpsmtpd.pm
==============================================================================
--- trunk/lib/Qpsmtpd.pm	(original)
+++ trunk/lib/Qpsmtpd.pm	Mon Jul  4 07:39:29 2005
@@ -5,7 +5,7 @@ use vars qw($VERSION $Logger $TraceLevel
 use Sys::Hostname;
 use Qpsmtpd::Constants;
 
-$VERSION = "0.30";
+$VERSION = "0.31-dev";
 
 sub version { $VERSION };
 

Modified: trunk/lib/Qpsmtpd/SMTP.pm
==============================================================================
--- trunk/lib/Qpsmtpd/SMTP.pm	(original)
+++ trunk/lib/Qpsmtpd/SMTP.pm	Mon Jul  4 07:39:29 2005
@@ -272,7 +272,7 @@ sub mail {
     elsif ($rc == DENYSOFT_DISCONNECT) {
       $msg ||= $from->format . ', temporarily denied';
       $self->log(LOGINFO, "denysoft mail from " . $from->format . " ($msg)");
-      $self->respond(450, $msg);
+      $self->respond(421, $msg);
       $self->disconnect;
     }
     else { # includes OK
@@ -316,7 +316,7 @@ sub rcpt {
   elsif ($rc == DENYSOFT_DISCONNECT) {
     $msg ||= 'relaying denied';
     $self->log(LOGINFO, "delivery denied ($msg)");
-    $self->respond(450, $msg);
+    $self->respond(421, $msg);
     $self->disconnect;
   }
   elsif ($rc == OK) {
@@ -413,7 +413,7 @@ sub data {
     return 1;
   }
   elsif ($rc == DENYSOFT_DISCONNECT) {
-    $self->respond(451, $msg || "Message denied temporarily");
+    $self->respond(421, $msg || "Message denied temporarily");
     $self->disconnect;
     return 1;
   }