Annotate

spec/scansion/tombstones.scs @ 12468:353836684009

net.connect: Fix accumulation of connection attempt references Connection attempts that failed the Happy Eyeballs race were not unreferenced and would accumulate. Tested by inspecting the 'pending_connections_map' after establishing s2s with a s2s target where the IPv6 port has a -j DROP rule causing it to time out and the IPv4 attempt wins the race. Expected is that the losing connection stays around until net.server timeouts kick in where it should be removed. The map table should tend towards being empty during idle times.
author Kim Alvefur <zash@zash.se>
date Wed, 20 Apr 2022 22:41:54 +0200
parent 12116:efcf25ad5406
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12116
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 # Tombstones
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 [Client] Romeo
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 jid: romeo@localhost
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 password: password
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 [Client] Juliet
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 jid: juliet-tombstones@localhost
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 password: password
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 ---------
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 Romeo connects
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 Juliet connects
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 Juliet sends:
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 <iq type="set" id="bye">
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 <query xmlns="jabber:iq:register">
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 <remove/>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 </query>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 </iq>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 # Scansion gets disconnected right after this with a stream error makes
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 # scansion itself abort, so we preemptively disconnect to avoid that
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 # Juliet receives:
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 # <iq type="result" id="bye"/>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 Juliet disconnects
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 Romeo sends:
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 <presence type="probe" to="${Juliet's JID}"/>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 Romeo receives:
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 <presence type="error" from="${Juliet's JID}"/>
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 Romeo receives:
efcf25ad5406 mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38 <presence type="unsubscribed" from="${Juliet's JID}"/>