<!-- This is the router filter ruleset.
     It allows for finegrained routing control.

     to, from - wildmat patterns
                absent attribute matches absence of attribute
                "*" matches any value of attribute
     what     - XPath like query
     redirect - send packet to given JID instead original recipient
     error    - none given means allow, if given means deny
                this is an XMPP RFC defined error condition
     log      - if set, the matched packets will be logged in router log

     Rules are matched in order of apperance. First match is efffective.
-->

<filter>
  <!-- first allow any routing without to or from - it's internal. -->
  <!--
  <rule/>
  <rule from="*"/>
  <rule to="*"/>
  -->

  <!-- create simple alias -->
  <!-- <rule from="*" to="god@example.org" redirect="admin@example.org"/> -->

  <!-- don't allow msn registrations, but... -->
  <!-- <rule from="dearhart@example.org" to="msn.example.org"/> -->
  <!-- <rule error="not-allowed" from="*" to="msn.example.org" what="iq/query?xmlns=jabber:iq:register" log="yes"/> -->

  <!-- this user should not talk with evil -->
  <!-- <rule error="not-allowed" from="user@example.org" to="*@evil.gov" what="message"/> -->

  <!-- I don't want evil to read my data -->
  <!-- <rule error="forbidden" from="*@evil.gov" to="admin@example.org" what="iq/vCard" log="on"/> -->

  <!-- and finally, let's blind the world with some exceptions -->
  <!--
  <rule from="*@goodguys.org" to="*" what="presence"/>
  <rule from="admin@example.org" to="*" what="presence"/>
  <rule error="not-acceptable" from="*" to="*" what="presence"/>
  -->

</filter>
<!--
  vim: syntax=xml
-->
