<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5321 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5321.xml">
<!ENTITY RFC2798 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2798.xml">
<!ENTITY RFC3490 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3490.xml">
<!ENTITY RFC4510 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4510.xml">
<!ENTITY RFC4517 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4517.xml">
<!ENTITY RFC4524 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4524.xml">
<!ENTITY RFC6530 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6530.xml">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> <!-- used by XSLT processors -->
<!-- OPTIONS, known as processing instructions (PIs) go here. -->
<!-- For a complete list and description of PIs,
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable PIs that most I-Ds might want to use. -->
<?rfc strict="yes" ?> <!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC): -->
<?rfc toc="yes"?> <!-- generate a ToC -->
<?rfc tocdepth="2"?> <!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references: -->
<?rfc symrefs="yes"?> <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?> <!-- sort the reference entries alphabetically -->
<!-- control vertical white space:
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?> <!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?> <!-- keep one blank line between list items -->
<!-- end of popular PIs -->

<rfc  category="info" docName="draft-stroeder-mailboxrelatedobject-06" ipr="trust200902">

  <front>

    <title abbrev="LDAP Mailbox Related Objects">
      Lightweight&#160;Directory&#160;Access&#160;Protocol&#160;(LDAP):
      Auxiliary&#160;Object&#160;Class&#160;'mailboxRelatedObject'
    </title>

    <author fullname="Michael Stroeder" initials="M" surname="Stroeder">
      <organization>Independent consultant</organization>
      <address>
        <postal>
          <street>Klauprechtstr. 11</street>
          <city>Karlsruhe</city>
          <code>76137</code>
          <country>DE</country>
        </postal>
