RFC 3712 - Lightweight Directory Access Protocol (LDAP): Sch

时间:2006-10-28 来源: 作者: 点击:
NetworkWorkingGroupP.Fleming RequestforComments:3712IBM Category:InformationalI.McDonald HighNorth February2004 LightweightDirectoryAccessProtocol(LDAP): SchemaforPrinterServices StatusofthisMemo ThismemoprovidesinformationfortheInternetcommunity.Itd
  Network Working Group                                         P. Fleming
Request for Comments: 3712                                           IBM
Category: Informational                                      I. McDonald
                                                              High North
                                                           February 2004

             Lightweight Directory Access Protocol (LDAP):
                      Schema for Printer Services

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   This document defines a schema, object classes and attributes, for
   printers and printer services, for use with directories that support
   Lightweight Directory Access Protocol v3 (LDAP-TS).  This document is
   based on the printer attributes listed in Appendix E of Internet
   Printing Protocol/1.1 (IPP) (RFC 2911).  A few additional printer
   attributes are based on definitions in the Printer MIB (RFC 1759).

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
       1.1.  Rationale for using DirectoryString Syntax . . . . . . .  3
       1.2.  Rationale for using caseIgnoreMatch. . . . . . . . . . .  4
       1.3.  Rationale for using caseIgnoreSubstringsMatch. . . . . .  5
   2.  Terminology and Conventions. . . . . . . . . . . . . . . . . .  5
   3.  Definition of Object Classes . . . . . . . . . . . . . . . . .  6
       3.1.  slpServicePrinter. . . . . . . . . . . . . . . . . . . .  6
       3.2.  printerAbstract. . . . . . . . . . . . . . . . . . . . .  7
       3.3.  printerService . . . . . . . . . . . . . . . . . . . . .  8
       3.4.  printerServiceAuxClass . . . . . . . . . . . . . . . . .  8
       3.5.  printerIPP . . . . . . . . . . . . . . . . . . . . . . .  8
       3.6.  printerLPR . . . . . . . . . . . . . . . . . . . . . . .  9
   4.  Definition of Attribute Types. . . . . . . . . . . . . . . . .  9
       4.1.  printer-uri. . . . . . . . . . . . . . . . . . . . . . . 11
       4.2.  printer-xri-supported. . . . . . . . . . . . . . . . . . 11
       4.3.  printer-name . . . . . . . . . . . . . . . . . . . . . . 13
       4.4.  printer-natural-language-configured. . . . . . . . . . . 13

       4.5.  printer-location . . . . . . . . . . . . . . . . . . . . 14
       4.6.  printer-info . . . . . . . . . . . . . . . . . . . . . . 14
       4.7.  printer-more-info. . . . . . . . . . . . . . . . . . . . 14
       4.8.  printer-make-and-model . . . . . . . . . . . . . . . . . 15
       4.9.  printer-ipp-versions-supported . . . . . . . . . . . . . 15
       4.10. printer-multiple-document-jobs-supported . . . . . . . . 16
       4.11. printer-charset-configured . . . . . . . . . . . . . . . 16
       4.12. printer-charset-supported. . . . . . . . . . . . . . . . 16
       4.13. printer-generated-natural-language-supported . . . . . . 17
       4.14. printer-document-format-supported. . . . . . . . . . . . 17
       4.15. printer-color-supported. . . . . . . . . . . . . . . . . 18
       4.16. printer-compression-supported. . . . . . . . . . . . . . 18
       4.17. printer-pages-per-minute . . . . . . . . . . . . . . . . 18
       4.18. printer-pages-per-minute-color . . . . . . . . . . . . . 19
       4.19. printer-finishings-supported . . . . . . . . . . . . . . 19
       4.20. printer-number-up-supported. . . . . . . . . . . . . . . 19
       4.21. printer-sides-supported. . . . . . . . . . . . . . . . . 20
       4.22. printer-media-supported. . . . . . . . . . . . . . . . . 20
       4.23. printer-media-local-supported. . . . . . . . . . . . . . 20
       4.24. printer-resolution-supported . . . . . . . . . . . . . . 21
       4.25. printer-print-quality-supported. . . . . . . . . . . . . 22
       4.26. printer-job-priority-supported . . . . . . . . . . . . . 22
       4.27. printer-copies-supported . . . . . . . . . . . . . . . . 22
       4.28. printer-job-k-octets-supported . . . . . . . . . . . . . 23
       4.29. printer-current-operator . . . . . . . . . . . . . . . . 23
       4.30. printer-service-person . . . . . . . . . . . . . . . . . 24
       4.31. printer-delivery-orientation-supported . . . . . . . . . 24
       4.32. printer-stacking-order-supported . . . . . . . . . . . . 24
       4.33. printer-output-features-supported. . . . . . . . . . . . 25
       4.34. printer-aliases. . . . . . . . . . . . . . . . . . . . . 25
   5.  Definition of Syntaxes . . . . . . . . . . . . . . . . . . . . 26
   6.  Definition of Matching Rules . . . . . . . . . . . . . . . . . 26
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 26
       7.1.  Registration of Object Classes . . . . . . . . . . . . . 26
       7.2.  Registration of Attribute Types. . . . . . . . . . . . . 27
   8.  Internationalization Considerations. . . . . . . . . . . . . . 28
   9.  Security Considerations. . . . . . . . . . . . . . . . . . . . 29
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
       10.1. Normative References . . . . . . . . . . . . . . . . . . 29
       10.2. Informative References . . . . . . . . . . . . . . . . . 30
   11. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 32
   12. Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . 32
   13. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 33

