Diff

mod_compat_bind/mod_compat_bind.lua @ 748:f25b6a9f97bb

mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
author Matthew Wild <mwild1@gmail.com>
date Thu, 26 Jul 2012 14:27:41 +0100
child 2322:73fbfd1e820b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_compat_bind/mod_compat_bind.lua	Thu Jul 26 14:27:41 2012 +0100
@@ -0,0 +1,13 @@
+-- Compatibility with clients that set 'to' on resource bind requests
+--
+-- http://xmpp.org/rfcs/rfc3920.html#bind
+-- http://xmpp.org/rfcs/rfc6120.html#bind-servergen-success
+
+local st = require "util.stanza";
+
+module:hook("iq/host/urn:ietf:params:xml:ns:xmpp-bind:bind", function(event)
+	local fixed_stanza = st.clone(event.stanza);
+	fixed_stanza.attr.to = nil;
+	core_process_stanza(event.origin, fixed_stanza);
+	return true;
+end);