mod_smacks: Bounce unhandled stanzas from local origin (fix #1759)
Sending stanzas with a remote session as origin when the stanzas have a
local JID in the from attribute trips validation in core.stanza_router,
leading to warnings:
> Received a stanza claiming to be from remote.example, over a stream authed for localhost.example
Using module:send() uses the local host as origin, which is fine here.
# Publishing a nickname in PEP and receiving a notification
[Client] Romeo
jid: romeo@localhost
password: password
-----
Romeo connects
Romeo sends:
<iq id="4" type="set">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="http://jabber.org/protocol/nick">
<item id="current">
<nickname xmlns="http://jabber.org/protocol/nick"/>
</item>
</publish>
</pubsub>
</iq>
Romeo receives:
<iq id="4" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="http://jabber.org/protocol/nick">
<item id="current"/>
</publish>
</pubsub>
</iq>
Romeo sends:
<presence>
<c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
</presence>
Romeo receives:
<iq id="disco" from="romeo@localhost" type="get">
<query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
</iq>
Romeo receives:
<presence>
<c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
</presence>
Romeo sends:
<iq id="disco" type="result" to="romeo@localhost">
<query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk=">
<identity type="console" name="clix" category="client"/>
<feature var="http://jabber.org/protocol/disco#items"/>
<feature var="http://jabber.org/protocol/disco#info"/>
<feature var="http://jabber.org/protocol/caps"/>
<feature var="http://jabber.org/protocol/nick+notify"/>
</query>
</iq>
Romeo receives:
<message type="headline" from="romeo@localhost">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="http://jabber.org/protocol/nick">
<item id="current" publisher="${Romeo's JID}">
<nickname xmlns="http://jabber.org/protocol/nick"/>
</item>
</items>
</event>
</message>
Romeo sends:
<presence type="unavailable"/>
Romeo disconnects