aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua/elastic.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/lua/elastic.lua')
-rw-r--r--src/plugins/lua/elastic.lua31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/plugins/lua/elastic.lua b/src/plugins/lua/elastic.lua
index 8d20720bc..b93186f9a 100644
--- a/src/plugins/lua/elastic.lua
+++ b/src/plugins/lua/elastic.lua
@@ -121,29 +121,26 @@ local function get_general_metadata(task)
local r = {}
local ip_addr = task:get_ip()
- r.webmail = false
-
if ip_addr and ip_addr:is_valid() then
r.is_local = ip_addr:is_local()
- local origin = task:get_header('X-Originating-IP')
- if origin then
- origin = string.sub(origin, 2, -2)
- local rspamd_ip = require "rspamd_ip"
- local test = rspamd_ip.from_string(origin)
-
- if test and test:is_valid() then
- r.webmail = true
- r.ip = origin
- else
- r.ip = tostring(ip_addr)
- end
- else
- r.ip = tostring(ip_addr)
- end
+ r.ip = tostring(ip_addr)
else
r.ip = '127.0.0.1'
end
+ r.webmail = false
+ r.sender_ip = 'unknown'
+ local origin = task:get_header('X-Originating-IP')
+ if origin then
+ origin = origin:gsub('%[', ''):gsub('%]', '')
+ local rspamd_ip = require "rspamd_ip"
+ local origin_ip = rspamd_ip.from_string(origin)
+ if origin_ip and origin_ip:is_valid() then
+ r.webmail = true
+ r.sender_ip = origin -- use string here
+ end
+ end
+
r.direction = "Inbound"
r.user = task:get_user() or 'unknown'
r.qid = task:get_queue_id() or 'unknown'