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.
# server MUST keep a record of the complete presence stanza comprising the subscription request (#689)
[Client] Alice
jid: pars-a@localhost
password: password
[Client] Bob
jid: pars-b@localhost
password: password
[Client] Bob's phone
jid: pars-b@localhost/phone
password: password
---------
Alice connects
Alice sends:
<presence to="${Bob's JID}" type="subscribe">
<preauth xmlns="urn:xmpp:pars:0" token="1tMFqYDdKhfe2pwp" />
</presence>
Alice disconnects
Bob connects
Bob sends:
<presence/>
Bob receives:
<presence from="${Bob's full JID}"/>
Bob receives:
<presence from="${Alice's JID}" type="subscribe">
<preauth xmlns="urn:xmpp:pars:0" token="1tMFqYDdKhfe2pwp" />
</presence>
Bob disconnects
# Works if they reconnect too
Bob's phone connects
Bob's phone sends:
<presence/>
Bob's phone receives:
<presence from="${Bob's phone's full JID}"/>
Bob's phone receives:
<presence from="${Alice's JID}" type="subscribe">
<preauth xmlns="urn:xmpp:pars:0" token="1tMFqYDdKhfe2pwp" />
</presence>
Bob's phone disconnects