From: Andrew Lewis Date: Mon, 18 Dec 2017 15:02:16 +0000 (+0200) Subject: [Fix] RBL: received: deal with missing data (#1965) X-Git-Tag: 1.7.0~332 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8b8bbde1fe15d4d4fe220e63f4dd0b48aafbfba7;p=rspamd.git [Fix] RBL: received: deal with missing data (#1965) --- diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua index 82c1fb975..a2ce4356c 100644 --- a/src/plugins/lua/rbl.lua +++ b/src/plugins/lua/rbl.lua @@ -93,6 +93,7 @@ local function gen_check_rcvd_conditions(rbl, received_total) local match_flags = rbl['received_flags'] local nmatch_flags = rbl['received_nflags'] local function basic_received_check(rh) + if not (rh['real_ip'] and rh['real_ip']:is_valid()) then return false end if ((rh['real_ip']:get_version() == 6 and rbl['ipv6']) or (rh['real_ip']:get_version() == 4 and rbl['ipv4'])) and ((rbl['exclude_private_ips'] and not rh['real_ip']:is_local()) or @@ -108,7 +109,7 @@ local function gen_check_rcvd_conditions(rbl, received_total) end return function(rh, pos) if not basic_received_check() then return false end - local got_flags = rh['flags'] + local got_flags = rh['flags'] or E if min_pos then if min_pos < 0 then if min_pos == -1 then