Integrated SPF Best Guess. Fixes: bug #521
[exim.git] / src / src / spf.h
index 4338fd8e6bfd5745a880ac18161f4488a732e7bf..455fbbfd939c2da14a4c571f29c3f6c2652504a2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/spf.h,v 1.5 2005/06/24 08:36:48 tom Exp $ */
+/* $Cambridge: exim/src/src/spf.h,v 1.7 2008/02/12 12:52:51 nm4 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 #ifdef EXPERIMENTAL_SPF
 
 /* Yes, we do have ns_type. spf.h redefines it if we don't set this. Doh */
+#ifndef HAVE_NS_TYPE
 #define HAVE_NS_TYPE
+#endif
 #include <spf2/spf.h>
 
-
 #include <spf2/spf_dns_resolv.h>
 #include <spf2/spf_dns_cache.h>
 
-
 typedef struct spf_result_id {
   uschar *name;
   int    value;
 } spf_result_id;
 
-/* must be kept in numeric order */
-static spf_result_id spf_result_id_list[] = {
-  { US"invalid", 0},
-  { US"neutral", 1 },
-  { US"pass", 2 },
-  { US"fail", 3 },
-  { US"softfail", 4 },
-  { US"none", 5 },
-  { US"err_temp", 6 },
-  { US"err_perm", 7 }
-};
-
-static int spf_result_id_list_size = sizeof(spf_result_id_list)/sizeof(spf_result_id);
-
 /* prototypes */
 int spf_init(uschar *,uschar *);
-int spf_process(uschar **, uschar *);
+int spf_process(uschar **, uschar *, int);
+
+#define SPF_PROCESS_NORMAL  0
+#define SPF_PROCESS_GUESS   1
+#define SPF_PROCESS_FALLBACK    2
 
 #endif