Network Working Group                                        Tim Howes
INTERNET DRAFT                                  University of Michigan
draft-ietf-asid-mime-direct-00.txt


             A MIME Content-Type for Directory Information



1.  Status of this Memo

This document is an Internet-Draft.  Internet-Drafts are  working  docu-
ments  of the Internet Engineering Task Force (IETF), its areas, and its
working groups.  Note that other  groups  may  also  distribute  working
documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum  of  six  months
and  may  be  updated,  replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as ``work in progress.''

To learn the current status of  any  Internet-Draft,  please  check  the
``1id-abstracts.txt''  listing  contained in the Internet- Drafts Shadow
Directories   on   ftp.is.co.za   (Africa),   nic.nordu.net    (Europe),
munnari.oz.au   (Pacific  Rim),  ds.internic.net  (US  East  Coast),  or
ftp.isi.edu (US West Coast).

2.  Abstract

This memo defines a MIME Content-Type for holding directory information.
The application/directory Content-Type is defined for holding basic tex-
tual directory information, for example, name,  or  email  address.  The
multipart/mixed  Content-Type  is  used  for  handling  more complicated
situations, in which non-textual information, for example, a  photograph
or sound, must be represented.

3.  Need for a MIME Directory Type

There are several situations in which users of Internet mail may wish to
exchange  directory  information: the email analogy of a "business card"
exchange; the conveyance of directory information to a user having  only
email  access to the Internet; the provision of machine-parsable address
information when purchasing goods or services over the Internet; etc. As
MIME [mime1] is used increasingly by other protocols, most notably HTTP,
it may be useful for these protocols  to  be  able  to  carry  directory
information in MIME format. Such a format, for example, could be used to
represent  URC  (uniform  resource  characteristics)  information  about
resources on the World Wide Web.



Howes                                                           [Page 1]


Expires January 1996                                      INTERNET DRAFT


4.  Overview

The scheme described here for representing directory  information  in  a
MIME  Content-Type  has  two  parts.  First,  the  application/directory
Content-Type is defined for use  in  holding  simple  textual  directory
information,  for example name, title, or email address. The format uses
a simple "type: value" approach, which  should  be  easily  parsable  by
existing  MIME  implementations.  The allowable values for "type", their
correspondence with attributes or fields  in  several  common  directory
services,  and  the  procedure by which new types are defined are given,
along with the formats for "value", their correspondence with values  or
syntaxes  in  several  common  directory  services, and the procedure by
which new values are defined. Many values are represented using the con-
ventions  defined  in RFC 1522 [mime2], allowing multiple character sets
to be used.

Directory entries can include far more than  just  textual  information.
Some  such information (e.g., an image or sound attribute) overlaps with
predefined MIME Content-Type. In these cases  it  may  be  desirable  to
include  the attributes in their well-known MIME formats. This situation
is handled by using a multipart/mixed Content-Type. The first  component
of  this  type is an application/directory body part specifying any tex-
tual  information  in-line,  and  for  information  contained  in  other
Content-Types, the Content-IDs of those types.

5.  The application/directory Content-Type

The application/directory Content-Type is used to hold textual directory
information  and  to  point  to  other  MIME body parts holding non-text
information. It is defined as follows, using the MIME subtype definition
from RFC 1521.

      (1) MIME type name: application

      (2) MIME subtype name: directory

      (3) Required parameters: none

      (4) Optional parameters: charset, source

      Note that the value of the "source" parameter is intended to provide
      the means by which applications knowledgable in the given directory
      service protocol may obtain additional or more up-to-date
      information from the directory service. It contains a URL pointing
      to the directory entry from which the information came. When
      directory information is available from more than one source, the
      sending entity should pick what it considers to be the "best" source.




Howes                                                           [Page 2]


