diff src/dnsbl.cpp @ 185:505283ab296c stable-6-0-12

smtp rejections take precendence over greylisting
author carl
date Sat, 13 Oct 2007 17:42:30 -0700
parents 2b06183b9b25
children 2a80c9b5d2c9
line wrap: on
line diff
--- a/src/dnsbl.cpp	Sun Oct 07 09:21:50 2007 -0700
+++ b/src/dnsbl.cpp	Sat Oct 13 17:42:30 2007 -0700
@@ -1183,11 +1183,6 @@
 		int  bulk = 0;
 		if (priv.want_dccgrey || priv.want_dccbulk) priv.dccifd->mlfi_eom(grey, bulk);
 
-		if (priv.want_dccgrey && grey) {
-			smfi_setreply(ctx, "452", "4.2.1", "temporary greylist embargoed");
-			rc = SMFIS_TEMPFAIL;
-		}
-		else {
 			char buf[maxlen];
 			string msg;
 			string_set alive;
@@ -1227,7 +1222,11 @@
 				}
 			}
 			if (!rejecting) {
-				rc = SMFIS_CONTINUE;
+			if (priv.want_dccgrey && grey) {
+				smfi_setreply(ctx, "452", "4.2.1", "temporary greylist embargoed");
+				rc = SMFIS_TEMPFAIL;
+			}
+			else rc = SMFIS_CONTINUE;
 			}
 			else if (!priv.have_whites) {
 				// can reject the entire message
@@ -1244,7 +1243,6 @@
 				rc = SMFIS_CONTINUE;
 			}
 		}
-	}
 	// reset for a new message on the same connection
 	mlfi_abort(ctx);
 	return rc;