mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-22 07:38:52 -05:00
XEP-0384: rename bundle node to bundles
This commit is contained in:
parent
170cc7b3ab
commit
70bdbf31cc
10
xep-0384.xml
10
xep-0384.xml
@ -206,13 +206,13 @@
|
||||
</iq>]]></example>
|
||||
<p>NOTE: as per <link url='https://xmpp.org/extensions/xep-0060.html#impl-singleton'><cite>XEP-0060</cite> §12.20</link>, it is RECOMMENDED for the publisher to specify an ItemID of "current" to ensure that the publication of a new item will overwrite the existing item.</p>
|
||||
<p>This step presents the risk of introducing a race condition: Two devices might simultaneously try to announce themselves, unaware of the other's existence. The second device would overwrite the first one. To mitigate this, devices MUST check that their own device ID is contained in the list whenever they receive a PEP update from their own account. If they have been removed, they MUST reannounce themselves.</p>
|
||||
<p>Furthermore, a device MUST publish its IdentityKey, a signed PreKey, and a list of PreKeys. This tuple is called a bundle. Bundles are maintained as multiple items in a PEP node called ‘urn:xmpp:omemo:1:bundle’. Each bundle MUST be stored in a seperate item. The item id MUST be set to the device id.</p>
|
||||
<p>Furthermore, a device MUST publish its IdentityKey, a signed PreKey, and a list of PreKeys. This tuple is called a bundle. Bundles are maintained as multiple items in a PEP node called ‘urn:xmpp:omemo:1:bundles’. Each bundle MUST be stored in a seperate item. The item id MUST be set to the device id.</p>
|
||||
<p>A bundle is an element called ‘bundle’ in the ‘urn:xmpp:omomo:1’ namespace. It has a child element called ‘spk’ that contains the signed PreKey as base64 encoded data and a child element called ‘ik’ that contains the identity key as base64 encoded data. PreKeys are multiple elements called ‘pk’ that each contain one PreKey as base64 encoded data. PreKeys are wrapped in an element called ‘prekeys’ which is a child of the bundle element.</p>
|
||||
<p>The bundle element MAY contain an attribute called label, which is a user defined string describing the device that published that bundle.</p>
|
||||
<example caption='Publishing bundle information'><![CDATA[
|
||||
<iq from='juliet@capulet.lit' type='set' id='annouce2'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:omemo:1:bundle'>
|
||||
<publish node='urn:xmpp:omemo:1:bundles'>
|
||||
<item id='31415'>
|
||||
<bundle xmlns='urn:xmpp:omemo:1'
|
||||
label='My desktop client'>
|
||||
@ -229,12 +229,12 @@
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>]]></example>
|
||||
<p>It is RECOMMENDED to set the access model of the ‘urn:xmpp:omemo:1:bundle’ node to ‘open’ to give entities without presence subscription read access to the bundles and allow them to establish an OMEMO session. Not having presence subscription is a common occurrence on the first few messages between two contacts and can also happen fairly frequently in group chats as not every participant had prior communication with every other participant.</p>
|
||||
<p>It is RECOMMENDED to set the access model of the ‘urn:xmpp:omemo:1:bundles’ node to ‘open’ to give entities without presence subscription read access to the bundles and allow them to establish an OMEMO session. Not having presence subscription is a common occurrence on the first few messages between two contacts and can also happen fairly frequently in group chats as not every participant had prior communication with every other participant.</p>
|
||||
<p>The access model can be changed efficiently by using publish-options as described in <link url="https://xmpp.org/extensions/xep-0060.html#publisher-publish-options"><cite>XEP-0060</cite> §7.1.5</link>.</p>
|
||||
<example caption='Publishing bundle information with an open access model'><![CDATA[
|
||||
<iq from='juliet@capulet.lit' type='set' id='annouce2'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:omemo:1:bundle'>
|
||||
<publish node='urn:xmpp:omemo:1:bundles'>
|
||||
<item id='31415'>
|
||||
<bundle xmlns='urn:xmpp:omemo:1'>
|
||||
<!-- … -->
|
||||
@ -262,7 +262,7 @@
|
||||
to='juliet@capulet.lit'
|
||||
id='fetch1'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<items node='urn:xmpp:omemo:1:bundle'>
|
||||
<items node='urn:xmpp:omemo:1:bundles'>
|
||||
<item id='31415'/>
|
||||
<items>
|
||||
</pubsub>
|
||||
|
Loading…
Reference in New Issue
Block a user