1.  Introduction

   This document defines several object classes to provide Lightweight
   Directory Access Protocol v3 [LDAP-TS] applications with flexible
   options in defining printer information using LDAP schema.  Classes
   are provided for defining directory entries with common printer
   information as well as for extending existing directory entries with
   SLPv2 [RFC2608], IPP/1.1 [RFC2911], and LPR [RFC1179] specific
   information.

   The schema defined in this document is based on the printer
   attributes listed in Appendix E ’Generic Directory Schema’ of
   Internet Printing Protocol/1.1 (IPP) [RFC2911].  A few additional
   printer attributes are based on definitions in the Printer MIB
   [RFC1759].

   The schema defined in this document is technically aligned with the
   stable IANA-registered ’service:printer:’ v2.0 template [SLP-PRT],
   for compatibility with already deployed Service Location Protocol
   (SLPv2) [RFC2608] service advertising and discovery infrastructure.
   The attribute syntaxes are technically aligned with the
   ’service:printer:’ v2.0 template - therefore simpler types are
   sometimes used (for example, ’DirectoryString’ [RFC2252] rather than
   ’labeledURI’ [RFC2079] for the ’printer-uri’ attribute).

   Please send comments directly to the authors at the addresses listed
   in Section 13 "Authors’ Addresses".

1.1.  Rationale for using DirectoryString Syntax

   The attribute syntax ’DirectoryString’ (UTF-8 [RFC2279]) defined in
   [RFC2252] is specified for several groups of string attributes that
   are defined in this document:

   1)  URI
       - printer-uri, printer-xri-supported, printer-more-info

       The UTF-8 encoding is forward compatible with any future
       deployment of (UTF-8 based) IRI (Internationalized Resource
       Identifiers) [W3C-IRI] currently being developed by the W3C
       Internationalization Working Group.

   2)  Description
       - printer-name, printer-location, printer-info,
       printer-make-and-model

       The UTF-8 encoding supports descriptions in any language,
       conformant with the "IETF Policy on Character Sets and Languages"
       [RFC2277].

       Note:  The printer-natural-language-configured attribute contains
       a language tag [RFC3066] for these description attributes (for
       example, to support text-to-speech conversions).

   3)  Keyword
       - printer-compression-supported, printer-finishings-supported,
       printer-media-supported, printer-media-local-supported,
       printer-print-quality-supported

       The UTF-8 encoding is compatible with the current IPP/1.1
       [RFC2911] definition of the equivalent attributes, most of which
       have the IPP/1.1 union syntax ’keyword or name’.  The keyword
       attributes defined in this document are extensible by
       site-specific or vendor-specific ’names’ which behave like new
       ’keywords’

       Note:  In IPP/1.1, each value is strongly typed over-the-wire as
       either ’keyword’ or ’name’.  This union selector is not preserved
       in the definitions of these equivalent LDAP attributes.