<!-- <phone/> -->
        <email>michael@stroeder.com</email>
        <uri>http://www.stroeder.com</uri>
      </address>
    </author>

    <date year="2014" />
    <area>Internet</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>ldap</keyword>
    <keyword>mailboxRelatedObject</keyword>

    <abstract>
      <t>
        This document defines the auxiliary object class
        'mailboxRelatedObject' that can be used to associate an
        arbitrary object with an Internet mail address. Furthermore an
        attribute 'intlMailAdr' is defined for storing fully
        internationalized Internet mail addresses.
      </t>
    </abstract>

  </front>

  <middle>

    <section title="Introduction">
      <t>
        The attribute 'mail' <xref target="RFC4524"/> can be 
        used to store Internet mail addresses with internationalized 
        &lt;domain&gt; by using the ToASCII method <xref target="RFC3490"/>.
        But it cannot be used to store addresses with &lt;local-part&gt; 
        containing non-ASCII characters.
      </t>
      <t>
        Therefore this documents defines a new attribute type 
        'intlMailAdr' for fully internationalized Internet mail 
        addresses as defined in <xref target="RFC6530"/>.
      </t>
      <t>
        Often there is a need to associate a, most
        times non-personal, Internet mail address with an arbitrary object
        (a service or system user) so applications can lookup where to send mail for this object.
        Many times the commonly available object class 'inetOrgPerson' 
        <xref target="RFC2798"/> is wrongly used for storing such 
        non-personal Internet mail addresses in attribute 'mail'
        <xref target="RFC4524"/>.
      </t>
      <t>
        Therefore this document defines the auxiliary object class
        'mailboxRelatedObject' that can be used to associate an
        arbitrary object with an Internet mail address.  It allows to
        add an Internet mail address attribute to any entry and allows
        to use either one or both of attributes 'mail' and 'intlMailAdr'.
      </t>
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
        this document are to be interpreted as described in
        <xref target="RFC2119"/>.
      </t>
      <t>
        This document is being discussed on the ldapext@ietf.org mailing list.
      </t>
    </section>

    <section anchor="at_def" title="Attribute Type Definition">

      <t>
        The attribute type 'intlMailAdr' is defined for storing SMTPUTF8 
        compliant addresses <xref target="RFC6530"/>.
      </t>
      <figure><artwork><![CDATA[
    ( 1.3.6.1.4.1.5427.1.389.4.18
      NAME 'intlMailAdr'
      DESC 'Internationalized Email Address'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
      ]]></artwork></figure>

      <t>
        The DirectoryString (1.3.6.1.4.1.1466.115.121.1.15) syntax and the
        'caseIgnoreMatch' and 'caseIgnoreSubstringsMatch' rules are
        described in <xref target="RFC4517"/>.
      </t>
      <t>
        Note that an application might have used the ToASCII method 
        <xref target="RFC3490"/> to produce &lt;sub-domain&gt; 
        components of the &lt;Mailbox&gt; production.
        This leads to different possible string representations of the same 
        internationalized Internet mail address which could be listed as 
        different values entry's 'intlMailAdr' attribute, operational 
        issues may arise.
      </t>
      <t>
        The following issues like described for attribute type 'mail' in 
        <xref target="RFC4524"/> have to be considered also for 
        'intlMailAdr' defined above:
      </t>
      <t>
        Note that the directory will not ensure that values of this
        attribute conform to the &lt;Mailbox&gt; production
        <xref target="RFC5321"/>.  It is the application's 
        responsibility to ensure that domains it stores in this 
        attribute are appropriately represented.
      </t>
      <t>
        Additionally, the directory will compare values per the matching
        rules named in the above attribute type description.  As these
        rules differ from rules that normally apply to &lt;Mailbox&gt;
        comparisons, operational issues may arise.  For example, the
        assertion (mail=joe@example.com) will match "JOE@example.com"
        even though the &lt;local-parts&gt; differ.  Also, where a user
        has two &lt;Mailbox&gt;es whose addresses differ only by case of
        the &lt;local-part&gt;, both cannot be listed as values of the
        entry's 'intlMailAdr' attribute in the same entry (as they are
        considered equal by the 'caseIgnoreMatch' rule).
      </t>

    </section>

    <section anchor="oc_def" title="Object Class Definition">

      <t>
        Entries of auxiliary object class 'mailboxRelatedObject' MAY
        contain the following optional attributes:
        'mail' <xref target="RFC4524"/>
        'displayName' <xref target="RFC2798"/>
        'intlMailAdr'
      </t>
      <figure><artwork><![CDATA[
    ( 1.3.6.1.4.1.5427.1.389.6.9
      NAME 'mailboxRelatedObject'
      DESC 'Associated RFC 5321 mailbox for any entry'
      AUXILIARY
      MAY ( displayName $ mail $ intlMailAdr ) )
      ]]></artwork></figure>
      <t>
        'mail' and 'intlMailAdr' are listed as optional attributes to 
        allow to use only one of both.
      </t>
      <t>
        If 'mail' and 'intlMailAdr' are both set an application MAY 
        choose one or the other to send mail to the entity represented 
        by the directory entry.  Therefore Internet mail addresses in 
        attributes 'mail' and 'intlMailAdr' SHOULD represent the same 
        mailbox if both are set or at least the entity MUST be able 
        to retrieve the mail sent to either one of the addresses.
      </t>

    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>
        The OID arc used for the attribute type and object class definition is:
        <vspace blankLines="0" />
        iso(1) org(3) dod(6) internet(1) private(4) enter-prise(1) stroeder.com(5427) public(1) ldap(389)
      </t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>
        The introduction of these object classes does not impact the
        security of the Internet or a particular LDAP directory service.
      </t>
      <t>
        Security considerations for LDAP in general are discussed in documents
        comprising the technical specification <xref target="RFC4510"/>.
      </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">
      &RFC2119;
      &RFC2798;
      &RFC4510;
      &RFC4517;
      &RFC4524;
    </references>

    <references title="Informative References">
      &RFC5321;
      &RFC3490;
      &RFC6530;
   </references>


  </back>

</rfc>
