File

spec/scansion/presence_preapproval.scs @ 11383:98b7ae7064b2

mod_http: Consider x-forwarded-proto from trusted proxies Should be better than setting consider_{bosh,websocket}_secure as that may end up causing actually insecure requests to be considered secure. Doing it here, as with IP, should make this apply to all HTTP modules.
author Kim Alvefur <zash@zash.se>
date Thu, 18 Feb 2021 10:00:56 +0100
parent 10515:35bf3b80480f
line wrap: on
line source

# server supports contact subscription pre-approval (RFC 6121 3.4)

[Client] Alice
	jid: preappove-a@localhost
	password: password

[Client] Bob
	jid: preapprove-b@localhost
	password: password

---------

Alice connects

Alice sends:
	<presence/>

Alice receives:
	<presence/>

Alice sends:
	<presence to="${Bob's JID}" type="subscribed"/>

Bob connects

Bob sends:
	<iq type="get" id="roster1">
		<query xmlns="jabber:iq:roster"/>
	</iq>

Bob receives:
	<iq type="result" id="roster1">
		<query xmlns="jabber:iq:roster" ver="{scansion:any}">
		</query>
	</iq>

Bob sends:
	<presence/>

Bob receives:
	<presence from="${Bob's full JID}"/>

Bob sends:
	<presence to="${Alice's JID}" type="subscribe" />

Bob receives:
	<iq type='set' id='{scansion:any}'>
		<query ver='1' xmlns='jabber:iq:roster'>
			<item jid="${Alice's JID}" subscription='none' ask='subscribe' />
		</query>
	</iq>



Bob receives:
	<presence from="${Alice's JID}" type="subscribed" />

Bob disconnects

Alice sends:
	<iq type="get" id="roster1">
		<query xmlns="jabber:iq:roster"/>
	</iq>

Alice receives:
	<iq type="result" id="roster1">
		<query xmlns="jabber:iq:roster" ver="{scansion:any}">
			<item jid="${Bob's JID}" subscription="from" />
		</query>
	</iq>

Alice disconnects

Bob disconnects