1.2.  Rationale for using caseIgnoreMatch

   The EQUALITY matching rule ’caseIgnoreMatch’ defined in [RFC2252] is
   specified for several groups of string attributes that are defined in
   this document:

   1)  URI

       These URI attributes specify EQUALITY matching with
       ’caseIgnoreMatch’ (rather than with ’caseExactMatch’) in order to
       conform to the spirit of [RFC2396], which requires case
       insensitive matching on the host part of a URI versus case
       sensitive matching on the remainder of a URI.

       These URI attributes follow existing practice of supporting case
       insensitive equality matching for host names in the
       associatedDomain attribute defined in [RFC1274].

       Either equality matching rule choice would be a compromise:
       a) case sensitive whole URI matching may lead to false negative
       matches and has been shown to be fragile (given deployed client
       applications that ’pretty up’ host names displayed and
       transferred in URI);

       b) case insensitive whole URI matching may lead to false positive
       matches, although it is a dangerous practice to publish URI that
       differ only by case (for example, in the path elements).

   2)  Description

       Case insensitive equality matching is more user-friendly for
       description attributes.

   3)  Keyword

       Case insensitive equality matching is more user-friendly for
       keyword attributes.

1.3.  Rationale for using caseIgnoreSubstringsMatch

   The SUBSTR matching rule ’caseIgnoreSubstringsMatch’ defined in
   [RFC2252] is specified for several groups of string attributes that
   are defined in this document:

   1)  URI

       These URI attributes follow existing practice of supporting case
       insensitive equality matching for host names in the
       associatedDomain attribute defined in [RFC1274].

   2)  Description

       Support for case insensitive substring matching is more
       user-friendly for description attributes.

   3)  Keyword

       Support for case insensitive substring matching is more
       user-friendly for keyword attributes.

2.  Terminology and Conventions

   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 BCP 14 [RFC2119].

   Schema definitions are provided using LDAPv3 [LDAP-TS] description
   formats.  Definitions provided here are formatted (line wrapped) for
   readability.

3.  Definition of Object Classes

   We define the following LDAP object classes for use with both generic
   printer related information and services specific to SLPv2 [RFC2608],
   IPP/1.1 [RFC2911], and LPR [RFC1179].

   slpServicePrinter - auxiliary class for SLP registered printers
   printerAbstract - abstract class for all printer classes
   printerService - structural class for printers
   printerServiceAuxClass - auxiliary class for printers
   printerIPP - auxiliary class for IPP printers
   printerLPR - auxiliary class for LPR printers

   The following are some examples of how applications may choose to use
   these classes when creating directory entries:

   1)  Use printerService for directory entries containing common
       printer information.

   2)  Use both printerService and slpServicePrinter for directory
       entries containing common printer information for SLP registered
       printers.

   3)  Use printerService, printerLPR and printerIPP for directory
       entries containing common printer information for printers that
       support both LPR and IPP.

   4)  Use printerServiceAuxClass and object classes not defined by this
       document for directory entries containing common printer
       information.  In this example, printerServiceAuxClass is used for
       extending other structural classes defining printer information
       with common printer information defined in this document.

   Refer to Section 4 for definition of attribute types referenced by
   these object classes.  We use attribute names instead of OIDs in
   object class definitions for clarity.  Some attribute names described
   in [RFC2911] have been prefixed with ’printer-’ as recommended in
   [RFC2926] and [SLP-PRT].

3.1.  slpServicePrinter

   ( 1.3.18.0.2.6.254
   NAME  ’slpServicePrinter’
   DESC  ’Service Location Protocol (SLP) information.’
   AUXILIARY
   SUP   slpService
   )

   This auxiliary class defines Service Location Protocol (SLPv2)
   [RFC2608] specific information.  It should be used with a structural
   class such as printerService.  It may be used to create new or extend
   existing directory entries with SLP ’service:printer’ abstract
   service type information as defined in [SLP-PRT].  This object class
   is derived from ’slpService’, the parent class for all SLP services,
   defined in [RFC2926].

