Просмотр исходного кода

* Fix expanding spf macros that may fail in rare cases

tags/0.3.1
Vsevolod Stakhov 14 лет назад
Родитель
Сommit
8dc9f3bed8
2 измененных файлов: 4 добавлений и 2 удалений
  1. 1
    1
      src/plugins/lua/whitelist.lua
  2. 3
    1
      src/spf.c

+ 1
- 1
src/plugins/lua/whitelist.lua Просмотреть файл

@@ -50,7 +50,7 @@ if opts then
end
if symbol_from then
if opts['from_whitelist'] then
h = rspamd_config:add_host_map (opts['from_whitelist'])
h = rspamd_config:add_hash_map (opts['from_whitelist'])
else
-- No whitelist defined
symbol_from = nil

+ 3
- 1
src/spf.c Просмотреть файл

@@ -630,6 +630,7 @@ expand_spf_macro (struct worker_task *task, struct spf_record *rec, char *begin)
{
char *p, *c, *new, *tmp;
int len = 0, slen = 0, state = 0;
gboolean need_expand = FALSE;

p = begin;
/* Calculate length */
@@ -706,6 +707,7 @@ expand_spf_macro (struct worker_task *task, struct spf_record *rec, char *begin)
/* Read modifier */
if (*p == '}') {
state = 0;
need_expand = TRUE;
}
else if (*p != 'r' && !g_ascii_isdigit (*p)) {
msg_info ("unknown or unsupported spf modifier %c in %s", *p, begin);
@@ -717,7 +719,7 @@ expand_spf_macro (struct worker_task *task, struct spf_record *rec, char *begin)
}
}

if (slen == len) {
if (!need_expand) {
/* No expansion needed */
return begin;
}

Загрузка…
Отмена
Сохранить