aboutsummaryrefslogtreecommitdiffstats
path: root/src/greylist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/greylist.h')
-rw-r--r--src/greylist.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/greylist.h b/src/greylist.h
new file mode 100644
index 000000000..b17004c2e
--- /dev/null
+++ b/src/greylist.h
@@ -0,0 +1,47 @@
+#ifndef RSPAMD_GREYLIST_H
+#define RSPAMD_GREYLIST_H
+
+#include "config.h"
+
+#define CHECKSUM_SIZE 16
+/* 5 minutes */
+#define DEFAULT_GREYLIST_TIME 300
+/* 2 days */
+#define DEFAULT_EXPIRE_TIME 60 * 60 * 24 * 2
+
+/**
+ * Item in storage
+ */
+struct rspamd_grey_item {
+ time_t age; /**< age of checksum */
+ guint8 data[CHECKSUM_SIZE]; /**< checksum of triplet */
+};
+
+/**
+ * Protocol command that is used to work with greylist storage
+ */
+struct rspamd_grey_command {
+ enum {
+ GREY_CMD_ADD = 0,
+ GREY_CMD_CHECK,
+ GREY_CMD_DEL
+ } cmd;
+ gint version;
+ guint8 data[CHECKSUM_SIZE];
+};
+
+/**
+ * Reply packet
+ */
+struct rspamd_grey_reply {
+ enum {
+ GREY_OK = 0,
+ GREY_GREYLISTED,
+ GREY_EXPIRED,
+ GREY_NOT_FOUND,
+ GREY_ERR
+ } reply;
+};
+
+
+#endif