Software /
code /
prosody
File
util/bitcompat.lua @ 10654:a2bd6e85a457
mod_ping: Fix double response to internal ping
When responding to a ping from elsewhere in the same Prosody the send
function will be host_send from core.hostmanager, which does not return
anything. Tailcalling it therefore lets the iq event fall trough to
handle_unhandled_stanza in core.stanza_router, which responds with an
error. This error also goes into handle_unhandled_stanza which discards
it.
Noticed because I have a module that points out when a stanza error
reply is created without a text argument.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 21 Feb 2020 23:30:47 +0100 |
parent | 10241:48f7cda4174d |
child | 12573:0f4feaf9ca64 |
line wrap: on
line source
-- Compatibility layer for bitwise operations -- First try the bit32 lib -- Lua 5.3 has it with compat enabled -- Lua 5.2 has it by default if _G.bit32 then return _G.bit32; else -- Lua 5.1 may have it as a standalone module that can be installed local ok, bitop = pcall(require, "bit32") if ok then return bitop; end end do -- Lua 5.3 and 5.4 would be able to use native infix operators local ok, bitop = pcall(require, "util.bit53") if ok then return bitop; end end do -- Lastly, try the LuaJIT bitop library local ok, bitop = pcall(require, "bit") if ok then return bitop; end end error "No bit module found. See https://prosody.im/doc/depends#bitop";