From: eneq123 Date: Wed, 7 May 2014 11:43:43 +0000 (+0400) Subject: DNSWL support (via RBL) added X-Git-Tag: 0.7.0~213^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ec0f7ee2a708df13863c938c1918a62c6f3ebb0;p=thirdparty%2Frspamd.git DNSWL support (via RBL) added --- diff --git a/conf/metrics.conf b/conf/metrics.conf index 088d6aaca5..520f05a748 100644 --- a/conf/metrics.conf +++ b/conf/metrics.conf @@ -322,6 +322,12 @@ metric { description = "One received header with 'bad' patterns inside"; name = "ONCE_RECEIVED_STRICT"; } + + symbol { name = "RCVD_IN_DNSWL"; weight = 0.0; description = "Sender listed at http://www.dnswl.org"; } + symbol { name = "RCVD_IN_DNSWL_LOW"; weight = -0.1; description = "Sender listed at http://www.dnswl.org, low trust"; } + symbol { name = "RCVD_IN_DNSWL_MED"; weight = -1.0; description = "Sender listed at http://www.dnswl.org, medium trust"; } + symbol { name = "RCVD_IN_DNSWL_HI"; weight = -5.0; description = "Sender listed at http://www.dnswl.org, high trust"; } + symbol { name = "RBL_SPAMHAUS"; weight = 0.0; description = "From address is listed in zen"; } symbol { name = "RBL_SPAMHAUS_SBL"; weight = 2.0; description = "From address is listed in zen sbl"; } symbol { name = "RBL_SPAMHAUS_CSS"; weight = 2.0; description = "From address is listed in zen css"; } diff --git a/conf/modules.conf b/conf/modules.conf index 4ad8fc88c3..0640def556 100644 --- a/conf/modules.conf +++ b/conf/modules.conf @@ -83,8 +83,7 @@ surbl { } } rbl { - - rbls { + rbls { spamhaus { symbol = "RBL_SPAMHAUS"; @@ -145,6 +144,21 @@ rbl { RBL_SEM = "127.0.0.2"; } } + + dnswl { + symbol = "RCVD_IN_DNSWL"; + rbl = "list.dnswl.org"; + ipv4 = true; + ipv6 = false; + received = false; + unknown = true; + returncodes { + RCVD_IN_DNSWL_LOW = "127.0.*.1"; + RCVD_IN_DNSWL_MED = "127.0.*.2"; + RCVD_IN_DNSWL_HI = "127.0.*.3"; + } + } + } } diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua index bf043e19e5..da52c0fba4 100644 --- a/src/plugins/lua/rbl.lua +++ b/src/plugins/lua/rbl.lua @@ -25,14 +25,14 @@ local function rbl_cb (task) local foundrc = false for s,i in pairs(thisrbl['returncodes']) do if type(i) == 'string' then - if i == ipstr then + if (string.find(ipstr, i)) then foundrc = true task:insert_result(s, 1) break end elseif type(i) == 'table' then for _,v in pairs(i) do - if v == ipstr then + if (string.find(ipstr, v)) then foundrc = true task:insert_result(s, 1) break