summarylogtreecommitdiffstats
path: root/fixes-1.5.7.diff
diff options
context:
space:
mode:
Diffstat (limited to 'fixes-1.5.7.diff')
-rw-r--r--fixes-1.5.7.diff170
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,