diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | fixes-1.5.7.diff | 76 |
3 files changed, 80 insertions, 6 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Tue May 9 08:42:38 UTC 2017 +# Thu May 11 19:59:40 UTC 2017 pkgbase = rspamd pkgdesc = Fast, free and open-source spam filtering system. pkgver = 1.5.7 - pkgrel = 2 + pkgrel = 3 url = https://rspamd.com install = rspamd.install arch = x86_64 @@ -90,7 +90,7 @@ pkgbase = rspamd sha256sums = 73d18b129a072e35c74c9a440abdd0985fa15696d308a5e23736ec007432fd70 sha256sums = f89edae5436a3c14e58210fb5c1d5bdd2f8a6f98c03dbc150ea9ff1a3fcfe441 sha256sums = 59646874a5036f3f26cac2898a2f60713fe6147b3c60ee964494f07b6acc313f - sha256sums = 3bc8d5668cd1a28f53055ca7d46becb0e0e3121b95b4b9c6bea24e884ce7a310 + sha256sums = 0a85965f7d168d84d62e8cca74c4b5e54ef51c1096550057b1f40a32d3568b29 pkgname = rspamd @@ -2,7 +2,7 @@ # Former maintainer: Andrew Lewis <nerf@judo.za.org> pkgname=rspamd pkgver=1.5.7 -pkgrel=2 +pkgrel=3 epoch= pkgdesc="Fast, free and open-source spam filtering system." arch=('x86_64' 'i686' 'mips64el') @@ -85,7 +85,7 @@ source=("${pkgname}-${pkgver}.tar.gz::https://github.com/vstakhov/${pkgname}/arc sha256sums=('73d18b129a072e35c74c9a440abdd0985fa15696d308a5e23736ec007432fd70' 'f89edae5436a3c14e58210fb5c1d5bdd2f8a6f98c03dbc150ea9ff1a3fcfe441' '59646874a5036f3f26cac2898a2f60713fe6147b3c60ee964494f07b6acc313f' - '3bc8d5668cd1a28f53055ca7d46becb0e0e3121b95b4b9c6bea24e884ce7a310') + '0a85965f7d168d84d62e8cca74c4b5e54ef51c1096550057b1f40a32d3568b29') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/fixes-1.5.7.diff b/fixes-1.5.7.diff index 3ddbcd14da88..66bad97d4f9a 100644 --- a/fixes-1.5.7.diff +++ b/fixes-1.5.7.diff @@ -1,3 +1,16 @@ +diff --git a/conf/modules.d/dkim_signing.conf b/conf/modules.d/dkim_signing.conf +index c38b3e16..d032c944 100644 +--- a/conf/modules.d/dkim_signing.conf ++++ b/conf/modules.d/dkim_signing.conf +@@ -53,7 +53,7 @@ dkim_signing { + # Whether to get keys from Redis + use_redis = false; + # Hash for DKIM keys in Redis +- hash_key = "DKIM_KEYS"; ++ key_prefix = "DKIM_KEYS"; + + # Domain specific settings + #domain { diff --git a/src/libutil/map.c b/src/libutil/map.c index 57c84e37..e67e0f6f 100644 --- a/src/libutil/map.c @@ -81,8 +94,46 @@ index 2240ac53..dbf88e54 100644 return NULL; } +diff --git a/src/plugins/lua/antivirus.lua b/src/plugins/lua/antivirus.lua +index e83308b4..746d5e1c 100644 +--- a/src/plugins/lua/antivirus.lua ++++ b/src/plugins/lua/antivirus.lua +@@ -33,10 +33,6 @@ local function match_patterns(default_sym, found, patterns) + return default_sym + end + +-local function trim(s) +- return s:match "^%s*(.-)%s*$" +-end +- + local function yield_result(task, rule, vname) + local all_whitelisted = true + if type(vname) == 'string' then +@@ -585,15 +581,14 @@ local function savapi_check(task, rule) + + -- Non-terminal response + elseif string.find(result, '310') then +- -- Recursive result +- local virus_obj = rspamd_str_split(result, ' object ') + local virus +- if virus_obj and virus_obj[2] then +- virus = rspamd_str_split(virus_obj[2], '<<<') +- virus = trim(virus[#virus]) +- virus = rspamd_str_split(virus, ' ; ')[1] +- else +- virus = trim(rspamd_str_split(result, ' ; ')[1]) ++ virus = result:match "310.*<<<%s(.*)%s+;.*;.*" ++ if not virus then ++ virus = result:match "310%s(.*)%s+;.*;.*" ++ if not virus then ++ rspamd_logger.errx(task, "%s: virus result unparseable: %s", rule['type'], result) ++ return ++ end + end + -- Store unique virus names + vnames[virus] = 1 diff --git a/src/plugins/lua/dkim_signing.lua b/src/plugins/lua/dkim_signing.lua -index 4843146a..974f2278 100644 +index 4843146a..4ae0f267 100644 --- a/src/plugins/lua/dkim_signing.lua +++ b/src/plugins/lua/dkim_signing.lua @@ -79,7 +79,7 @@ local function dkim_signing_cb(task) @@ -94,3 +145,26 @@ index 4843146a..974f2278 100644 rspamd_logger.debugm(N, task, 'multiple header from not allowed') return false end +@@ -203,7 +203,7 @@ local function dkim_signing_cb(task) + local ret = rspamd_redis_make_request(task, + redis_params, -- connect params + rk, -- hash key +- true, -- is write ++ false, -- is write + redis_key_cb, --callback + 'HGET', -- command + {settings.key_prefix, rk} -- arguments +diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua +index c8591988..f5f5edac 100644 +--- a/src/plugins/lua/multimap.lua ++++ b/src/plugins/lua/multimap.lua +@@ -369,7 +369,8 @@ local function multimap_callback(task, rule) + ret = r['cdb']:lookup(srch) + elseif r['redis_key'] then + local srch = value +- if r['type'] == 'ip' then ++ if r['type'] == 'ip' or (r['type'] == 'received' and ++ (r['filter'] == 'real_ip' or r['filter'] == 'from_ip' or not r['filter'])) then + srch = value:to_string() + end + ret = rspamd_redis_make_request(task, |