[Rspamd-Users] Rspamd 2.1 has been released

Aste aste at sveiks.lv
Mon Nov 4 12:36:17 UTC 2019


Hi!

Monday, November 4, 2019, 2:27:17 PM, you wrote:
VS> On 04/11/2019 12:25, Aste wrote:
>> Hi!
>> 
>> Monday, November 4, 2019, 2:10:56 PM, you wrote:
>> VS> On 04/11/2019 11:55, Aste wrote:
>>>> Hi!
>>>>
>>>> Monday, October 28, 2019, 7:36:28 PM, you wrote:
>>>> VS> We have released Rspamd 2.1 today.
>>>>
>>>> VS> This release contains some new features and many bug fixes. There are no
>>>> VS> incompatible changes introduced with this release to our best knowledge.
>>>>
>>>> Lua SMTP module  (lualib/lua_smtp.lua) is broken, probably from 2.0 already
>>>>
>>>> In postfix logs: lost connection after DATA (0 bytes) from localhost[127.0.0.1]
>>>> im rspamd logs (rspamd_proxy) lua_tcp_push_data: callback call failed: /usr/share/rspamd/lualib/lua_smtp.lua:113: bad argument #1 to 'insert' (table expected, got userdata
>>>>
>>>> Line 113:           table.insert(message, CRLF.. '.' .. CRLF)
>>>>
>>>> At least metadata exporter and DMARC reports are affected.
>>>>
>>>> Best Regards
>>>> Aste
>>>>
>> 
>> VS> It cannot be.
>> After that modification smtp started worked again
>> 
>>     -- DATA stage
>>     local function data_done_cb(merr, mdata)
>>       if no_error_read(merr, mdata, '3') then
>>         if type(message) == 'string' then
>>           conn:add_write(pre_quit_cb, {message, CRLF.. '.' .. CRLF})
>>         else
>> --          table.insert(message, CRLF.. '.' .. CRLF)
>> --          conn:add_write(pre_quit_cb, message)
>>           conn:add_write(pre_quit_cb, {message, CRLF.. '.' .. CRLF})
>>         end
>>       end
>>     end
>> 

VS> This modification is apparently wrong. I have no ideas about how that
VS> could happen in your case: there are no `rspamd{text}` anywhere in
VS> lua_smtp callers.

Probably that will work better

   local function data_done_cb(merr, mdata)
      if no_error_read(merr, mdata, '3') then
        if type(message) == 'table' then
          table.insert(message, CRLF.. '.' .. CRLF)
          conn:add_write(pre_quit_cb, message)
        else
          conn:add_write(pre_quit_cb, {message, CRLF.. '.' .. CRLF})
        end
      end
    end

-- 
Aste



More information about the Users mailing list