Software /
code /
prosody
Annotate
spec/scansion/issue978-multi.scs @ 12525:8087f5357f53 0.12
mod_smacks: Fix bounce of stanzas directed to full JID on unclean disconnect
Fixes #1758
Introduced in 1ea01660c79a
In e62025f949f9 to and from was inverted since it changed from acting on
a reply to acting on the original stanza (or a clone thereof)
Unsure of the purpose of this check, you don't usually send stanzas to
your own full JID. Perhaps guarding against routing loops?
The check was present in the original commit of mod_smacks,
prosody-modules rev 9a7671720dec
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 27 May 2022 12:05:47 +0200 |
parent | 9291:329a670ae975 |
rev | line source |
---|---|
9291
329a670ae975
spec/scansion: Ensure all scripts have sensible titles
Matthew Wild <mwild1@gmail.com>
parents:
9290
diff
changeset
|
1 # Issue 978: MUC does not carry error into occupant leave status (multiple clients) |
329a670ae975
spec/scansion: Ensure all scripts have sensible titles
Matthew Wild <mwild1@gmail.com>
parents:
9290
diff
changeset
|
2 |
9266
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 [Client] Romeo |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 jid: user@localhost |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 password: password |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 [Client] Juliet |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 jid: user2@localhost |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 password: password |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 [Client] Juliet's phone |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 jid: user2@localhost |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 password: password |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 ----- |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 Romeo connects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 Romeo sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 <presence to="room@conference.localhost/Romeo"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 <x xmlns="http://jabber.org/protocol/muc"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 <presence from='room@conference.localhost/Romeo'> |
9290
decdaaf78f32
spec/scansion: Multiple fixes to make all tests pass in latest (c35386e4b456) scansion
Matthew Wild <mwild1@gmail.com>
parents:
9266
diff
changeset
|
26 <x xmlns='http://jabber.org/protocol/muc#user' scansion:strict='false'> |
9266
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 <status code='201'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 <status code='110'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 </x> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 <message type='groupchat' from='room@conference.localhost'><subject/></message> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 # Submit config form |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 Romeo sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 <iq id='config1' to='room@conference.localhost' type='set'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 <query xmlns='http://jabber.org/protocol/muc#owner'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 <x xmlns='jabber:x:data' type='submit'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 <field var='FORM_TYPE'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 <value>http://jabber.org/protocol/muc#roomconfig</value> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 </field> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 </x> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 </query> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 <iq id="config1" from="room@conference.localhost" type="result"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 # Juliet connects, and joins the room |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 Juliet connects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 Juliet sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 <presence to="room@conference.localhost/Juliet"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 <x xmlns="http://jabber.org/protocol/muc"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 <presence from="room@conference.localhost/Romeo" /> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 <presence from="room@conference.localhost/Juliet" /> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 <message type='groupchat' from='room@conference.localhost'><subject/></message> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 <presence from="room@conference.localhost/Juliet" /> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 # Juliet's phone connects, and joins the room |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 Juliet's phone connects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
75 Juliet's phone sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 <presence to="room@conference.localhost/Juliet"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 <x xmlns="http://jabber.org/protocol/muc"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 Juliet's phone receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 <presence from="room@conference.localhost/Romeo" /> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 Juliet's phone receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 <presence from="room@conference.localhost/Juliet" /> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 Juliet's phone receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 <message type='groupchat' from='room@conference.localhost'><subject/></message> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 <presence from='room@conference.localhost/Juliet'> |
9290
decdaaf78f32
spec/scansion: Multiple fixes to make all tests pass in latest (c35386e4b456) scansion
Matthew Wild <mwild1@gmail.com>
parents:
9266
diff
changeset
|
91 <x xmlns='http://jabber.org/protocol/muc#user' scansion:strict='false'> |
9266
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 <item affiliation='none' jid="${Juliet's phone's full JID}" role='participant'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 <item affiliation='none' jid="${Juliet's full JID}" role='participant'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 </x> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
97 # Juliet leaves with an error |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
98 Juliet sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 <presence type='error' to='room@conference.localhost'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 <error type='cancel'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 <service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Test error</text> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 </error> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 </presence> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
105 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
106 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
107 <presence from='room@conference.localhost/Juliet'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
108 <x xmlns='http://jabber.org/protocol/muc#user'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
109 <item jid="${Juliet's phone's full JID}" affiliation='none' role='participant'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
110 </x> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
111 </presence> |