]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix opaque maps logic
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 27 Feb 2020 15:33:04 +0000 (15:33 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 27 Feb 2020 15:33:04 +0000 (15:33 +0000)
src/lua/lua_map.c
src/plugins/lua/phishing.lua

index b279bacbda2bbca446359fa7debfca7188e779c9..a5defd011a4beda95e1213b98259ee2f1217fc02 100644 (file)
@@ -444,13 +444,14 @@ lua_map_fin (struct map_cb_data *data, void **target)
        else if (cbdata->data != NULL && cbdata->data->len != 0) {
                lua_rawgeti (cbdata->L, LUA_REGISTRYINDEX, cbdata->ref);
 
-               if (cbdata->opaque) {
+               if (!cbdata->opaque) {
                        lua_pushlstring (cbdata->L, cbdata->data->str, cbdata->data->len);
                }
                else {
                        struct rspamd_lua_text *t;
 
                        t = lua_newuserdata (cbdata->L, sizeof (*t));
+                       rspamd_lua_setclass (cbdata->L, "rspamd{text}", -1);
                        t->flags = 0;
                        t->len = cbdata->data->len;
                        t->start = cbdata->data->str;
index e07cd8858669fe8ef7dafadb44f71a8e80a7d5f0..89d69cb5ea0a4d17186a4c77ffcdc1e933672507 100644 (file)
@@ -423,7 +423,7 @@ local function openphish_json_cb(string)
   pool:destroy()
 end
 
-local function openphish_plain_cb(string)
+local function openphish_plain_cb(s)
   local nelts = 0
   local new_data = {}
   local rspamd_mempool = require "rspamd_mempool"
@@ -435,7 +435,7 @@ local function openphish_plain_cb(string)
     end
   end
 
-  rspamd_str_split_fun(string, '\n', openphish_elt_parser)
+  rspamd_str_split_fun(s, '\n', openphish_elt_parser)
 
   openphish_data = new_data
   rspamd_logger.infox(openphish_hash, "parsed %s elements from openphish feed",
@@ -492,13 +492,15 @@ if opts then
           type = 'callback',
           url = openphish_map,
           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
         openphish_hash = rspamd_config:add_map({
             type = 'callback',
             url = openphish_map,
             callback = openphish_json_cb,
+            opaque_data = true,
             description = 'Open phishing premium feed map (see https://www.openphish.com for details)'
           })
       end