Home | History | Annotate | Line # | Download | only in rfc
      1  1.1  lukem 
      2  1.1  lukem 
      3  1.1  lukem 
      4  1.1  lukem 
      5  1.1  lukem 
      6  1.1  lukem 
      7  1.1  lukem Network Working Group                                        M. Meredith
      8  1.1  lukem Request for Comments: 3045                                   Novell Inc.
      9  1.1  lukem Category: Informational                                     January 2001
     10  1.1  lukem 
     11  1.1  lukem 
     12  1.1  lukem             Storing Vendor Information in the LDAP root DSE
     13  1.1  lukem 
     14  1.1  lukem Status of this Memo
     15  1.1  lukem 
     16  1.1  lukem    This memo provides information for the Internet community.  It does
     17  1.1  lukem    not specify an Internet standard of any kind.  Distribution of this
     18  1.1  lukem    memo is unlimited.
     19  1.1  lukem 
     20  1.1  lukem Copyright Notice
     21  1.1  lukem 
     22  1.1  lukem    Copyright (C) The Internet Society (2001).  All Rights Reserved.
     23  1.1  lukem 
     24  1.1  lukem Abstract
     25  1.1  lukem 
     26  1.1  lukem    This document specifies two Lightweight Directory Access Protocol
     27  1.1  lukem    (LDAP) attributes, vendorName and vendorVersion that MAY be included
     28  1.1  lukem    in the root DSA-specific Entry (DSE) to advertise vendor-specific
     29  1.1  lukem    information.  These two attributes supplement the attributes defined
     30  1.1  lukem    in section 3.4 of RFC 2251.
     31  1.1  lukem 
     32  1.1  lukem    The information held in these attributes MAY be used for display and
     33  1.1  lukem    informational purposes and MUST NOT be used for feature advertisement
     34  1.1  lukem    or discovery.
     35  1.1  lukem 
     36  1.1  lukem Conventions used in this document
     37  1.1  lukem 
     38  1.1  lukem    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
     39  1.1  lukem    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
     40  1.1  lukem    document are to be interpreted as described in [RFC2219]
     41  1.1  lukem 
     42  1.1  lukem 1. Overview
     43  1.1  lukem 
     44  1.1  lukem    LDAP clients discover server-specific data--such as available
     45  1.1  lukem    controls, extensions, etc.--by reading the root DSE.  See section 3.4
     46  1.1  lukem    of [RFC2251] for details.
     47  1.1  lukem 
     48  1.1  lukem    For display, information, and limited function discovery, it is
     49  1.1  lukem    desirable to be able to query an LDAP server to determine the vendor
     50  1.1  lukem    name of that server and also to see what version of that vendor's
     51  1.1  lukem    code is currently installed.
     52  1.1  lukem 
     53  1.1  lukem 
     54  1.1  lukem 
     55  1.1  lukem 
     56  1.1  lukem 
     57  1.1  lukem 
     58  1.1  lukem Meredith                     Informational                      [Page 1]
     59  1.1  lukem 
     61  1.1  lukem RFC 3045      LDAP Root DSE to Display Vendor Information   January 2001
     62  1.1  lukem 
     63  1.1  lukem 
     64  1.1  lukem 1.1 Function discovery
     65  1.1  lukem 
     66  1.1  lukem    There are many ways in which a particular version of a vendor's LDAP
     67  1.1  lukem    server implementation may be functionally incomplete, or may contain
     68  1.1  lukem    software anomalies.  It is impossible to identify every known
     69  1.1  lukem    shortcoming of an LDAP server with the given set of server data
     70  1.1  lukem    advertisement attributes.  Furthermore, often times, the anomalies of
     71  1.1  lukem    an implementation are not found until after the implementation has
     72  1.1  lukem    been distributed, deployed, and is in use.
     73  1.1  lukem 
     74  1.1  lukem    The attributes defined in this document MAY be used by client
     75  1.1  lukem    implementations in order to identify a particular server
     76  1.1  lukem    implementation so that it can 'work around' such anomalies.
     77  1.1  lukem 
     78  1.1  lukem    The attributes defined in this document MUST NOT be used to gather
     79  1.1  lukem    information related to supported features of an LDAP implementation.
     80  1.1  lukem    All LDAP features, mechanisms, and capabilities--if advertised--MUST
     81  1.1  lukem    be advertised through other mechanisms, preferably advertisement
     82  1.1  lukem    mechanisms defined in concert with said features, mechanisms, and
     83  1.1  lukem    capabilities.
     84  1.1  lukem 
     85  1.1  lukem 2. Attribute Types
     86  1.1  lukem 
     87  1.1  lukem    These attributes are an addition to the Server-specific Data
     88  1.1  lukem    Requirements defined in section 3.4 of [RFC2251].  The associated
     89  1.1  lukem    syntaxes are defined in section 4 of [RFC2252].
     90  1.1  lukem 
     91  1.1  lukem    Servers MAY restrict access to vendorName or vendorVersion and
     92  1.1  lukem    clients MUST NOT expect these attributes to be available.
     93  1.1  lukem 
     94  1.1  lukem 2.1 vendorName
     95  1.1  lukem 
     96  1.1  lukem    This attribute contains a single string, which represents the name of
     97  1.1  lukem    the LDAP server implementer.
     98  1.1  lukem 
     99  1.1  lukem    All LDAP server implementations SHOULD maintain a vendorName, which
    100  1.1  lukem    is generally the name of the company that wrote the LDAP Server code
    101  1.1  lukem    like "Novell, Inc."
    102  1.1  lukem 
    103  1.1  lukem       ( 1.3.6.1.1.4 NAME 'vendorName' EQUALITY
    104  1.1  lukem         1.3.6.1.4.1.1466.109.114.1 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
    105  1.1  lukem         SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
    106  1.1  lukem 
    107  1.1  lukem 2.2 vendorVersion
    108  1.1  lukem 
    109  1.1  lukem    This attribute contains a string which represents the version of the
    110  1.1  lukem    LDAP server implementation.
    111  1.1  lukem 
    112  1.1  lukem 
    113  1.1  lukem 
    114  1.1  lukem 
    115  1.1  lukem Meredith                     Informational                      [Page 2]
    116  1.1  lukem 
    118  1.1  lukem RFC 3045      LDAP Root DSE to Display Vendor Information   January 2001
    119  1.1  lukem 
    120  1.1  lukem 
    121  1.1  lukem    All LDAP server implementations SHOULD maintain a vendorVersion.
    122  1.1  lukem    Note that this value is typically a release value--comprised of a
    123  1.1  lukem    string and/or a string of numbers--used by the developer of the LDAP
    124  1.1  lukem    server product (as opposed to the supportedLDAPVersion, which
    125  1.1  lukem    specifies the version of the LDAP protocol supported by this server).
    126  1.1  lukem    This is single-valued so that it will only have one version value.
    127  1.1  lukem    This string MUST be unique between two versions, but there are no
    128  1.1  lukem    other syntactic restrictions on the value or the way it is formatted.
    129  1.1  lukem 
    130  1.1  lukem       ( 1.3.6.1.1.5 NAME 'vendorVersion' EQUALITY
    131  1.1  lukem         1.3.6.1.4.1.1466.109.114.1 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
    132  1.1  lukem         SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
    133  1.1  lukem 
    134  1.1  lukem    The intent behind the equality match on vendorVersion is to not allow
    135  1.1  lukem    a less than or greater than type of query.  Say release "LDAPv3 8.0"
    136  1.1  lukem    has a problem that is fixed in the next release "LDAPv3 8.5", but in
    137  1.1  lukem    the mean time there is also an update release say version "LDAPv3
    138  1.1  lukem    8.01" that fixes the problem.  This will hopefully stop the client
    139  1.1  lukem    from saying it will not work with a version less than "LDAPv3 8.5"
    140  1.1  lukem    when it would also work with "LDAPv3 8.01".  With the equality match
    141  1.1  lukem    the client would have to exactly match what it is looking for.
    142  1.1  lukem 
    143  1.1  lukem 3. Notes to Server Implementers
    144  1.1  lukem 
    145  1.1  lukem    Server implementers may consider tying the vendorVersion attribute
    146  1.1  lukem    value to the build mechanism so that it is automatically updated when
    147  1.1  lukem    the version value changes.
    148  1.1  lukem 
    149  1.1  lukem 4. Notes to Client Developers
    150  1.1  lukem 
    151  1.1  lukem    As mentioned in section 2.1, the use of vendorName and vendorVersion
    152  1.1  lukem    MUST NOT be used to discover features.
    153  1.1  lukem 
    154  1.1  lukem    It should be noted that an anomalies often on affect subset of
    155  1.1  lukem    implementations reporting the same version information.  Most
    156  1.1  lukem    implementations support multiple platforms, have numerous
    157  1.1  lukem    configuration options, and often support plug-ins.
    158  1.1  lukem 
    159  1.1  lukem    Client implementations SHOULD be written in such a way as to accept
    160  1.1  lukem    any value in the vendorName and vendorVersion attributes.  If a
    161  1.1  lukem    client implementation does not recognize the specific vendorName or
    162  1.1  lukem    vendorVersion as one it recognizes, then for the purposes of 'working
    163  1.1  lukem    around' anomalies, the client MUST assume that the server is complete
    164  1.1  lukem    and correct.  The client MUST work with implementations that do not
    165  1.1  lukem    publish these attributes.
    166  1.1  lukem 
    167  1.1  lukem 
    168  1.1  lukem 
    169  1.1  lukem 
    170  1.1  lukem 
    171  1.1  lukem 
    172  1.1  lukem Meredith                     Informational                      [Page 3]
    173  1.1  lukem 
    175  1.1  lukem RFC 3045      LDAP Root DSE to Display Vendor Information   January 2001
    176  1.1  lukem 
    177  1.1  lukem 
    178  1.1  lukem 5. Security Considerations
    179  1.1  lukem 
    180  1.1  lukem    The vendorName and vendorVersion attributes are provided only as
    181  1.1  lukem    display or informational mechanisms, or as anomaly identifying
    182  1.1  lukem    mechanisms.  Client and application implementers must consider that
    183  1.1  lukem    the existence of a given value in the vendorName or vendorVersion
    184  1.1  lukem    attribute is no guarantee that the server was actually built by the
    185  1.1  lukem    asserted vendor or that its version is the asserted version and
    186  1.1  lukem    should act accordingly.
    187  1.1  lukem 
    188  1.1  lukem    Server implementers should be aware that this information could be
    189  1.1  lukem    used to exploit a security hole a server provides either by feature
    190  1.1  lukem    or flaw.
    191  1.1  lukem 
    192  1.1  lukem 6. IANA Considerations
    193  1.1  lukem 
    194  1.1  lukem    This document seeks to create two attributes, vendorName and
    195  1.1  lukem    vendorVersion, which the IANA will primarily be responsible.  This is
    196  1.1  lukem    a one time effort; there is no need for any recurring assignment
    197  1.1  lukem    after this stage.
    198  1.1  lukem 
    199  1.1  lukem 7. References
    200  1.1  lukem 
    201  1.1  lukem    [RFC2219]  Bradner, S., "Key words for use in RFCs to Indicate
    202  1.1  lukem               Requirement Levels", BCP 14, RFC 2119, March 1997.
    203  1.1  lukem 
    204  1.1  lukem    [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
    205  1.1  lukem               3", BCP 9, RFC 2026, October 1996.
    206  1.1  lukem 
    207  1.1  lukem    [RFC2251]  Wahl, M., Howes, T. and S. Kille, "Lightweight Directory
    208  1.1  lukem               Access Protocol (v3)", RFC 2251, December 1997.
    209  1.1  lukem 
    210  1.1  lukem    [RFC2252]  Wahl, M., Coulbeck, A., Howes, T. and S. Kille,
    211  1.1  lukem               "Lightweight Directory Access Protocol (v3): Attribute
    212  1.1  lukem               Syntax Definitions", RFC 2252, December 1997.
    213  1.1  lukem 
    214  1.1  lukem 8. Acknowledgments
    215  1.1  lukem 
    216  1.1  lukem    The author would like to thank the generous input and review by
    217  1.1  lukem    individuals at Novell including but not limited to Jim Sermersheim,
    218  1.1  lukem    Mark Hinckley, Renea Campbell, and Roger Harrison.  Also IETF
    219  1.1  lukem    contributors Kurt Zeilenga, Mark Smith, Mark Wahl, Peter Strong,
    220  1.1  lukem    Thomas Salter, Gordon Good, Paul Leach, Helmut Volpers.
    221  1.1  lukem 
    222  1.1  lukem 
    223  1.1  lukem 
    224  1.1  lukem 
    225  1.1  lukem 
    226  1.1  lukem 
    227  1.1  lukem 
    228  1.1  lukem 
    229  1.1  lukem Meredith                     Informational                      [Page 4]
    230  1.1  lukem 
    232  1.1  lukem RFC 3045      LDAP Root DSE to Display Vendor Information   January 2001
    233  1.1  lukem 
    234  1.1  lukem 
    235  1.1  lukem 9. Author's Address
    236  1.1  lukem 
    237  1.1  lukem    Mark Meredith
    238  1.1  lukem    Novell Inc.
    239  1.1  lukem    1800 S. Novell Place
    240  1.1  lukem    Provo, UT 84606
    241  1.1  lukem 
    242  1.1  lukem    Phone: 801-861-2645
    243  1.1  lukem    EMail: mark_meredith (a] novell.com
    244  1.1  lukem 
    245  1.1  lukem 
    246  1.1  lukem 
    247  1.1  lukem 
    248  1.1  lukem 
    249  1.1  lukem 
    250  1.1  lukem 
    251  1.1  lukem 
    252  1.1  lukem 
    253  1.1  lukem 
    254  1.1  lukem 
    255  1.1  lukem 
    256  1.1  lukem 
    257  1.1  lukem 
    258  1.1  lukem 
    259  1.1  lukem 
    260  1.1  lukem 
    261  1.1  lukem 
    262  1.1  lukem 
    263  1.1  lukem 
    264  1.1  lukem 
    265  1.1  lukem 
    266  1.1  lukem 
    267  1.1  lukem 
    268  1.1  lukem 
    269  1.1  lukem 
    270  1.1  lukem 
    271  1.1  lukem 
    272  1.1  lukem 
    273  1.1  lukem 
    274  1.1  lukem 
    275  1.1  lukem 
    276  1.1  lukem 
    277  1.1  lukem 
    278  1.1  lukem 
    279  1.1  lukem 
    280  1.1  lukem 
    281  1.1  lukem 
    282  1.1  lukem 
    283  1.1  lukem 
    284  1.1  lukem 
    285  1.1  lukem 
    286  1.1  lukem Meredith                     Informational                      [Page 5]
    287  1.1  lukem 
    289  1.1  lukem RFC 3045      LDAP Root DSE to Display Vendor Information   January 2001
    290  1.1  lukem 
    291  1.1  lukem 
    292  1.1  lukem 10. Full Copyright Statement
    293  1.1  lukem 
    294  1.1  lukem    Copyright (C) The Internet Society (2001).  All Rights Reserved.
    295  1.1  lukem 
    296  1.1  lukem    This document and translations of it may be copied and furnished to
    297  1.1  lukem    others, and derivative works that comment on or otherwise explain it
    298  1.1  lukem    or assist in its implementation may be prepared, copied, published
    299  1.1  lukem    and distributed, in whole or in part, without restriction of any
    300  1.1  lukem    kind, provided that the above copyright notice and this paragraph are
    301  1.1  lukem    included on all such copies and derivative works.  However, this
    302  1.1  lukem    document itself may not be modified in any way, such as by removing
    303  1.1  lukem    the copyright notice or references to the Internet Society or other
    304  1.1  lukem    Internet organizations, except as needed for the purpose of
    305  1.1  lukem    developing Internet standards in which case the procedures for
    306  1.1  lukem    copyrights defined in the Internet Standards process must be
    307  1.1  lukem    followed, or as required to translate it into languages other than
    308  1.1  lukem    English.
    309  1.1  lukem 
    310  1.1  lukem    The limited permissions granted above are perpetual and will not be
    311  1.1  lukem    revoked by the Internet Society or its successors or assigns.
    312  1.1  lukem 
    313  1.1  lukem    This document and the information contained herein is provided on an
    314  1.1  lukem    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
    315  1.1  lukem    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
    316  1.1  lukem    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
    317  1.1  lukem    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
    318  1.1  lukem    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
    319  1.1  lukem 
    320  1.1  lukem Acknowledgement
    321  1.1  lukem 
    322  1.1  lukem    Funding for the RFC Editor function is currently provided by the
    323  1.1  lukem    Internet Society.
    324  1.1  lukem 
    325  1.1  lukem 
    326  1.1  lukem 
    327  1.1  lukem 
    328  1.1  lukem 
    329  1.1  lukem 
    330  1.1  lukem 
    331  1.1  lukem 
    332  1.1  lukem 
    333  1.1  lukem 
    334  1.1  lukem 
    335  1.1  lukem 
    336  1.1  lukem 
    337  1.1  lukem 
    338  1.1  lukem 
    339  1.1  lukem 
    340             
    341             
    342             
    343             Meredith                     Informational                      [Page 6]
    344             
    346