summaryrefslogtreecommitdiffstats
path: root/src/lua
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-02-09 16:37:34 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-02-09 16:37:34 +0000
commitd821fa1eb3db12446ce83dd78d4563b0a5c75fd8 (patch)
tree0a54711780d4055e56df94fd691d3dd78deda28b /src/lua
parent715e1bd6a996cb608b4e740ff5d8e6ca876fa16c (diff)
downloadrspamd-d821fa1eb3db12446ce83dd78d4563b0a5c75fd8.tar.gz
rspamd-d821fa1eb3db12446ce83dd78d4563b0a5c75fd8.zip
[Feature] Store all received headers in lua
Diffstat (limited to 'src/lua')
-rw-r--r--src/lua/lua_task.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index c59ae33dc..d7fabd213 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -1548,15 +1548,19 @@ lua_task_get_received_headers (lua_State * L)
for (i = 0; i < task->received->len; i ++) {
rh = g_ptr_array_index (task->received, i);
+ lua_createtable (L, 0, 9);
+ rspamd_lua_table_set (L, "raw", rh->hdr->decoded);
+
if (G_UNLIKELY (rh->from_ip == NULL &&
rh->real_ip == NULL &&
rh->real_hostname == NULL &&
rh->by_hostname == NULL && rh->timestamp == 0 &&
rh->for_mbox == NULL)) {
+ lua_rawseti (L, -2, k ++);
+
continue;
}
- lua_createtable (L, 0, 8);
rspamd_lua_table_set (L, "from_hostname", rh->from_hostname);
rspamd_lua_table_set (L, "from_ip", rh->from_ip);
rspamd_lua_table_set (L, "real_hostname", rh->real_hostname);
@@ -1592,6 +1596,7 @@ lua_task_get_received_headers (lua_State * L)
proto = "unknown";
break;
}
+
lua_pushstring (L, proto);
lua_settable (L, -3);