diff options
Diffstat (limited to 'fixes-1.5.7.diff')
-rw-r--r-- | fixes-1.5.7.diff | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/fixes-1.5.7.diff b/fixes-1.5.7.diff deleted file mode 100644 index 66bad97d4f9a..000000000000 --- a/fixes-1.5.7.diff +++ /dev/null @@ -1,170 +0,0 @@ -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 -+++ b/src/libutil/map.c -@@ -717,6 +717,7 @@ rspamd_map_periodic_dtor (struct map_periodic_cbdata *periodic) - - map = periodic->map; - msg_debug_map ("periodic dtor %p", periodic); -+ event_del (&periodic->ev); - - if (periodic->need_modify) { - /* We are done */ -@@ -770,20 +771,20 @@ rspamd_map_schedule_periodic (struct rspamd_map *map, - REF_INIT_RETAIN (cbd, rspamd_map_periodic_dtor); - - if (initial) { -- evtimer_set (&map->ev, rspamd_map_periodic_callback, cbd); -- event_base_set (map->ev_base, &map->ev); -+ evtimer_set (&cbd->ev, rspamd_map_periodic_callback, cbd); -+ event_base_set (map->ev_base, &cbd->ev); - } - else { -- evtimer_del (&map->ev); -- evtimer_set (&map->ev, rspamd_map_periodic_callback, cbd); -- event_base_set (map->ev_base, &map->ev); -+ evtimer_set (&cbd->ev, rspamd_map_periodic_callback, cbd); -+ event_base_set (map->ev_base, &cbd->ev); - } - - jittered_sec = rspamd_time_jitter (timeout, 0); -- msg_debug_map ("schedule new periodic event %p in %.2f seconds", cbd, jittered_sec); -+ msg_debug_map ("schedule new periodic event %p in %.2f seconds", -+ cbd, jittered_sec); - double_to_tv (jittered_sec, &map->tv); - -- evtimer_add (&map->ev, &map->tv); -+ evtimer_add (&cbd->ev, &map->tv); - } - - static void -@@ -2290,7 +2291,7 @@ rspamd_re_map_insert_helper (gpointer st, gconstpointer key, gconstpointer value - } - #else - if (pcre_flags & PCRE_FLAG(UTF)) { -- re_map->map_flags |= RSPAMD_REGEXP_FLAG_UTF; -+ re_map->has_utf = TRUE; - } - #endif - -diff --git a/src/libutil/map_private.h b/src/libutil/map_private.h -index 9e24695b..4f00c3db 100644 ---- a/src/libutil/map_private.h -+++ b/src/libutil/map_private.h -@@ -79,7 +79,6 @@ struct rspamd_map { - gchar *description; - gchar *name; - guint32 id; -- struct event ev; - struct timeval tv; - gdouble poll_timeout; - /* Shared lock for temporary disabling of map reading (e.g. when this map is written by UI) */ -@@ -123,6 +122,7 @@ enum rspamd_map_http_stage { - struct map_periodic_cbdata { - struct rspamd_map *map; - struct map_cb_data cbdata; -+ struct event ev; - gboolean need_modify; - gboolean errored; - guint cur_backend; -diff --git a/src/plugins/fuzzy_check.c b/src/plugins/fuzzy_check.c -index 2240ac53..dbf88e54 100644 ---- a/src/plugins/fuzzy_check.c -+++ b/src/plugins/fuzzy_check.c -@@ -2396,7 +2396,8 @@ fuzzy_generate_commands (struct rspamd_task *task, struct fuzzy_rule *rule, - #endif - end: - if (res->len == 0) { -- g_ptr_array_free (res, FALSE); -+ g_ptr_array_free (res, TRUE); -+ - 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..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) - return false - end - local hfrom = task:get_from('mime') -- if not settings.allow_hdrfrom_multiple and hfrom[2] then -+ if not settings.allow_hdrfrom_multiple and (hfrom or E)[2] then - 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, |