<?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>XEP-0062</dependencies> <supersedes>None</supersedes> <supersededby>None</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><message/> - true if the packet is a <message/> packet.</li> <li><presence/> - true if the packet is a <presence/> packet.</li> <li><iq/> - true if the packet is a <iq/> packet. If this element contains CDATA, then it must match the namespace of the first element inside the packet (typically <query/>) in order to be true.</li> <li><to/> - true when the CDATA of this element matches the "to" attribute of the packet.</li> <li><from/> - true when the CDATA of this element matches the "from" attribute of the packet.</li> <li><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><drop/> - drops the packet</li> <li><bounce/> - bounces the packet with the error specified in the "code" attribute of this element.</li> <li><redirect/> - redirects the packet to the JID specified in the CDATA of this element.</li> <li><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'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>