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