Software /
code /
prosody
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> |