Software /
code /
prosody
File
spec/scansion/keep_full_sub_req.scs @ 12189:82c8e855c850
mod_storage_xep0227: treat roster metadata pseudo-entry correctly
The roster version is stored in a pseudo-item which has the key `false`.
The if condition in the touched code attempts to guard against this, but
it does not take into account that the jid prepping returns nil instead
of false.
By moving the jid prepping into the if, we can check for the metadata
entry safely.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 15 Jan 2022 15:40:29 +0100 |
parent | 10515:35bf3b80480f |
line wrap: on
line source
# 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