Software /
code /
prosody
File
spec/scansion/pubsub_createdelete.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 | 9291:329a670ae975 |
line wrap: on
line source
# Pubsub: Create and delete [Client] Romeo jid: admin@localhost password: password // admin@localhost is assumed to have node creation privileges --------- Romeo connects Romeo sends: <iq type="set" to="pubsub.localhost" id='create1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <create node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='create1'/> Romeo sends: <iq type="set" to="pubsub.localhost" id='create2'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <create node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="error" id='create2'> <error type="cancel"> <conflict xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq> Romeo sends: <iq type="set" to="pubsub.localhost" id='delete1'> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <delete node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='delete1'/> Romeo sends: <iq type="set" to="pubsub.localhost" id='delete2'> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <delete node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="error" id='delete2'> <error type="cancel"> <item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq> Romeo disconnects // vim: syntax=xml: