Comparison

spec/scansion/issue1224.scs @ 9530:3bc5c22e2ca4

MUC: Use the bare JID when performing a lookup for COMPAT with clients that don't set it (fixes #1224) The full JID is never meant to be the target of affiliation changes.
author Matthew Wild <mwild1@gmail.com>
date Sun, 21 Oct 2018 16:04:54 +0100
child 9604:88c011d01b98
comparison
equal deleted inserted replaced
9529:6a1e7723208b 9530:3bc5c22e2ca4
1 # MUC: Room registration and reserved nicknames
2
3 [Client] Romeo
4 jid: user@localhost
5 password: password
6
7 [Client] Juliet
8 jid: user2@localhost
9 password: password
10
11 -----
12
13 Romeo connects
14
15 Romeo sends:
16 <presence to="room@conference.localhost/Romeo">
17 <x xmlns="http://jabber.org/protocol/muc"/>
18 </presence>
19
20 Romeo receives:
21 <presence from='room@conference.localhost/Romeo'>
22 <x xmlns='http://jabber.org/protocol/muc#user'>
23 <status code='201'/>
24 <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
25 <status code='110'/>
26 </x>
27 </presence>
28
29 Romeo receives:
30 <message type='groupchat' from='room@conference.localhost'><subject/></message>
31
32 # Submit config form
33 Romeo sends:
34 <iq id='config1' to='room@conference.localhost' type='set'>
35 <query xmlns='http://jabber.org/protocol/muc#owner'>
36 <x xmlns='jabber:x:data' type='submit'>
37 <field var='FORM_TYPE'>
38 <value>http://jabber.org/protocol/muc#roomconfig</value>
39 </field>
40 </x>
41 </query>
42 </iq>
43
44 Romeo receives:
45 <iq id="config1" from="room@conference.localhost" type="result">
46 </iq>
47
48 Romeo sends:
49 <iq id='member1' to='room@conference.localhost' type='set'>
50 <query xmlns='http://jabber.org/protocol/muc#admin'>
51 <item affiliation='member' jid="${Juliet's JID}" />
52 </query>
53 </iq>
54
55 Romeo receives:
56 <iq from='room@conference.localhost' id='member1' type='result'/>
57
58 # Juliet connects, and joins the room
59 Juliet connects
60
61 Juliet sends:
62 <presence to="room@conference.localhost/Juliet">
63 <x xmlns="http://jabber.org/protocol/muc"/>
64 </presence>
65
66 Juliet receives:
67 <presence from="room@conference.localhost/Romeo" />
68
69 Juliet receives:
70 <presence from="room@conference.localhost/Juliet" />
71
72 Juliet receives:
73 <message type='groupchat' from='room@conference.localhost'><subject/></message>
74
75 Romeo receives:
76 <presence from="room@conference.localhost/Juliet" />
77
78 # Romeo makes Juliet a member of the room, however his client is buggy and only
79 # specifies her nickname
80
81 Romeo sends:
82 <iq id='member1' to='room@conference.localhost' type='set'>
83 <query xmlns='http://jabber.org/protocol/muc#admin'>
84 <item affiliation='member' nick='Juliet' />
85 </query>
86 </iq>
87
88 Romeo receives:
89 <presence from='room@conference.localhost/Juliet'>
90 <x xmlns='http://jabber.org/protocol/muc#user'>
91 <item affiliation='member' role='participant' jid="${Juliet's full JID}">
92 <actor jid="${Romeo's full JID}" nick='Romeo'/>
93 </item>
94 </x>
95 </presence>
96
97 Romeo receives:
98 <iq type='result' id='member1' from='room@conference.localhost' />
99
100 Juliet receives:
101 <presence from='room@conference.localhost/Juliet'>
102 <x xmlns='http://jabber.org/protocol/muc#user'>
103 <item affiliation='member' role='participant' jid="${Juliet's full JID}">
104 <actor nick='Romeo' />
105 </item>
106 <status xmlns='http://jabber.org/protocol/muc#user' code='110'/>
107 </x>
108 </presence>