Mercurial > prosody-modules
view mod_register_dnsbl_warn/mod_register_dnsbl_warn.lua @ 4047:36b6e3e3f9e2
mod_conversejs: Disable automatic BOSH/WS endpoint discovery
Converse.js 7.0 will enable this by default, but when using this module
the BOSH and WebSocket endpoints are provided in the generated HTML, so
automatic discovery is not needed and unlikely to work without an
additional module.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 18 Jun 2020 15:24:34 +0200 |
parents | 76036fa34055 |
children |
line wrap: on
line source
local adns = require "net.adns"; local rbl = module:get_option_string("registration_rbl"); local function reverse(ip, suffix) if ip:sub(1,7):lower() == "::ffff:" then ip = ip:sub(8); end local a,b,c,d = ip:match("^(%d+).(%d+).(%d+).(%d+)$"); if not a then return end return ("%d.%d.%d.%d.%s"):format(d,c,b,a, suffix); end -- TODO async -- module:hook("user-registering", function (event) end); module:hook("user-registered", function (event) local session = event.session; local ip = session and session.ip; local rbl_ip = ip and reverse(ip, rbl); if rbl_ip then local log = session.log; adns.lookup(function (reply) if reply and reply[1] then log("warn", "Account %s@%s registered from IP %s found in RBL (%s)", event.username, event.host or module.host, ip, reply[1].a); end end, rbl_ip); end end);