[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SPF - silly bug



Matti,

while you are here, plase apply the patch for a stupid bug of my.

I must admit that my SPF support is problematic (works fine on Solaris,
sometimes gives wrong results on Linux, I suspect a problem with
libresolv), so I may come up with more changes once I figure it.

Anyway, this one is obvious:

Index: smtpserver/cfgread.c
===================================================================
RCS file: /cvsroot/zmailer/smtpserver/cfgread.c,v
retrieving revision 1.60
diff -u -r1.60 cfgread.c
--- smtpserver/cfgread.c	7 May 2004 00:26:16 -0000	1.60
+++ smtpserver/cfgread.c	8 Jul 2004 17:59:06 -0000
@@ -529,15 +529,15 @@
     /* Reject mail if SPF query result is equal or higher than threshold */
     else if (cistrcmp(name, "spf-threshold") == 0 && param1 /* 1 param */) {
       use_spf=1;
-      if (cistrcmp(param1, "fail")) {
+      if (cistrcmp(param1, "fail") == 0) {
 	spf_threshold=1;	/* relaxed - they say: fail but we accept */
-      } else if (cistrcmp(param1, "softfail")) {
+      } else if (cistrcmp(param1, "softfail") == 0) {
 	spf_threshold=2;	/* default - they don't assume real reject */
-      } else if (cistrcmp(param1, "none")) {
+      } else if (cistrcmp(param1, "none") == 0) {
 	spf_threshold=3;	/* stricter - but allow all who don't publish */
-      } else if (cistrcmp(param1, "neutral")) {
+      } else if (cistrcmp(param1, "neutral") == 0) {
 	spf_threshold=4;	/* draconian - SFP-less won't pass */
-      } else if (cistrcmp(param1, "pass")) {
+      } else if (cistrcmp(param1, "pass") == 0) {
 	spf_threshold=5;	/* extreme - allow only explicit 'pass' */
       } else {
 	type(NULL,0,NULL, "Cfgfile '%s' line %d param %s has bad arg: '%s'",

This is a digitally signed message part