Software /
code /
prosody
File
spec/scansion/vcard_temp.scs @ 10851:6cf16abd0976
net.server_select: Ensure onconnect is always called before onincoming
This changes the code to call onconnect when the first data is sucessfully
read or written, instead of simply when the socket first becomes writable.
A writable socket can mean a connection error, and if the client already
sent some data it may get passed to onincoming before processing writable
sockets. This fixes the issue.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 01 Jun 2020 13:38:47 +0100 |
parent | 9524:1f6f3b941eb1 |
child | 12967:53b0730093d8 |
line wrap: on
line source
# XEP-0054 vCard-temp writable and readable by anyone # mod_scansion_record on host 'localhost' recording started 2018-10-20T15:00:12Z [Client] Romeo jid: romeo@localhost password: password [Client] Juliet jid: juliet@localhost password: password ----- Romeo connects # Romeo sets his vCard # FN and N are required by the schema and mod_vcard_legacy will always inject them Romeo sends: <iq id="lx3" type="set"> <vCard xmlns="vcard-temp"> <FN>Romeo Montague</FN> <N> <FAMILY>Montague</FAMILY> <GIVEN>Romeo</GIVEN> <MIDDLE/> <PREFIX/> <SUFFIX/> </N> </vCard> </iq> Romeo receives: <iq type="result" id="lx3" to="${Romeo's full JID}"/> Romeo sends: <iq id="lx4" type="get"> <vCard xmlns="vcard-temp"/> </iq> Romeo receives: <iq type="result" id="lx4" to="${Romeo's full JID}"> <vCard xmlns="vcard-temp"> <FN>Romeo Montague</FN> <N> <FAMILY>Montague</FAMILY> <GIVEN>Romeo</GIVEN> <MIDDLE/> <PREFIX/> <SUFFIX/> </N> </vCard> </iq> Romeo disconnects Juliet connects Juliet sends: <iq type="get" id="lx3" to="romeo@localhost"> <vCard xmlns="vcard-temp"/> </iq> # Juliet can see Romeo's vCard since it's public Juliet receives: <iq type="result" from="romeo@localhost" id="lx3" to="${Juliet's full JID}"> <vCard xmlns="vcard-temp"> <FN>Romeo Montague</FN> <N> <FAMILY>Montague</FAMILY> <GIVEN>Romeo</GIVEN> <MIDDLE/> <PREFIX/> <SUFFIX/> </N> </vCard> </iq> Juliet disconnects # recording ended on 2018-10-20T15:02:14Z