3.2.  printerAbstract

   ( 1.3.18.0.2.6.258
   NAME  ’printerAbstract’
   DESC  ’Printer related information.’
   ABSTRACT
   SUP   top
   MAY   ( printer-name $
           printer-natural-language-configured $
           printer-location $ printer-info $ printer-more-info $
           printer-make-and-model $
           printer-multiple-document-jobs-supported $
           printer-charset-configured $ printer-charset-supported $
           printer-generated-natural-language-supported $
           printer-document-format-supported $ printer-color-supported $
           printer-compression-supported $ printer-pages-per-minute $
           printer-pages-per-minute-color $
           printer-finishings-supported $ printer-number-up-supported $
           printer-sides-supported $ printer-media-supported $
           printer-media-local-supported $
           printer-resolution-supported $
           printer-print-quality-supported $
           printer-job-priority-supported $ printer-copies-supported $
           printer-job-k-octets-supported $ printer-current-operator $
           printer-service-person $
           printer-delivery-orientation-supported $
           printer-stacking-order-supported $
           printer-output-features-supported )
   )

   This abstract class defines printer information.  It is a base class
   for deriving other printer related classes, such as, but not limited
   to, classes defined in this document.  It defines a common set of
   printer attributes that are not specific to any one type of service,
   protocol or operating system.

3.3.  printerService

   ( 1.3.18.0.2.6.255
   NAME  ’printerService’
   DESC  ’Printer information.’
   STRUCTURAL
   SUP   printerAbstract
   MAY   ( printer-uri $ printer-xri-supported )
   )

   This structural class defines printer information.  It is derived
   from class printerAbstract and thus inherits common printer
   attributes.  This class can be used with or without auxiliary classes
   to define printer information.  Auxiliary classes can be used to
   extend the common printer information with protocol, service or
   operating system specific information.

   Note:  When extending other structural classes with auxiliary
   classes, printerService should not be used.

3.4.  printerServiceAuxClass

   ( 1.3.18.0.2.6.257
   NAME  ’printerServiceAuxClass’
   DESC  ’Printer information.’
   AUXILIARY
   SUP   printerAbstract
   MAY   ( printer-uri $ printer-xri-supported )
   )

   This auxiliary class defines printer information.  It is derived from
   class printerAbstract and thus inherits common printer attributes.
   This class should be used with a structural class.

3.5.  printerIPP

   ( 1.3.18.0.2.6.256
   NAME  ’printerIPP’
   DESC  ’Internet Printing Protocol (IPP) information.’
   AUXILIARY
   SUP   top
   MAY   ( printer-ipp-versions-supported $
           printer-multiple-document-jobs-supported )
   )

   This auxiliary class defines Internet Printing Protocol (IPP/1.1)
   [RFC2911] information.  It should be used with a structural class
   such as printerService.  It is used to extend structural classes with
   IPP specific printer information.

3.6.  printerLPR

   ( 1.3.18.0.2.6.253
   NAME  ’printerLPR’
   DESC  ’LPR information.’
   AUXILIARY
   SUP   top
   MUST  ( printer-name )
   MAY   ( printer-aliases)
   )

   This auxiliary class defines LPR [RFC1179] information.  It should be
   used with a structural class such as printerService.  It is used to
   identify directory entries that support LPR.

