mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-21 23:28:51 -05:00
Extend catalogs to support
* restrictive catalogs * default items * empty items
This commit is contained in:
parent
588280ab32
commit
8b8d7e2f7f
56
xep-0258.xml
56
xep-0258.xml
@ -38,9 +38,9 @@
|
|||||||
</author>
|
</author>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.6</version>
|
<version>0.6</version>
|
||||||
<date>2010-07-20</date>
|
<date>2010-07-30</date>
|
||||||
<initials>kdz</initials>
|
<initials>kdz</initials>
|
||||||
<remark><p>Minor editorial changes.</p></remark>
|
<remark><p>Extend catalog handling. Minor editorial changes.</p></remark>
|
||||||
</revision>
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.5</version>
|
<version>0.5</version>
|
||||||
@ -221,7 +221,7 @@
|
|||||||
|
|
||||||
<section1 topic='Label Catalog Discovery' anchor='label-catalog'>
|
<section1 topic='Label Catalog Discovery' anchor='label-catalog'>
|
||||||
<p>A client can request a catalog for a particular JID by sending
|
<p>A client can request a catalog for a particular JID by sending
|
||||||
an catalog discovery request to the client's server. Where the JID
|
a catalog discovery request to the client's server. Where the JID
|
||||||
is hosted by some other server, the client's server is expected to
|
is hosted by some other server, the client's server is expected to
|
||||||
produce a suitable catalog (or fail the request). The client's server
|
produce a suitable catalog (or fail the request). The client's server
|
||||||
may, as needed, query catalogs from other servers in order to
|
may, as needed, query catalogs from other servers in order to
|
||||||
@ -234,6 +234,14 @@
|
|||||||
JID.</p>
|
JID.</p>
|
||||||
<p>It is RECOMMENDED the server publish catalogs of security label
|
<p>It is RECOMMENDED the server publish catalogs of security label
|
||||||
for use by clients.</p>
|
for use by clients.</p>
|
||||||
|
<p>If catalog is restrictive, as indicated by the restrictive attribute
|
||||||
|
with value of true, the client SHOULD use one of the labels
|
||||||
|
(or no label) offered by the catalog.</p>
|
||||||
|
<p>One and only one of the items may have a default attribute with
|
||||||
|
value of true. The client should default to this item in cases
|
||||||
|
where the user has not selected an item.</p>
|
||||||
|
<p>An item may have no label. Such an item offers a choice of
|
||||||
|
sending a stanza without a label.</p>
|
||||||
<p>Each catalog provided should only contain labels for which the client
|
<p>Each catalog provided should only contain labels for which the client
|
||||||
is allowed to use (based upon the user's authorization) in a particular
|
is allowed to use (based upon the user's authorization) in a particular
|
||||||
context (such as in chatroom). A catalog may not be include the
|
context (such as in chatroom). A catalog may not be include the
|
||||||
@ -248,7 +256,7 @@
|
|||||||
servers should advertise and clients should perform appropriate
|
servers should advertise and clients should perform appropriate
|
||||||
discovery lookups on a per service basis.</p>
|
discovery lookups on a per service basis.</p>
|
||||||
<p>To indicate the support for label catalog discovery, a server
|
<p>To indicate the support for label catalog discovery, a server
|
||||||
advertises the <tt>urn:xmpp:sec-label:catalog:1</tt> feature.
|
advertises the <tt>urn:xmpp:sec-label:catalog:2</tt> feature.
|
||||||
The following pair of examples illustrates this feature discovery.</p>
|
The following pair of examples illustrates this feature discovery.</p>
|
||||||
<p>Each item in the catalog may contain a selector attribute. The
|
<p>Each item in the catalog may contain a selector attribute. The
|
||||||
value of this attribute represents the item's placement in a
|
value of this attribute represents the item's placement in a
|
||||||
@ -281,7 +289,7 @@ selector-value = (<item>"|")*<item>
|
|||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
<feature var='urn:xmpp:sec-label:catalog:1'/>
|
<feature var='urn:xmpp:sec-label:catalog:2'/>
|
||||||
...
|
...
|
||||||
</query>
|
</query>
|
||||||
</iq>
|
</iq>
|
||||||
@ -291,15 +299,16 @@ selector-value = (<item>"|")*<item>
|
|||||||
|
|
||||||
<example caption="Label Catalog request"><![CDATA[
|
<example caption="Label Catalog request"><![CDATA[
|
||||||
<iq type='get' id='cat1'>
|
<iq type='get' id='cat1'>
|
||||||
<catalog xmlns='urn:xmpp:sec-label:catalog:1' to='example.com'/>
|
<catalog xmlns='urn:xmpp:sec-label:catalog:2' to='example.com'/>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
|
|
||||||
<example caption="Label Catalog Get response"><![CDATA[
|
<example caption="Label Catalog Get response"><![CDATA[
|
||||||
<iq type='result' to='user@example.com/Work' id='cat1'>
|
<iq type='result' to='user@example.com/Work' id='cat1'>
|
||||||
<catalog xmlns='urn:xmpp:sec-label:catalog:0'
|
<catalog xmlns='urn:xmpp:sec-label:catalog:2'
|
||||||
to='example.com' name='Default'
|
to='example.com' name='Default'
|
||||||
desc='an example set of labels'>
|
desc='an example set of labels'
|
||||||
|
restrictive='false'>
|
||||||
<item selector="Classified|SECRET">
|
<item selector="Classified|SECRET">
|
||||||
<securitylabel xmlns='urn:xmpp:sec-label:0'>
|
<securitylabel xmlns='urn:xmpp:sec-label:0'>
|
||||||
<displaymarking fgcolor='black' bgcolor='red'>SECRET</displaymarking>
|
<displaymarking fgcolor='black' bgcolor='red'>SECRET</displaymarking>
|
||||||
@ -318,7 +327,7 @@ selector-value = (<item>"|")*<item>
|
|||||||
</label>
|
</label>
|
||||||
</securitylabel>
|
</securitylabel>
|
||||||
</item>
|
</item>
|
||||||
<item selector="Classified|RESTRICTED">
|
<item selector="Classified|RESTRICTED" default="true">
|
||||||
<securitylabel xmlns='urn:xmpp:sec-label:0'>
|
<securitylabel xmlns='urn:xmpp:sec-label:0'>
|
||||||
<displaymarking fgcolor='black' bgcolor='aqua'>RESTRICTED</displaymarking>
|
<displaymarking fgcolor='black' bgcolor='aqua'>RESTRICTED</displaymarking>
|
||||||
<label>
|
<label>
|
||||||
@ -327,15 +336,7 @@ selector-value = (<item>"|")*<item>
|
|||||||
</label>
|
</label>
|
||||||
</securitylabel>
|
</securitylabel>
|
||||||
</item>
|
</item>
|
||||||
<item selector="Unclassified|UNCLASSIFIED">
|
<item selector="Unclassified|UNCLASSIFIED"/>
|
||||||
<securitylabel xmlns='urn:xmpp:sec-label:0'>
|
|
||||||
<displaymarking fgcolor='black' bgcolor='green'>UNCLASSIFIED</displaymarking>
|
|
||||||
<label>
|
|
||||||
<esssecuritylabel xmlns='urn:xmpp:sec-label:ess:0'
|
|
||||||
>MQMGASk=</esssecuritylabel>
|
|
||||||
</label>
|
|
||||||
</securitylabel>
|
|
||||||
</item>
|
|
||||||
</catalog>
|
</catalog>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
@ -756,7 +757,7 @@ And by opposing end them?
|
|||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sl="urn:xmpp:sec-label:0"
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sl="urn:xmpp:sec-label:0"
|
||||||
xmlns="urn:xmpp:sec-label:catalog:1" targetNamespace="urn:xmpp:sec-label:catalog:1"
|
xmlns="urn:xmpp:sec-label:catalog:2" targetNamespace="urn:xmpp:sec-label:catalog:1"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -796,12 +797,25 @@ And by opposing end them?
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attribute name="restrict" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Restrictive</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
|
||||||
<xs:attribute name="selector" type="xs:string">
|
<xs:attribute name="selector" type="xs:string">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>User input selector</xs:documentation>
|
<xs:documentation>User input selector</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attribute name="default" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Default Item</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
<xs:element name="catalog">
|
<xs:element name="catalog">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>A Catalog of Labels</xs:documentation>
|
<xs:documentation>A Catalog of Labels</xs:documentation>
|
||||||
@ -809,12 +823,13 @@ And by opposing end them?
|
|||||||
|
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="item" maxOccurs="unbounded">
|
<xs:element name="item" minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element ref="sl:securitylabel"/>
|
<xs:element ref="sl:securitylabel"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute ref="selector" use="optional"/>
|
<xs:attribute ref="selector" use="optional"/>
|
||||||
|
<xs:attribute ref="default" use="optional"/>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -823,6 +838,7 @@ And by opposing end them?
|
|||||||
<xs:attribute ref="desc" use="optional"/>
|
<xs:attribute ref="desc" use="optional"/>
|
||||||
<xs:attribute ref="id" use="optional"/>
|
<xs:attribute ref="id" use="optional"/>
|
||||||
<xs:attribute ref="size" use="optional"/>
|
<xs:attribute ref="size" use="optional"/>
|
||||||
|
<xs:attribute ref="restrict" use="optional"/>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
|
Loading…
Reference in New Issue
Block a user