diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-02-09 16:37:34 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-02-09 16:37:34 +0000 |
commit | d821fa1eb3db12446ce83dd78d4563b0a5c75fd8 (patch) | |
tree | 0a54711780d4055e56df94fd691d3dd78deda28b /src/lua | |
parent | 715e1bd6a996cb608b4e740ff5d8e6ca876fa16c (diff) | |
download | rspamd-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.c | 7 |
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); |