Expires January 1996                                      INTERNET DRAFT


      (5) Encoding considerations: as specified by Content-Transfer-Encoding

      (6) Security considerations: none

      (7) Specification:

      The "application/directory" Content-Type contains directory
      information on one directory entry.  Using the ABNF notation of RFC
      822, the syntax for this content is:

      <content>  ::=  [<type>   ":" <value>]*

      <type>     ::=  "cn" | "sn" | "fn" | "c" | "st" | "l" | "email"
                      | "title" | "fax" | "pager" | "wphone" | "hphone"
                      | "waddress" | "haddress" | "uri" | "o" | "photo"
                      | "type" | "name" | <x-type>

      <x-type>   ::=  <the two characters "X-" or "x-" followed, with no
                       intervening white space, by any token>

      <value>    ::=  a character string whose syntax depends on <type>

      The meanings of the various "types" and the format of the corresponding
      "values" are given below in Table 1. The corresponding types or
      fields in several existing directory services are given in Appendix A.

      type     used to hold            format of values
      --------------------------------------------------------------------
      waddress work postal address     a sequence of text lines separated
                                         by <CRLF> <space>
      haddress home postal address     a sequence of text lines separated
                                         by <CRLF> <space>
      c        country                 text
      cn       name                    text
      email    RFC 822 email address   an RFC 822 email address
      fax      fax telephone number    text
      fn       first name              text
      l        locality name           text
      o        organization name       text
      pager    pager telephone number  text
      wphone   voice telephone number  text
                 at work
      hphone   voice telephone number  text
                 at home
      image    image                   an RFC 822 msg-id
      sound    sound                   an RFC 822 msg-id
      sn       surname                 text
      st       state or province       text



Howes                                                           [Page 3]


Expires January 1996                                      INTERNET DRAFT


      title    title                   text
      type     type of object          an object type value as defined
                                         in this document, registered with
                                         IANA, or bilaterally agreed upon
                                         (see note below)
      uri      uniform resource
                 identifier            an RFC 1738 URL
      name     directory name          a text version of the object's
                                         directory name
      --------------------------------------------------------------------
      Table 1. Types, their meanings, and syntaxes.

      Note that text values follow the RFC 822 convention for continued
      lines, except that a "continued" line in an address marks
      the next line of the address, not a continuation of the current line.

      Note that the charset parameter should be used to identify character
      sets other than US ASCII. If different attributes within the same
      "application/directory" body component have different character sets,
      they can both be converted to UNICODE, or another character set
      which is a superset of both.

      Note that the "image" and "sound" types contain a Content-ID and are
      only used in conjunction with the multipart/mixed Content-Type defined
      in the next section.

      The allowable values for the "type" type are listed below.

           "person"

      Further values may be registered with IANA or bilaterally agreed
      upon. A bilaterally agreed upon value consists of the two characters
      "X-" or "x-" followed, with no intervening white space, by any
      other token.

      Note that the "name" field may or may not be meaningful, depending
      on the source directory service.

      [[ Note that the IANA registration schemes referred to here will be
         defined in a later version of this document. ]]

6.  Use of the multipart/mixed Content-Type

The multipart/mixed Content-Type can be used to hold  directory  entries
containing  both text and non-text information. The first body part must
have a Content-Type of "application/directory". This  part  defines  the
name  and source of the information, holds any text information from the
entry, and makes reference to subsequent  body  parts  holding  non-text



Howes                                                           [Page 4]


Expires January 1996                                      INTERNET DRAFT


directory information via their Content-IDs.

The body parts referred to do not have to be in any particular order, as
long  as  they  come after the "application/directory" part referring to
them.

7.  Examples

The    following    example    illustrates    simple    use    of    the
"application/directory" Content-Type.

      From: Whomever
      To: Someone
      Subject: whatever
      MIME-Version: 1.0
      Message-ID: <id1@host.net>
      Content-Type: application/directory
      Content-ID: <id2@host.com>

      cn: Babs Jensen
      cn: Barbara J Jensen
      sn: Jensen
      email: babs@umich.edu
      wphone: +1 313 747-4454

The next example illustrates the use of RFC  1522  encoding  to  include
non-ascii characters in some of the information returned, and the use of
the optional "name" and "source" parameters.

      Content-Type: application/directory;
          charset="iso-8859-1";
          source="ldap://cn=Bjorn%20Jensen,o=University%20of%20Michigan,c=US"
      Content-ID: <id3@host.com>
      Content-Transfer-Encoding: Quoted-Printable

      cn: Bj=F8rn Jensen
      waddress: 535 W. William St.
                Ann Arbor, MI 48103
      sn: Jensen
      email: bjorn@umich.edu
      wphone: +1 313 747-4454

