mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-21 08:45:04 -05:00
76 lines
2.8 KiB
XML
76 lines
2.8 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
|
%ents;
|
|
]>
|
|
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
|
|
<xep>
|
|
<header>
|
|
<title>WebSocket S2S</title>
|
|
<abstract>This specification defines a procedure to make s2s XMPP connections over WebSocket.</abstract>
|
|
&LEGALNOTICE;
|
|
<number>0468</number>
|
|
<status>Experimental</status>
|
|
<type>Standards Track</type>
|
|
<sig>Standards</sig>
|
|
<approver>Council</approver>
|
|
<dependencies>
|
|
<spec>XMPP Core</spec>
|
|
<spec>XEP-0156</spec>
|
|
</dependencies>
|
|
<supersedes/>
|
|
<supersededby/>
|
|
<shortname>NOT_YET_ASSIGNED</shortname>
|
|
<author>
|
|
<firstname>Travis</firstname>
|
|
<surname>Burtrum</surname>
|
|
<email>travis@burtrum.org</email>
|
|
<jid>travis@burtrum.org</jid>
|
|
</author>
|
|
<revision>
|
|
<version>0.1.0</version>
|
|
<date>2022-07-13</date>
|
|
<initials>XEP Editor (jsc)</initials>
|
|
<remark>Accepted by vote of Council on 2022-06-22.</remark>
|
|
</revision>
|
|
<revision>
|
|
<version>0.0.1</version>
|
|
<date>2022-06-13</date>
|
|
<initials>tjb</initials>
|
|
<remark><p>First draft.</p></remark>
|
|
</revision>
|
|
</header>
|
|
<section1 topic='Introduction' anchor='intro'>
|
|
<p>&rfc7395; specifies how to make c2s connections over WebSocket. This XEP extends that to also support s2s connections over WebSocket.</p>
|
|
</section1>
|
|
<section1 topic='Requirements' anchor='reqs'>
|
|
<p>Everything mentioned in &rfc7395; should be followed with the following changes:</p>
|
|
<ol>
|
|
<li>Connection details are discovered by using &xep0156;</li>
|
|
<li>For c2s, &rfc7395; requires replacing the 'jabber:client' namespace with 'urn:ietf:params:xml:ns:xmpp-framing', for s2s, the 'jabber:server' namespace should be replaced with 'urn:ietf:params:xml:ns:xmpp-framing-server'.</li>
|
|
<li>wss (TLS) upgraded to a MUST be used, therefore SASL EXTERNAL authentication can be used as defined in &xmppcore;</li>
|
|
</ol>
|
|
</section1>
|
|
<section1 topic='Use Cases' anchor='usecases'>
|
|
<p>Some hosting services only allow HTTPS proxies to access servers, meaning federating XMPP servers cannot be ran on these hosts unless s2s is accessible over HTTPS.</p>
|
|
</section1>
|
|
<section1 topic='Security Considerations' anchor='security'>
|
|
<p>Identical to <link url='https://datatracker.ietf.org/doc/html/rfc7395#page-12'>RFC 7395 Security Considerations</link>.</p>
|
|
</section1>
|
|
<section1 topic='IANA Considerations' anchor='iana'>
|
|
|
|
<p>A URN sub-namespace for framing of s2s Extensible Messaging and Presence
|
|
Protocol (XMPP) streams is defined as follows.</p>
|
|
|
|
<p>URI: urn:ietf:params:xml:ns:xmpp-framing-server</p>
|
|
|
|
<p>Specification: this document</p>
|
|
|
|
<p>Registrant Contact: IESG <iesg@ietf.org></p>
|
|
|
|
</section1>
|
|
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
|
<p>This document requires no interaction with the ®ISTRAR;.</p>
|
|
</section1>
|
|
</xep>
|