IMPORTANT: due to a drive failure, as of 13-Mar-2021, the Mercurial repository had to be re-mirrored, which changed every commit SHA. The old SHAs and trees are backed up in the vault branches. Please migrate to the new branches as soon as you can.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
prosody/spec/scansion/blocking.scs

160 lines
3.5 KiB

# XEP-0191: Blocking Command
[Client] Romeo
jid: blocker@localhost
password: password
[Client] Juliet
jid: blockee@localhost
password: password
-----
# The parties connect
Romeo connects
Romeo sends:
<presence/>
Romeo receives:
<presence from="${Romeo's full JID}"/>
Juliet connects
Juliet sends:
<presence/>
Juliet receives:
<presence from="${Juliet's full JID}"/>
# They add each other
Romeo sends:
<presence type="subscribe" to="${Juliet's JID}"/>
Romeo receives:
<presence from="${Juliet's JID}" to="${Romeo's JID}" type="unavailable"/>
Juliet receives:
<presence type="subscribe" to="${Juliet's JID}" from="${Romeo's JID}"/>
Juliet sends:
<presence type="subscribed" to="${Romeo's JID}"/>
Romeo receives:
<presence from="${Juliet's full JID}" to="${Romeo's JID}">
<delay xmlns="urn:xmpp:delay" stamp="{scansion:any}" from="localhost"/>
</presence>
Juliet sends:
<presence type="subscribe" to="${Romeo's JID}"/>
Juliet receives:
<presence from="${Romeo's JID}" to="${Juliet's JID}" type="unavailable"/>
Romeo receives:
<presence type="subscribe" to="${Romeo's JID}" from="${Juliet's JID}"/>
Romeo sends:
<presence type="subscribed" to="${Juliet's JID}"/>
Juliet receives:
<presence from="${Romeo's full JID}" to="${Juliet's JID}">
<delay xmlns="urn:xmpp:delay" stamp="{scansion:any}" from="localhost"/>
</presence>
Romeo receives:
<presence from="${Juliet's full JID}" to="${Romeo's JID}">
<delay xmlns="urn:xmpp:delay" stamp="{scansion:any}" from="localhost"/>
</presence>
# They can now talk
Juliet sends:
<message type="chat" to="${Romeo's JID}">
<body>ohai</body>
</message>
Romeo receives:
<message type="chat" to="${Romeo's JID}" from="${Juliet's full JID}">
<body>ohai</body>
</message>
# And now to the blockining
Romeo sends:
<iq type="set" id="lx2">
<block xmlns="urn:xmpp:blocking">
<item jid="${Juliet's JID}"/>
</block>
</iq>
Romeo receives:
<iq type="result" id="lx2"/>
Juliet receives:
<presence type="unavailable" to="${Juliet's JID}" from="${Romeo's full JID}"/>
# Can"t talk anymore
Romeo sends:
<message type="chat" to="${Juliet's JID}">
<body>hello?</body>
</message>
Romeo receives:
<message type="error" from="${Juliet's JID}">
<error type="cancel">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">You have blocked this JID</text>
<blocked xmlns="urn:xmpp:blocking:errors"/>
</error>
</message>
Juliet sends:
<message type="chat" to="${Romeo's JID}"/>
Juliet receives:
<message type="error" from="${Romeo's JID}">
<error type="cancel">
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</message>
Romeo sends:
<iq type="set" id="lx3">
<unblock xmlns="urn:xmpp:blocking">
<item jid="${Juliet's JID}"/>
</unblock>
</iq>
Juliet receives:
<presence to="${Juliet's JID}" from="${Romeo's full JID}">
<delay xmlns="urn:xmpp:delay" stamp="{scansion:any}" from="localhost"/>
</presence>
Romeo receives:
<iq type="result" id="lx3"/>
# Can talk again
Romeo sends:
<message type="chat" to="${Juliet's JID}">
<body>hello!</body>
</message>
Juliet receives:
<message type="chat" to="${Juliet's JID}" from="${Romeo's full JID}">
<body>hello!</body>
</message>
# Bye
Juliet sends:
<presence type="unavailable"/>
Juliet disconnects
Romeo receives:
<presence from="${Juliet's full JID}" to="${Romeo's JID}" type="unavailable"/>
Romeo sends:
<presence type="unavailable"/>
Romeo disconnects