git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@504 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-02-08 22:09:04 +00:00
parent dfc838138a
commit ecd0e29c4f
1 changed files with 19 additions and 13 deletions

View File

@ -7,11 +7,10 @@
<xep>
<header>
<title>Software Version</title>
<abstract>This specification provides canonical documentation of the existing 'jabber:iq:version' namespace currently used within the Jabber community.</abstract>
&LEGALNOTICE;
<abstract>This specification provides canonical documentation of an XMPP protocol extension for retrieving information about the software version associated with another XMPP entity.</abstract> &LEGALNOTICE;
<number>0092</number>
<status>Active</status>
<type>Historical</type>
<status>Draft</status>
<type>Standards Track</type>
<sig>Standards</sig>
<dependencies>
<spec>XMPP Core</spec>
@ -23,6 +22,12 @@
<url>http://www.xmpp.org/schemas/iq-version.xsd</url>
</schemaloc>
&stpeter;
<revision>
<version>1.1pre1</version>
<date>in progress, last updated 2007-02-08</date>
<initials>psa</initials>
<remark>Per a vote of the XMPP Council, changed from Historical and Active to Standards Track and Draft; recommended use of Entity Capabilities instead of Software Version when presence information is available; added proviso to security considerations regarding disclosure of operating system information.</remark>
</revision>
<revision>
<version>1.0</version>
<date>2003-10-08</date>
@ -36,18 +41,19 @@
<remark>Initial version.</remark>
</revision>
</header>
<section1 topic='Introduction'>
<section1 topic='Introduction' anchor='intro'>
<p>The Jabber protocols have long included a method for discovering version information about the software running at another entity's JID. This method makes use of the 'jabber:iq:version' namespace and has been documented variously in Internet-Drafts and elsewhere. Because this protocol is not required by &rfc2779;, the 'jabber:iq:version' namespace was removed from &xmppim;. This specification fills the void for canonical documentation.</p>
<p><em>Note Well: The jabber:iq:version protocol SHOULD NOT be used to determine the identity of entities from which an application receives presence (e.g., contacts in a user's roster and certain kinds of gateways); &xep0115; SHOULD be used instead. However, the jabber:iq:version protocol MAY be used to determine the identity of entities from which an application does not receive presence (e.g., servers and many kinds of components).</em></p>
</section1>
<section1 topic='Definition'>
<section1 topic='Protocol' anchor='protocol'>
<p>The 'jabber:iq:version' namespace provides a standard way for Jabber entities to exchange information about the software version used by the entities. The information is communicated in a request/response pair using an &lt;iq/&gt; element that contains a &lt;query/&gt; scoped by the 'jabber:iq:version' namespace. The following children of the &lt;query/&gt; are allowed in an IQ result:</p>
<ul>
<li>&lt;name/&gt; -- The natural-language name of the software. This element is REQUIRED in a result.</li>
<li>&lt;version/&gt; -- The specific version of the software. This element is REQUIRED in a result.</li>
<li>&lt;os/&gt; -- The operating system of the queried entity. This element is OPTIONAL in a result.</li>
<li>&lt;os/&gt; -- The operating system of the queried entity. This element is OPTIONAL in a result (see also the <link url='#security'>Security Considerations</link>).</li>
</ul>
</section1>
<section1 topic='Examples'>
<section1 topic='Examples' anchor='examples'>
<example caption='Querying Another Entity for its Software Version'><![CDATA[
<iq
type='get'
@ -72,16 +78,16 @@
]]></example>
<p>The standard error conditions described in &xep0086; apply (e.g., service unavailable if the entity does not support the namespace).</p>
</section1>
<section1 topic='Security Considerations'>
<p>There are no security features or concerns related to this proposal.</p>
<section1 topic='Security Considerations' anchor='security'>
<p>Revealing the application's underlying operating system may open the user or system to attacks directed against that operating system; therefore, an application MUST provide a way for a human user or administrator to disable sharing of information about the operating system.</p>
</section1>
<section1 topic='IANA Considerations'>
<section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations'>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<p>The 'jabber:iq:version' namespace is registered in the protocol namespaces registry maintained by the &REGISTRAR;.</p>
</section1>
<section1 topic='XML Schema'>
<section1 topic='XML Schema' anchor='schema'>
<code><![CDATA[
<?xml version='1.0' encoding='UTF-8'?>