<?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 RFC4510 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4510.xml">
<!ENTITY RFC4519 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4519.xml">
<!ENTITY I-D.howard-namedobject SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.howard-namedobject.xml">
<!ENTITY I-D.behera-ldap-password-policy SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.behera-ldap-password-policy.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-namedobject-00" ipr="trust200902">

  <front>

    <title abbrev="LDAP Named Objects">
      Lightweight Directory Access Protocol (LDAP):
      Structural Object Classes for Named Objects
    </title>

    <author fullname="Michael Ströder" initials="M" surname="Ströder">
<!-- <organization/> -->
      <address>
        <postal>
          <street></street>
          <city>Karlsruhe</city>
<!-- <region/> -->
<!-- <code/> -->
          <country>Germany</country>
        </postal>
<!-- <phone/> -->
<!-- <facsimile/> -->
        <email>michael@stroeder.com</email>
        <uri>http://www.stroeder.com</uri>
      </address>
    </author>

    <date year="2012" />
<!-- <area/> -->
    <workgroup>Network Working Group</workgroup>
    <keyword>ldap</keyword>
    <keyword>namedObject</keyword>
    <keyword>namedPolicy</keyword>

    <abstract>
      <t>
        This document defines structural object classes that can be used
        when no other structural object class seems suitable. Especially
        the object classes will give the possibility to associate a common
        name and a free-from description with the object.
      </t>
    </abstract>

  </front>

  <middle>

    <section title="Introduction">
      <t>
        Standards for LDAP directories often define additional schema elements,
        especially auxiliary object classes that are intended to hold various
        attributes needed by that standard.

        When adding entries with such an auxiliary object class it is up to the
        directory operator to choose an appropriate structural object class
        required to add the entry.  Often the structural object classes used
        were defined for other purposes and thus seem too complex for this
        simple purpose.
      </t>
      <t>
        Inspired by unfinished <xref target="I-D.howard-namedobject"/>
        this document defines structural object classes, 'namedObject' and
        'namedPolicy'.  Only attributes defined in <xref target="RFC4519"/> are
        used within these simple object classes.
        Arbitrary auxiliary object classes may be thus associated with entries
        which have such a structural object class.
      </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="OCDefinitions" title="Object Class Definitions">

      <t>
        The object classes definitions in this section are using the
        following attributes defined in <xref target="RFC4519"/>:
        'cn', 'description' and 'serialNumber'.
      </t>
      <t>
        The mandantory attribute 'cn' SHOULD be used to form the RDN of
        the entry if there are no other appropriate naming attributes
        available.  If the optional attribute 'serialNumber' contains a
        value it MAY be used to form the RDN of the entry. Other
        attributes allowed by auxiliary classes also MAY be used for
        naming purposes.
      </t>
      <t>
        LDAP clients displaying a list of entries of these object 
        classes should use mandantory attribute 'cn' to display select 
        lists, hyper-links etc.
      </t>

      <section anchor="namedObject" title="'namedObject'">
        <t>
          The 'namedObject' object class definition is the basis of an
          entry that represents an arbitrary named object. The attribute
          'cn' MUST be added to the entry. The attributes 'serialNumber'
          and 'description' MAY be added to the entry.
        </t>
        <t>
          ( 1.3.6.1.4.1.5427.1.389.6.20
            NAME 'namedObject'
            SUP top
            STRUCTURAL
            MUST cn
            MAY ( serialNumber $ description ) )
        </t>
      </section>

      <section anchor="namedPolicy" title="'namedPolicy'">
        <t>
          The 'namedPolicy' object class definition is sub-classed from
          'namedObject'.  It SHOULD only be used for entries which
          represents an arbitrary policy.  A typical example would be to
          use it along with auxiliary object class 'pwdPolicy' defined in
          <xref target="I-D.behera-ldap-password-policy"/>.
        </t>
        <t>
          ( 1.3.6.1.4.1.5427.1.389.6.21
            NAME 'namedPolicy'
            SUP namedObject
            STRUCTURAL )
        </t>
      </section>

    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>
        The 'namedObject' object class definition in this document
        supersedes the specification of the 'namedObject' in
        <xref target="I-D.howard-namedobject"/> by L. Howard.
      </t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>
        The OID arc used for the object class defintions is:
        iso(1) org(3) dod(6) internet(1) private(4) enter-prise(1) stroeder.com(5427) objectClasses(6)
      </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;
      &RFC4510;
      &RFC4519;
    </references>

    <references title="Informative References">
      &I-D.howard-namedobject;
      &I-D.behera-ldap-password-policy;
    </references>

  </back>

</rfc>
