File

plugins/mod_muc_unique.lua @ 8528:67311cda0625

net.server_select: Better detection of errors for outgoing connections On connection failure, a socket is marked readable and writable. So to detect initial connection failures (connection refused, etc.) we now watch for sockets becoming readable during initial connection, and also read from readable sockets before writing to writable sockets. This should fix 'onconnect' being called for outgoing connections that actually failed.
author Matthew Wild <mwild1@gmail.com>
date Fri, 23 Feb 2018 15:30:00 +0000
parent 6409:5fd6c739e9bf
child 8878:7c3e16fdaf1d
line wrap: on
line source

-- XEP-0307: Unique Room Names for Multi-User Chat
local st = require "util.stanza";
local uuid_gen = require "util.uuid".generate;
module:add_feature "http://jabber.org/protocol/muc#unique"
module:hook("iq-get/host/http://jabber.org/protocol/muc#unique:unique", function(event)
	local origin, stanza = event.origin, event.stanza;
	origin.send(st.reply(stanza)
		:tag("unique", {xmlns = "http://jabber.org/protocol/muc#unique"})
		:text(uuid_gen()) -- FIXME Random UUIDs can theoretically have collisions
	);
	return true;
end,-1);