Browse Source

[Fix] Fix opaque maps logic

tags/2.5
Vsevolod Stakhov 4 years ago
parent
commit
2623065a8f
2 changed files with 7 additions and 4 deletions
  1. 2
    1
      src/lua/lua_map.c
  2. 5
    3
      src/plugins/lua/phishing.lua

+ 2
- 1
src/lua/lua_map.c View File

else if (cbdata->data != NULL && cbdata->data->len != 0) { else if (cbdata->data != NULL && cbdata->data->len != 0) {
lua_rawgeti (cbdata->L, LUA_REGISTRYINDEX, cbdata->ref); lua_rawgeti (cbdata->L, LUA_REGISTRYINDEX, cbdata->ref);


if (cbdata->opaque) {
if (!cbdata->opaque) {
lua_pushlstring (cbdata->L, cbdata->data->str, cbdata->data->len); lua_pushlstring (cbdata->L, cbdata->data->str, cbdata->data->len);
} }
else { else {
struct rspamd_lua_text *t; struct rspamd_lua_text *t;


t = lua_newuserdata (cbdata->L, sizeof (*t)); t = lua_newuserdata (cbdata->L, sizeof (*t));
rspamd_lua_setclass (cbdata->L, "rspamd{text}", -1);
t->flags = 0; t->flags = 0;
t->len = cbdata->data->len; t->len = cbdata->data->len;
t->start = cbdata->data->str; t->start = cbdata->data->str;

+ 5
- 3
src/plugins/lua/phishing.lua View File

pool:destroy() pool:destroy()
end end


local function openphish_plain_cb(string)
local function openphish_plain_cb(s)
local nelts = 0 local nelts = 0
local new_data = {} local new_data = {}
local rspamd_mempool = require "rspamd_mempool" local rspamd_mempool = require "rspamd_mempool"
end end
end end


rspamd_str_split_fun(string, '\n', openphish_elt_parser)
rspamd_str_split_fun(s, '\n', openphish_elt_parser)


openphish_data = new_data openphish_data = new_data
rspamd_logger.infox(openphish_hash, "parsed %s elements from openphish feed", rspamd_logger.infox(openphish_hash, "parsed %s elements from openphish feed",
type = 'callback', type = 'callback',
url = openphish_map, url = openphish_map,
callback = openphish_plain_cb, callback = openphish_plain_cb,
description = 'Open phishing feed map (see https://www.openphish.com for details)'
description = 'Open phishing feed map (see https://www.openphish.com for details)',
opaque_data = true,
}) })
else else
openphish_hash = rspamd_config:add_map({ openphish_hash = rspamd_config:add_map({
type = 'callback', type = 'callback',
url = openphish_map, url = openphish_map,
callback = openphish_json_cb, callback = openphish_json_cb,
opaque_data = true,
description = 'Open phishing premium feed map (see https://www.openphish.com for details)' description = 'Open phishing premium feed map (see https://www.openphish.com for details)'
}) })
end end

Loading…
Cancel
Save