# HG changeset patch # User Matthew Wild # Date 1262901957 0 # Node ID 8e157125957d11d4b8c8e1ff83bdbdded2c2d141 # Parent c5f04bdc7c647562e38863a885359dc6c2208c88 clix.mirror: Mirror stanzas by switching to/from diff -r c5f04bdc7c64 -r 8e157125957d clix/mirror.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clix/mirror.lua Thu Jan 07 22:05:57 2010 +0000 @@ -0,0 +1,15 @@ +return function (opts, arg) + local function on_connect(conn) + local function on_stanza(stanza) + if stanza.name == "presence" and opts.presence + and not opts.mirror_presence then + return; + end + stanza.attr.to, stanza.attr.from = stanza.attr.from, stanza.attr.to; + conn:send(stanza); + stanza.attr.to, stanza.attr.from = stanza.attr.from, stanza.attr.to; + end + conn:hook("stanza", on_stanza); + end + return clix_connect(opts, on_connect); +end