]> source.dussan.org Git - rspamd.git/commitdiff
* Forgotten header
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 7 Oct 2009 03:55:18 +0000 (07:55 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 7 Oct 2009 03:55:18 +0000 (07:55 +0400)
src/spf.h [new file with mode: 0644]

diff --git a/src/spf.h b/src/spf.h
new file mode 100644 (file)
index 0000000..6c98f85
--- /dev/null
+++ b/src/spf.h
@@ -0,0 +1,49 @@
+#ifndef RSPAMD_SPF_H
+#define RSPAMD_SPF_H
+
+#include "config.h"
+
+struct worker_task;
+struct spf_record;
+
+typedef void (*spf_cb_t)(struct spf_record *record, struct worker_task *task);
+
+typedef enum spf_mech_e {
+       SPF_FAIL,
+       SPF_SOFT_FAIL,
+       SPF_PASS,
+       SPF_NEUTRAL
+} spf_mech_t;
+
+typedef enum spf_action_e {
+       SPF_RESOLVE_MX,
+       SPF_RESOLVE_A,
+       SPF_RESOLVE_PTR,
+       SPF_RESOLVE_REDIRECT,
+       SPF_RESOLVE_INCLUDE,
+       SPF_RESOLVE_EXP
+} spf_action_t;
+
+struct spf_addr {
+       uint32_t addr;
+       uint32_t mask;
+       spf_mech_t mech;
+};
+
+struct spf_record {
+       char **elts;
+
+       char **cur_elt;
+       spf_action_t cur_action;
+
+       GList *addrs;
+       char *cur_domain;
+       struct worker_task *task;
+       spf_cb_t callback;
+};
+
+
+gboolean resolve_spf (struct worker_task *task, spf_cb_t callback);
+
+
+#endif