xeps/xep-0063.xml

108 строки
3.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>Basic Filtering Operations</title>
<abstract>A module that provides basic conditions and actions for packet filtering.</abstract>
&LEGALNOTICE;
<number>0063</number>
<status>Deferred</status>
<type>Informational</type>
<sig>Standards</sig>
<dependencies><spec>XEP-0062</spec></dependencies>
<supersedes/>
<supersededby/>
<shortname>Not yet assigned</shortname>
<author>
<firstname>Robert</firstname>
<surname>Norris</surname>
<email>rob@cataclysm.cx</email>
<jid>rob@cataclysm.cx</jid>
</author>
<revision>
<version>0.2</version>
<date>2003-09-30</date>
<initials>psa</initials>
<remark>At the request of the author, changed the status of this document to Deferred pending development of an implementation; also changed the type to Informational.</remark>
</revision>
<revision>
<version>0.1</version>
<date>2002-12-05</date>
<initials>rn</initials>
<remark>Initial version.</remark>
</revision>
</header>
<section1 topic='Introduction'>
<p>This document defines a module for &xep0062; that provides some basic conditions and actions to perform common packet filtering tasks.</p>
<p>This module operates in the "http://jabber.org/protocol/filter/basic" namespace.</p>
</section1>
<section1 topic='Conditions'>
<p>This module defines the fullowing conditions:</p>
<ul>
<li>&lt;message/> - true if the packet is a &lt;message/> packet.</li>
<li>&lt;presence/> - true if the packet is a &lt;presence/> packet.</li>
<li>&lt;iq/> - true if the packet is a &lt;iq/> packet. If this element contains CDATA, then it must match the namespace of the first element inside the packet (typically &lt;query/>) in order to be true.</li>
<li>&lt;to/> - true when the CDATA of this element matches the "to" attribute of the packet.</li>
<li>&lt;from/> - true when the CDATA of this element matches the "from" attribute of the packet.</li>
<li>&lt;type/> - true when the CDATA of this element matches the "type" attribute of the packet.</li>
</ul>
<example caption='Matches all presence packets'><![CDATA[
<presence xmlns='http://jabber.org/protocol/filter/basic'/>
]]></example>
<example caption='Matches all jabber:iq:version IQ packets'><![CDATA[
<iq xmlns='http://jabber.org/protocol/filter/basic'>jabber:iq:version</iq>
]]></example>
<example caption='Matches all packets from user@company.com'><![CDATA[
<from xmlns='http://jabber.org/protocol/filter/basic'>user@company.com</from>
]]></example>
</section1>
<section1 topic='Actions'>
<p>This module defines the fullowing actions:</p>
<ul>
<li>&lt;drop/> - drops the packet</li>
<li>&lt;bounce/> - bounces the packet with the error specified in the "code" attribute of this element.</li>
<li>&lt;redirect/> - redirects the packet to the JID specified in the CDATA of this element.</li>
<li>&lt;copy/> - sends a copy of the packet to the JID specified in the CDATA of this element, while giving the original packet to the user.</li>
</ul>
<example caption='Pretend that we don&apos;t exist'><![CDATA[
<bounce xmlns='http://jabber.org/protocol/filter/basic' code='404'/>
]]></example>
<example caption='Send a copy to our home account'><![CDATA[
<copy xmlns='http://jabber.org/protocol/filter/basic'>me@home.com</copy>
]]></example>
</section1>
<section1 topic='Security Considerations'>
<p>There are no security features or concerns related to this proposal.</p>
</section1>
<section1 topic='IANA Considerations'>
<p>This document requires no interaction with the IANA.</p>
</section1>
<section1 topic='JANA Considerations'>
<p>No namespaces or parameters need to be registered with JANA as a result of this document.</p>
</section1>
</xep>