summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-28 10:48:12 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-28 10:48:12 +0000
commit230add97a967cd75726803028e8b509e243d71aa (patch)
treeff1983f603330de6e949d20f7b029dbc16eadf6b
parent3cc4d4ac947b8751509498b650bb024533986352 (diff)
downloadrspamd-230add97a967cd75726803028e8b509e243d71aa.tar.gz
rspamd-230add97a967cd75726803028e8b509e243d71aa.zip
Add no-ip flag for task structure.
-rw-r--r--src/libserver/protocol.c7
-rw-r--r--src/libserver/task.h3
2 files changed, 8 insertions, 2 deletions
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c
index 3c6dd41a9..b879db7ff 100644
--- a/src/libserver/protocol.c
+++ b/src/libserver/protocol.c
@@ -232,7 +232,7 @@ rspamd_protocol_handle_headers (struct rspamd_task *task,
struct rspamd_http_message *msg)
{
gchar *headern, *tmp;
- gboolean res = TRUE, validh, fl;
+ gboolean res = TRUE, validh, fl, has_ip = FALSE;
struct rspamd_http_header *h;
LL_FOREACH (msg->headers, h)
@@ -331,6 +331,7 @@ rspamd_protocol_handle_headers (struct rspamd_task *task,
return FALSE;
}
debug_task ("read IP header, value: %s", tmp);
+ has_ip = TRUE;
}
else {
debug_task ("wrong header: %s", headern);
@@ -413,6 +414,10 @@ rspamd_protocol_handle_headers (struct rspamd_task *task,
task->hostname = rspamd_mempool_strdup (task->task_pool, "unknown");
}
+ if (!has_ip) {
+ task->flags |= RSPAMD_TASK_FLAG_NO_IP;
+ }
+
return TRUE;
}
diff --git a/src/libserver/task.h b/src/libserver/task.h
index 21df26535..5cec573e7 100644
--- a/src/libserver/task.h
+++ b/src/libserver/task.h
@@ -59,6 +59,7 @@ enum rspamd_metric_action {
#define RSPAMD_TASK_FLAG_SPAMC (1 << 5)
#define RSPAMD_TASK_FLAG_PASS_ALL (1 << 6)
#define RSPAMD_TASK_FLAG_NO_LOG (1 << 7)
+#define RSPAMD_TASK_FLAG_NO_IP (1 << 8)
#define RSPAMD_TASK_IS_SKIPPED(task) (((task)->flags & RSPAMD_TASK_FLAG_SKIP))
#define RSPAMD_TASK_IS_JSON(task) (((task)->flags & RSPAMD_TASK_FLAG_JSON))
@@ -88,7 +89,7 @@ struct rspamd_task {
enum rspamd_command cmd; /**< command */
struct custom_command *custom_cmd; /**< custom command if any */
gint sock; /**< socket descriptor */
- gint flags;
+ guint flags;
gchar *helo; /**< helo header value */
gchar *queue_id; /**< queue id if specified */