The final example illustrates the use of  the  multipart/mixed  Content-
Type to include non-textual directory data.

      Content-Type: multipart/mixed; boundary=woof
      Content-ID: <id4@host.com>




Howes                                                           [Page 5]


Expires January 1996                                      INTERNET DRAFT


      --woof
      Content-Type: application/directory;
          charset="iso-8859-1";
          source="ldap://cn=Bjorn%20Jensen,o=University%20of%20Michigan,c=US"
      Content-ID: <id5@host.com>
      Content-Transfer-Encoding: Quoted-Printable

      cn: Bj=F8rn Jensen
      sn: Jensen
      email: bjorn@umich.edu
      image: <id6@host.com>
      sound: <id7@host.com>
      wphone: +1 313 747-4454
      name: cn=3DBjorn Jensen, o=3DUniversity of Michigan,c=3DUS

      --woof
      Content-Type: image/jpeg
      Content-ID: <id6@host.com>

      <...image data...>

      --woof
      Content-Type: message/external-body;
          name="myvoice.au";
          site="myhost.com";
          access-type=ANON-FTP;
          directory="pub/myname";
          mode="image"

      Content-Type: audio/basic
      Content-ID: <id7@host.com>

      --woof--

8.  Security Considerations

Internet mail is subject to many well known security attacks,  including
monitoring,  replay,  and forgery. Applications should also take care to
display directory data in a "safe" environment (e.g.,  PostScript-valued
attributes).

9.  Bibliography

[ldap1]   Yeong, W., Howes, T., Kille, S., "Lightweight Directory Access
          Protocol", Request for Comment (RFC) 1777, March 1995.

[ldap2]   Howes, T., Kille, S., Yeong, W., Robbins,  C.J.,  "The  String
          Representation  of  Standard  Attribute Syntaxes", Request for



Howes                                                           [Page 6]


Expires January 1996                                      INTERNET DRAFT


          Comment (RFC) 1778, March 1995.

[rfc822]  Crocker, D., "Standard for the Format of  ARPA  Internet  Text
          Messages", STD 11, RFC 822, August 1982.

[mime1]   Borenstein, N., Freed, N., "MIME (Multipurpose  Internet  Mail
          Extensions) Part One: Mechanisms for Specifying and Describing
          the Format of Internet Message Bodies",  RFC  1521,  September
          1993.

[mime2]   Moore, K., "MIME (Multipurpose Internet Mail Extensions)  Part
          Two:  Message Header Extensions for Non-ASCII Text", RFC 1522,
          September 1993.

[x500]    "Information Processing Systems - Open Systems Interconnection
          -  The  Directory: Overview of Concepts, Models and Services",
          ISO/IEC JTC 1/SC21, International Standard 9594-1, 1988.

10.  Author's Address

   Tim Howes
   University of Michigan
   ITD Research Systems
   535 W William St.
   Ann Arbor, MI 48103-4943
   USA
   +1 313 747-4454
   tim@umich.edu

11.  Appendix A - Correspondence With Various Directory Services

                name in                   name in              name in
      type      LDAP/X.500                SOLO                 WHOIS++
      --------------------------------------------------------------------
      waddress  postalAddress             Work-address         Work-Postal
      haddress  homePostalAddress                              Home-Postal
      c         friendlyCountryName,co    C                    Country
                  c,countryName
      cn        commonName,cn             Name,CommonName      Name
      email     rfc822Mailbox,mail        Email-address,       Email
                                            rfc822Mailbox
      fax       facsimileTelephoneNumber  Fax-telephone        Work-Fax,
                                                                 Home-Fax
      fn        givenName                 First name
      l         localityName,l            LocalityName
      o         organizationName,o        Organization         Organization-Name
      pager     pagerTelephoneNumber,
                  pager



Howes                                                           [Page 7]


Expires January 1996                                      INTERNET DRAFT


      wphone    telephoneNumber           Work-telephone       Work-Phone
      hphone    homeTelephoneNumber                            Home-Phone,
      photo     jpegPhoto,photo
      sn        surname,sn                Surname
      st        stateOrProvinceName,st    StateOrProvinceName  State
      title     title,personalTitle       Title                Title
      type      objectClass               Template             Template-Type
      uri       labeledURI                                     Description-URI











































Howes                                                           [Page 8]