<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="managesieve.xsl"?>
<?xml-model href="managesieve.rng" schematypens="http://relaxng.org/ns/structure/1.0" ?>
<registry xmlns="http://www.iana.org/assignments" id="managesieve">
  <title>ManageSieve Registries</title>
  <category>Sieve Extensions</category>
  <created>2009-01-29</created>
  <updated>2015-05-27</updated>
  
  <registry id="capability">
    <title>ManageSieve Capabilities</title>
    <xref type="rfc" data="rfc5804"/>
    <registration_rule>Standards Track or IESG-Approved Experimental RFC</registration_rule>

    <record>
      <name>IMPLEMENTATION</name>
      <description>Its value contains name of server implementation and
        its version.</description>
      <publications><xref type="rfc" data="rfc5804"/>, 
        Section 1.8.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>SASL</name>
      <description>Its value contains a space separated list of SASL
        mechanisms supported by server.</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8 
        and Section 2.1.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>SIEVE</name>
      <description>Its value contains a space separated list of
        supported SIEVE extensions</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8. 
        Also <xref type="rfc" data="rfc5228"/>.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>STARTTLS</name>
      <description>This capability is returned if server supports TLS
        (STARTTLS command).</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8 
        and Section 2.2.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>NOTIFY</name>
      <description>This capability is returned if server supports
        'enotify' <xref type="rfc" data="rfc5435"/> 
        Sieve extension.</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>MAXREDIRECTS</name>
      <description>This capability returns the limit on the number of
        Sieve "redirect" actions a script can perform during a single
        evaluation.  The value is a non-negative number represented as a
        ManageSieve string.</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>  
    <record>
      <name>LANGUAGE</name>
      <description>The language (&lt;Language-Tag&gt; from <xref type="rfc" data="rfc4646"/>)
        currently used for human readable error messages.</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>OWNER</name>
      <description>Its value contains UTF-8 encoded name of the
        currently logged in user ("authorization identity" according to
        <xref type="rfc" data="rfc4422"/>).</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 1.8.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>VERSION</name>
      <description>This capability is returned if the server is
        compliant with <xref type="rfc" data="rfc5804"/>, i.e. that 
        it supports RENAMESCRIPT, CHECKSCRIPT and NOOP commands.</description>
      <publications><xref type="rfc" data="rfc5804"/>, Section 2.11.</publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>EXTLISTS</name>
      <description>This capability is returned if the server supports the 
        "extlists" <xref type="rfc" data="rfc6134"/> 
      Sieve extension.</description>
      <publications><xref type="rfc" data="rfc6134"/>, Section 2.8.</publications>
      <contact>Sieve mailing list (sieve@ietf.org)</contact>
      <controller>IESG</controller>
    </record>  
    
  </registry>
  
  <registry id="response">
    <title>ManageSieve Response Codes</title>
    <xref type="rfc" data="rfc5804"/>
    <registration_rule>Standards Track or IESG-Approved Experimental RFC</registration_rule>
 
    <record>
      <name>AUTH-TOO-WEAK</name>
      <description>NONE</description>
      <purpose>This response code is returned in the NO response from an
        AUTHENTICATE command.  It indicates that site security policy
        forbids the use of the requested mechanism for the specified
        authentication identity.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>ENCRYPT-NEEDED</name>
      <description>NONE</description>
      <purpose>This response code is returned in the NO response from an
        AUTHENTICATE command.  It indicates that site security policy
        requires the use of a strong encryption mechanism for the
        specified authentication identity and mechanism.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>QUOTA</name>
      <description>NONE</description>
      <purpose>If this response code is returned in the NO/BYE response,
        it means that the command would have placed the user above the
        site-defined quota constraints.  If this response code is returned
        in the OK response, it can mean that the user is near its quota or
        that the user exceeded its quota, but the server supports soft
        quotas.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>QUOTA/MAXSCRIPTS</name>
      <description>NONE</description>
      <purpose>If this response code is returned in the NO/BYE response,
        it means that the command would have placed the user above the
        site-defined limit on the number of Sieve scripts.  If this
        response code is returned in the OK response, it can mean that the
        user is near its quota or that the user exceeded its quota, but
        the server supports soft quotas.  This response code is a more
        specific version of the QUOTA response code.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>    
    <record>
      <name>QUOTA/MAXSIZE</name>
      <description>NONE</description>
      <purpose>If this response code is returned in the NO/BYE response,
        it means that the command would have placed the user above the
        site-defined maximum script size.  If this response code is
        returned in the OK response, it can mean that the user is near its
        quota or that the user exceeded its quota, but the server supports
        soft quotas.  This response code is a more specific version of the
        QUOTA response code.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>REFERRAL</name>
      <description>&lt;sieveurl&gt;</description>
      <purpose>This response code may be returned with a BYE result from
        any command, and includes a mandatory parameter that indicates
        what server to access to manage this user's sieve scripts.  The
        server will be specified by a Sieve URL (see Section 3).  The
        scriptname portion of the URL MUST NOT be specified.  The client
        should authenticate to the specified server and use it for all
        further commands in the current session.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>SASL</name>
      <description>&lt;string&gt;</description>
      <purpose>This response code can occur in the OK response to a
        successful AUTHENTICATE command and includes the optional final
        server response data from the server as specified by 
        <xref type="rfc" data="rfc4422"/>.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>TRANSITION-NEEDED</name>
      <description>NONE</description>
      <purpose>This response code occurs in a NO response of an
        AUTHENTICATE command.  It indicates that the user name is valid,
        but the entry in the authentication database needs to be updated
        in order to permit authentication with the specified mechanism.
        This is typically done by establishing a secure channel using TLS,
        followed by authenticating once using the PLAIN <xref type="rfc" data="rfc4616"/> 
        authentication mechanism.  The selected mechanism SHOULD then work for
        authentications in subsequent sessions.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>TRYLATER</name>
      <description>NONE</description>
      <purpose>A command failed due to a temporary server failure.  The
        client MAY continue using local information and try the command
        later.  This response code only make sense when returned in a NO/
        BYE response.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>ACTIVE</name>
      <description>NONE</description>
      <purpose>A command failed because it is not allowed on the active
        script.  For example DELETESCRIPT on the active script.  This
        response code only makes sense when returned in a NO/BYE response.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>NONEXISTENT
      </name>
      <description>NONE</description>
      <purpose>A command failed because the referenced script name
        doesn't exist.  This response code only makes sense when returned
        in a NO/BYE response.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>ALREADYEXISTS
      </name>
      <description>NONE</description>
      <purpose>A command failed because the referenced script name
        already exists.  This response code only makes sense when returned
        in a NO/BYE response.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>WARNINGS
      </name>
      <description>NONE</description>
      <purpose>This response code MAY be returned by the server in the
        OK response (but it might be returned with the NO/BYE response as
        well) and signals the client that even though the script is
        syntactically valid, it might contain errors not intended by the
        script writer.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
    <record>
      <name>TAG
      </name>
      <description>string</description>
      <purpose>This response code name is followed by a string specified
        in the command that caused this response.  It is typically used
        for client state synchronization.</purpose>
      <publications><xref type="rfc" data="rfc5804"/></publications>
      <contact>Alexey Melnikov (alexey.melnikov@isode.com)</contact>
      <controller>IESG</controller>
    </record>
 
  </registry>

  <people/>
  
</registry>
