00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
#ifndef _MAIN_H
00047 #define _MAIN_H 1
00048
00049
#include <stdio.h>
00050
#include <stdlib.h>
00051
#include <string.h>
00052
#include <stdarg.h>
00053
00054
#include "spf.h"
00055
00056 __BEGIN_DECLS
00057
00058 #define FL_A 2
00059 #define FL_B 4
00060 #define FL_C 8
00061 #define FL_D 16
00062 #define FL_E 32
00063 #define FL_F 64
00064 #define FL_G 128
00065
00066
00067 #define SPF_RECURSE 20
00068
00069
00070 #define RES_PASS "domain of %s designates %s as permitted sender\r\n"
00071 #define RES_NONE "domain of %s does not designate permitted sender " \
00072
"hosts\r\n"
00073 #define RES_S_FAIL "transitioning domain of %s does not designate %s " \
00074
"as permitted sender\r\n"
00075 #define RES_H_FAIL "domain of %s does not designate %s as permitted " \
00076
"sender\r\n"
00077 #define RES_ERROR "encountered temporary error during SPF processing " \
00078
"of %s\r\n"
00079 #define RES_NEUTRAL "%s is neither permitted nor denied by domain of " \
00080
"%s\r\n"
00081 #define RES_UNKNOWN "error in processing during lookup of %s\r\n"
00082 #define RES_UNMECH "encountered unrecognized mechanism during SPF " \
00083
"processing of domain of %s\r\n"
00084
00085
00086 #define HDR_PASS "pass (%s: domain of %s designates " \
00087
"%s as permitted sender) receiver=%s; client_ip=%s; " \
00088
"envelope-from=%s;"
00089
00090 #define HDR_NONE "none (%s: domain of %s does not " \
00091
"designate permitted sender hosts)"
00092
00093 #define HDR_S_FAIL "softfail (%s: domain of " \
00094
"transitioning %s does not designate %s as " \
00095
"permitted sender) receiver=%s; client_ip=%s; " \
00096
"envelope-from=%s;"
00097
00098 #define HDR_H_FAIL "fail (%s: domain of %s does not " \
00099
"designate %s as permitted sender) receiver=%s; " \
00100
"client_ip=%s; envelope-from=%s;"
00101
00102 #define HDR_ERROR "error (%s: error in processing " \
00103
"during lookup of %s: %s)"
00104
00105 #define HDR_NEUTRAL "neutral (%s: domain of %s is " \
00106
"neutral about designating %s as permitted sender)"
00107
00108 #define HDR_UNKNOWN "unknown (%s: domain of %s " \
00109
"encountered an error while parsing (check SPF " \
00110
"record %s for errors))"
00111
00112 #define HDR_UNMECH "unknown -extension:%s (%s: domain of " \
00113
"%s uses a mechanism not recognized by this client)"
00114
00115
00116
void SPF_dbg_level(
int level);
00117
peer_info_t *
SPF_init(
const char *local,
const char *rip,
const char *expl,
00118
const char *tf,
const char *guess, u_int32_t use_trust,
00119 u_int32_t use_guess);
00120
peer_info_t *
SPF_close(
peer_info_t *peer_info);
00121
SPF_RESULT SPF_policy_main(
peer_info_t *peer_info);
00122
SPF_BOOL SPF_parse_policy(
peer_info_t *peer_info,
const char *policy);
00123
char *
SPF_result(
peer_info_t *peer_info);
00124
00125
SPF_BOOL SPF_smtp_from(
peer_info_t *peer_info,
const char *s);
00126
SPF_BOOL SPF_smtp_helo(
peer_info_t *peer_info,
const char *s);
00127
00128
char *
SPF_build_header(
peer_info_t *peer_info);
00129
char *
SPF_get_explain(
peer_info_t *peer_info);
00130
00131 __END_DECLS
00132
00133
#endif