4.  Definition of Attribute Types

   The following attribute types are referenced by the object classes
   defined in Section 3.

   The following attribute types reference syntax OIDs defined in
   Section 6 of [RFC2252] (see Section 5 ’Definition of Syntaxes’
   below).

   The following attribute types reference matching rule names (instead
   of OIDs) for clarity (see Section 6 below).  For optional attributes,
   if the printer information is not known, the attribute value should
   not be set.  In the following definitions, referenced matching rules
   are defined in Section 8 of [RFC2252] and/or Section 2 of [RFC3698]
   (see Section 6 ’Definition of Matching Rules’ below).

   The following table is a summary of the attribute names defined by
   this document and their corresponding names from [RFC2911].  Some
   attribute names described in [RFC2911] have been prefixed with
   ’printer-’ as recommended in [RFC2926], to address the flat namespace
   for LDAP identifiers.

   LDAP & SLP Printer Schema       IPP Model [RFC2911]
   ------------------------------  -------------------------------------
   printer-uri
   printer-xri-supported
                                   [IPP printer-uri-supported]
                                   [IPP uri-authentication-supported]
                                   [IPP uri-security-supported]
   printer-name                    printer-name
   printer-natural-language-configured
                                   natural-language-configured
   printer-location                printer-location
   printer-info                    printer-info
   printer-more-info               printer-more-info
   printer-make-and-model          printer-make-and-model
   printer-ipp-versions-supported  ipp-versions-supported
   printer-multiple-document-jobs-supported
                                   multiple-document-jobs-supported
   printer-charset-configured      charset-configured
   printer-charset-supported       charset-supported
   printer-generated-natural-language-supported
                                   generated-natural-language-supported
   printer-document-format-supported
                                   document-format-supported
   printer-color-supported         color-supported
   printer-compression-supported   compression-supported
   printer-pages-per-minute        pages-per-minute
   printer-pages-per-minute-color  pages-per-minute-color
   printer-finishings-supported    finishings-supported
   printer-number-up-supported     number-up-supported
   printer-sides-supported         sides-supported
   printer-media-supported         media-supported
   printer-media-local-supported   [site names from IPP media-supported]
   printer-resolution-supported    printer-resolution-supported
   printer-print-quality-supported print-quality-supported
   printer-job-priority-supported  job-priority-supported
   printer-copies-supported        copies-supported
   printer-job-k-octets-supported  job-k-octets-supported
   printer-current-operator
   printer-service-person
   printer-delivery-orientation-supported
   printer-stacking-order-supported
   printer-output-features-supported
   printer-aliases

4.1.  printer-uri

   ( 1.3.18.0.2.4.1140
   NAME ’printer-uri’
   DESC ’A URI supported by this printer.’
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringsMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15
   SINGLE-VALUE
   )

   If the printer-xri-supported LDAP attribute is implemented, then this
   printer-uri value should be listed in printer-xri-supported.

   Values of URI should conform to [RFC2396], although URI schemes may
   be defined which do not conform to [RFC2396] (see [RFC2717] and
   [RFC2718]).

   Note:  LDAP application clients should not attempt to use malformed
   URI values read from this attribute.  LDAP administrative clients
   should not write malformed URI values into this attribute.

   Note:  For SLP registered printers, the LDAP printer-uri attribute
   should be set to the value of the SLP-registered URL of the printer,
   for interworking with SLPv2 [RFC2608] service discovery.

   Note:  See Sections 1.1, 1.2, and 1.3 for rationale for design
   choices.

4.2.  printer-xri-supported

   ( 1.3.18.0.2.4.1107
   NAME ’printer-xri-supported’
   DESC ’The unordered list of XRI (extended resource identifiers)
         supported by this printer.’
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringsMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
   )

   A list of XRI (extended resource identifiers) supported by this
   printer.  Each value of this list should consist of a URI (uniform
   resource identifier) followed by (optional) authentication and
   security fields.

   Values of URI should conform to [RFC2396], although URI schemes may
   be defined which do not conform to [RFC2396] (see [RFC2717] and
   [RFC2718]).

   Note:  LDAP application clients should not attempt to use malformed
   URI values read from this attribute.  LDAP administrative clients
   should not write malformed URI values into this attribute.

   Note:  This attribute is based on ’printer-uri-supported’, ’uri-
   authentication-supported’, and `’uri-security-supported’ (called the
   ’Three Musketeers’ because they are parallel ordered attributes)
   defined in IPP/1.1 [RFC2911].  This attribute unfolds those IPP/1.1
   attributes and thus avoids the ordering (and same number of values)
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容