mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-22 01:02:17 -05:00
1.4pre4
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1144 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
d9f111b0bb
commit
25036cf245
28
xep-0115.xml
28
xep-0115.xml
@ -28,8 +28,8 @@
|
|||||||
&stpeter;
|
&stpeter;
|
||||||
&remko;
|
&remko;
|
||||||
<revision>
|
<revision>
|
||||||
<version>1.4pre3</version>
|
<version>1.4pre4</version>
|
||||||
<date>in progress, last updated 2007-07-20</date>
|
<date>in progress, last updated 2007-08-13</date>
|
||||||
<initials>psa/jjh</initials>
|
<initials>psa/jjh</initials>
|
||||||
<remark><p>In response to persistent security concerns over caps poisoning, redefined ver attribute to be a hash of the service discovery identity and features in a way that is backward-compatible with the legacy format.</p></remark>
|
<remark><p>In response to persistent security concerns over caps poisoning, redefined ver attribute to be a hash of the service discovery identity and features in a way that is backward-compatible with the legacy format.</p></remark>
|
||||||
</revision>
|
</revision>
|
||||||
@ -118,9 +118,9 @@
|
|||||||
<p>This section provides a friendly introduction to entity capabilities.</p>
|
<p>This section provides a friendly introduction to entity capabilities.</p>
|
||||||
<p>Imagine that you are a Shakespearean character named Juliet and one of your contacts, a handsome fellow named Romeo, becomes available. His client wants to publish its capabilities, and does this by adding a <c/> element with special attributes to its presence packets. As a result, your client receives the following presence packet:</p>
|
<p>Imagine that you are a Shakespearean character named Juliet and one of your contacts, a handsome fellow named Romeo, becomes available. His client wants to publish its capabilities, and does this by adding a <c/> element with special attributes to its presence packets. As a result, your client receives the following presence packet:</p>
|
||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<presence from='romeo@montague.lit/351b50cc-36d3-11dc-85f7-000bcd821bfb'>
|
<presence from='romeo@montague.lit/orchard'>
|
||||||
<c xmlns='http://jabber.org/protocol/caps'
|
<c xmlns='http://jabber.org/protocol/caps'
|
||||||
node='http://exodus.jabberstudio.org/caps'
|
node='http://exodus.jabberstudio.org/#0.9.1'
|
||||||
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
||||||
</presence>
|
</presence>
|
||||||
]]></code>
|
]]></code>
|
||||||
@ -129,14 +129,14 @@
|
|||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<iq from='juliet@capulet.lit/chamber'
|
<iq from='juliet@capulet.lit/chamber'
|
||||||
id='disco1'
|
id='disco1'
|
||||||
to='romeo@montague.lit/351b50cc-36d3-11dc-85f7-000bcd821bfb'
|
to='romeo@montague.lit/orchard'
|
||||||
type='get'>
|
type='get'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>
|
</iq>
|
||||||
]]></code>
|
]]></code>
|
||||||
<p>The response is:</p>
|
<p>The response is:</p>
|
||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<iq from='romeo@montague.lit/351b50cc-36d3-11dc-85f7-000bcd821bfb'
|
<iq from='romeo@montague.lit/orchard'
|
||||||
id='disco1'
|
id='disco1'
|
||||||
to='juliet@capulet.lit/chamber'
|
to='juliet@capulet.lit/chamber'
|
||||||
type='result'>
|
type='result'>
|
||||||
@ -152,7 +152,7 @@
|
|||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<presence from='benvolio@capulet.lit/230193'>
|
<presence from='benvolio@capulet.lit/230193'>
|
||||||
<c xmlns='http://jabber.org/protocol/caps'
|
<c xmlns='http://jabber.org/protocol/caps'
|
||||||
node='http://psi-im.org/caps'
|
node='http://psi-im.org/#0.11'
|
||||||
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
||||||
</presence>
|
</presence>
|
||||||
]]></code>
|
]]></code>
|
||||||
@ -161,7 +161,7 @@
|
|||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<presence from='nurse@capulet.lit/chamber'>
|
<presence from='nurse@capulet.lit/chamber'>
|
||||||
<c xmlns='http://jabber.org/protocol/caps'
|
<c xmlns='http://jabber.org/protocol/caps'
|
||||||
node='http://psi-im.org/caps'
|
node='http://psi-im.org/#0.10'
|
||||||
ver='uCoVCteRe3ty2wU2gHxkMaA7xhs='/>
|
ver='uCoVCteRe3ty2wU2gHxkMaA7xhs='/>
|
||||||
</presence>
|
</presence>
|
||||||
]]></code>
|
]]></code>
|
||||||
@ -169,7 +169,7 @@
|
|||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<presence from='bard@shakespeare.lit/globe'>
|
<presence from='bard@shakespeare.lit/globe'>
|
||||||
<c xmlns='http://jabber.org/protocol/caps'
|
<c xmlns='http://jabber.org/protocol/caps'
|
||||||
node='http://www.chatopus.com/caps'
|
node='http://www.chatopus.com/#2.2'
|
||||||
ver='zHyEOgxTrkpSdGcQKH8EFPLsriY='/>
|
ver='zHyEOgxTrkpSdGcQKH8EFPLsriY='/>
|
||||||
</presence>
|
</presence>
|
||||||
]]></code>
|
]]></code>
|
||||||
@ -222,7 +222,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>node</td>
|
<td>node</td>
|
||||||
<td>A unique identifier for the software underlying the entity, typically a URL at the website of the project or company that produces the software; although this information is an "FYI" in the current version of entity capabilities, it is required for backward-compatibility with older versions.</td>
|
<td>A unique identifier for the software underlying the entity, typically a URL at the website of the project or company that produces the software. although this information is an "FYI" in the current version of entity capabilities, it is required for backward-compatibility with older versions. It is RECOMMENDED for the value to identify both the software product and the released version in the form "ProductURL#Version", such as "http://psi-im.org/#0.11".</td>
|
||||||
<td>REQUIRED</td>
|
<td>REQUIRED</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -257,13 +257,13 @@
|
|||||||
|
|
||||||
<section1 topic='Use Cases' anchor='usecases'>
|
<section1 topic='Use Cases' anchor='usecases'>
|
||||||
<section2 topic='Advertising Capabilities' anchor='advertise'>
|
<section2 topic='Advertising Capabilities' anchor='advertise'>
|
||||||
<p>Each time a conformant entity sends presence, it annotates that presence with an entity identifier ('node' attribute) and identity and feature identifier ('ver' attribute). Unless the server optimizations shown later are being used, the client MUST send this with every presence change (except for unavailable presence) to enable existing servers to remember the last presence for use in responding to probes.</p>
|
<p>Each time a conformant entity sends presence, it annotates that presence with an entity identifier ('node' attribute) and identity and feature identifier ('ver' attribute). In order that servers can remember the last presence for use in responding to probes, the client SHOULD include entity capabilities with every presence change.</p>
|
||||||
<p>If the supported features change during a client's presence session (e.g., a user installs an updated version of a client plugin), the application MUST recompute the 'ver' attribute and SHOULD send a new presence broadcast.</p>
|
<p>If the supported features change during a client's presence session (e.g., a user installs an updated version of a client plugin), the application MUST recompute the 'ver' attribute and SHOULD send a new presence broadcast.</p>
|
||||||
|
|
||||||
<example caption='Annotated presence sent'><![CDATA[
|
<example caption='Annotated presence sent'><![CDATA[
|
||||||
<presence>
|
<presence>
|
||||||
<c xmlns='http://jabber.org/protocol/caps'
|
<c xmlns='http://jabber.org/protocol/caps'
|
||||||
node='http://exodus.jabberstudio.org/caps'
|
node='http://exodus.jabberstudio.org/#0.9.1'
|
||||||
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
|
||||||
</presence>
|
</presence>
|
||||||
]]></example>
|
]]></example>
|
||||||
@ -275,7 +275,7 @@
|
|||||||
<example caption='Disco#info request'><![CDATA[
|
<example caption='Disco#info request'><![CDATA[
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
<iq from='juliet@capulet.lit/balcony'
|
||||||
id='disco1'
|
id='disco1'
|
||||||
to='romeo@montague.lit/351b50cc-36d3-11dc-85f7-000bcd821bfb'
|
to='romeo@montague.lit/orchard'
|
||||||
type='get'>
|
type='get'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>
|
</iq>
|
||||||
@ -284,7 +284,7 @@
|
|||||||
<p>The entity then returns all of the capabilities it supports.</p>
|
<p>The entity then returns all of the capabilities it supports.</p>
|
||||||
|
|
||||||
<example caption='Disco#info response'><![CDATA[
|
<example caption='Disco#info response'><![CDATA[
|
||||||
<iq from='romeo@montague.lit/351b50cc-36d3-11dc-85f7-000bcd821bfb'
|
<iq from='romeo@montague.lit/orchard'
|
||||||
id='disco1'
|
id='disco1'
|
||||||
to='juliet@capulet.lit/balcony'
|
to='juliet@capulet.lit/balcony'
|
||||||
type='result'>
|
type='result'>
|
||||||
|
Loading…
Reference in New Issue
Block a user