mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
340 lines
10 KiB
Plaintext
340 lines
10 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group M. Meredith
|
|||
|
Request for Comments: 3045 Novell Inc.
|
|||
|
Category: Informational January 2001
|
|||
|
|
|||
|
|
|||
|
Storing Vendor Information in the LDAP root DSE
|
|||
|
|
|||
|
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 (2001). All Rights Reserved.
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This document specifies two Lightweight Directory Access Protocol
|
|||
|
(LDAP) attributes, vendorName and vendorVersion that MAY be included
|
|||
|
in the root DSA-specific Entry (DSE) to advertise vendor-specific
|
|||
|
information. These two attributes supplement the attributes defined
|
|||
|
in section 3.4 of RFC 2251.
|
|||
|
|
|||
|
The information held in these attributes MAY be used for display and
|
|||
|
informational purposes and MUST NOT be used for feature advertisement
|
|||
|
or discovery.
|
|||
|
|
|||
|
Conventions used in this document
|
|||
|
|
|||
|
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 [RFC2219]
|
|||
|
|
|||
|
1. Overview
|
|||
|
|
|||
|
LDAP clients discover server-specific data--such as available
|
|||
|
controls, extensions, etc.--by reading the root DSE. See section 3.4
|
|||
|
of [RFC2251] for details.
|
|||
|
|
|||
|
For display, information, and limited function discovery, it is
|
|||
|
desirable to be able to query an LDAP server to determine the vendor
|
|||
|
name of that server and also to see what version of that vendor's
|
|||
|
code is currently installed.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 1]
|
|||
|
|
|||
|
RFC 3045 LDAP Root DSE to Display Vendor Information January 2001
|
|||
|
|
|||
|
|
|||
|
1.1 Function discovery
|
|||
|
|
|||
|
There are many ways in which a particular version of a vendor's LDAP
|
|||
|
server implementation may be functionally incomplete, or may contain
|
|||
|
software anomalies. It is impossible to identify every known
|
|||
|
shortcoming of an LDAP server with the given set of server data
|
|||
|
advertisement attributes. Furthermore, often times, the anomalies of
|
|||
|
an implementation are not found until after the implementation has
|
|||
|
been distributed, deployed, and is in use.
|
|||
|
|
|||
|
The attributes defined in this document MAY be used by client
|
|||
|
implementations in order to identify a particular server
|
|||
|
implementation so that it can 'work around' such anomalies.
|
|||
|
|
|||
|
The attributes defined in this document MUST NOT be used to gather
|
|||
|
information related to supported features of an LDAP implementation.
|
|||
|
All LDAP features, mechanisms, and capabilities--if advertised--MUST
|
|||
|
be advertised through other mechanisms, preferably advertisement
|
|||
|
mechanisms defined in concert with said features, mechanisms, and
|
|||
|
capabilities.
|
|||
|
|
|||
|
2. Attribute Types
|
|||
|
|
|||
|
These attributes are an addition to the Server-specific Data
|
|||
|
Requirements defined in section 3.4 of [RFC2251]. The associated
|
|||
|
syntaxes are defined in section 4 of [RFC2252].
|
|||
|
|
|||
|
Servers MAY restrict access to vendorName or vendorVersion and
|
|||
|
clients MUST NOT expect these attributes to be available.
|
|||
|
|
|||
|
2.1 vendorName
|
|||
|
|
|||
|
This attribute contains a single string, which represents the name of
|
|||
|
the LDAP server implementer.
|
|||
|
|
|||
|
All LDAP server implementations SHOULD maintain a vendorName, which
|
|||
|
is generally the name of the company that wrote the LDAP Server code
|
|||
|
like "Novell, Inc."
|
|||
|
|
|||
|
( 1.3.6.1.1.4 NAME 'vendorName' EQUALITY
|
|||
|
1.3.6.1.4.1.1466.109.114.1 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
|
|||
|
|
|||
|
2.2 vendorVersion
|
|||
|
|
|||
|
This attribute contains a string which represents the version of the
|
|||
|
LDAP server implementation.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 2]
|
|||
|
|
|||
|
RFC 3045 LDAP Root DSE to Display Vendor Information January 2001
|
|||
|
|
|||
|
|
|||
|
All LDAP server implementations SHOULD maintain a vendorVersion.
|
|||
|
Note that this value is typically a release value--comprised of a
|
|||
|
string and/or a string of numbers--used by the developer of the LDAP
|
|||
|
server product (as opposed to the supportedLDAPVersion, which
|
|||
|
specifies the version of the LDAP protocol supported by this server).
|
|||
|
This is single-valued so that it will only have one version value.
|
|||
|
This string MUST be unique between two versions, but there are no
|
|||
|
other syntactic restrictions on the value or the way it is formatted.
|
|||
|
|
|||
|
( 1.3.6.1.1.5 NAME 'vendorVersion' EQUALITY
|
|||
|
1.3.6.1.4.1.1466.109.114.1 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
|
|||
|
|
|||
|
The intent behind the equality match on vendorVersion is to not allow
|
|||
|
a less than or greater than type of query. Say release "LDAPv3 8.0"
|
|||
|
has a problem that is fixed in the next release "LDAPv3 8.5", but in
|
|||
|
the mean time there is also an update release say version "LDAPv3
|
|||
|
8.01" that fixes the problem. This will hopefully stop the client
|
|||
|
from saying it will not work with a version less than "LDAPv3 8.5"
|
|||
|
when it would also work with "LDAPv3 8.01". With the equality match
|
|||
|
the client would have to exactly match what it is looking for.
|
|||
|
|
|||
|
3. Notes to Server Implementers
|
|||
|
|
|||
|
Server implementers may consider tying the vendorVersion attribute
|
|||
|
value to the build mechanism so that it is automatically updated when
|
|||
|
the version value changes.
|
|||
|
|
|||
|
4. Notes to Client Developers
|
|||
|
|
|||
|
As mentioned in section 2.1, the use of vendorName and vendorVersion
|
|||
|
MUST NOT be used to discover features.
|
|||
|
|
|||
|
It should be noted that an anomalies often on affect subset of
|
|||
|
implementations reporting the same version information. Most
|
|||
|
implementations support multiple platforms, have numerous
|
|||
|
configuration options, and often support plug-ins.
|
|||
|
|
|||
|
Client implementations SHOULD be written in such a way as to accept
|
|||
|
any value in the vendorName and vendorVersion attributes. If a
|
|||
|
client implementation does not recognize the specific vendorName or
|
|||
|
vendorVersion as one it recognizes, then for the purposes of 'working
|
|||
|
around' anomalies, the client MUST assume that the server is complete
|
|||
|
and correct. The client MUST work with implementations that do not
|
|||
|
publish these attributes.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 3]
|
|||
|
|
|||
|
RFC 3045 LDAP Root DSE to Display Vendor Information January 2001
|
|||
|
|
|||
|
|
|||
|
5. Security Considerations
|
|||
|
|
|||
|
The vendorName and vendorVersion attributes are provided only as
|
|||
|
display or informational mechanisms, or as anomaly identifying
|
|||
|
mechanisms. Client and application implementers must consider that
|
|||
|
the existence of a given value in the vendorName or vendorVersion
|
|||
|
attribute is no guarantee that the server was actually built by the
|
|||
|
asserted vendor or that its version is the asserted version and
|
|||
|
should act accordingly.
|
|||
|
|
|||
|
Server implementers should be aware that this information could be
|
|||
|
used to exploit a security hole a server provides either by feature
|
|||
|
or flaw.
|
|||
|
|
|||
|
6. IANA Considerations
|
|||
|
|
|||
|
This document seeks to create two attributes, vendorName and
|
|||
|
vendorVersion, which the IANA will primarily be responsible. This is
|
|||
|
a one time effort; there is no need for any recurring assignment
|
|||
|
after this stage.
|
|||
|
|
|||
|
7. References
|
|||
|
|
|||
|
[RFC2219] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|||
|
|
|||
|
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
|
|||
|
3", BCP 9, RFC 2026, October 1996.
|
|||
|
|
|||
|
[RFC2251] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory
|
|||
|
Access Protocol (v3)", RFC 2251, December 1997.
|
|||
|
|
|||
|
[RFC2252] Wahl, M., Coulbeck, A., Howes, T. and S. Kille,
|
|||
|
"Lightweight Directory Access Protocol (v3): Attribute
|
|||
|
Syntax Definitions", RFC 2252, December 1997.
|
|||
|
|
|||
|
8. Acknowledgments
|
|||
|
|
|||
|
The author would like to thank the generous input and review by
|
|||
|
individuals at Novell including but not limited to Jim Sermersheim,
|
|||
|
Mark Hinckley, Renea Campbell, and Roger Harrison. Also IETF
|
|||
|
contributors Kurt Zeilenga, Mark Smith, Mark Wahl, Peter Strong,
|
|||
|
Thomas Salter, Gordon Good, Paul Leach, Helmut Volpers.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 4]
|
|||
|
|
|||
|
RFC 3045 LDAP Root DSE to Display Vendor Information January 2001
|
|||
|
|
|||
|
|
|||
|
9. Author's Address
|
|||
|
|
|||
|
Mark Meredith
|
|||
|
Novell Inc.
|
|||
|
1800 S. Novell Place
|
|||
|
Provo, UT 84606
|
|||
|
|
|||
|
Phone: 801-861-2645
|
|||
|
EMail: mark_meredith@novell.com
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 5]
|
|||
|
|
|||
|
RFC 3045 LDAP Root DSE to Display Vendor Information January 2001
|
|||
|
|
|||
|
|
|||
|
10. Full Copyright Statement
|
|||
|
|
|||
|
Copyright (C) The Internet Society (2001). All Rights Reserved.
|
|||
|
|
|||
|
This document and translations of it may be copied and furnished to
|
|||
|
others, and derivative works that comment on or otherwise explain it
|
|||
|
or assist in its implementation may be prepared, copied, published
|
|||
|
and distributed, in whole or in part, without restriction of any
|
|||
|
kind, provided that the above copyright notice and this paragraph are
|
|||
|
included on all such copies and derivative works. However, this
|
|||
|
document itself may not be modified in any way, such as by removing
|
|||
|
the copyright notice or references to the Internet Society or other
|
|||
|
Internet organizations, except as needed for the purpose of
|
|||
|
developing Internet standards in which case the procedures for
|
|||
|
copyrights defined in the Internet Standards process must be
|
|||
|
followed, or as required to translate it into languages other than
|
|||
|
English.
|
|||
|
|
|||
|
The limited permissions granted above are perpetual and will not be
|
|||
|
revoked by the Internet Society or its successors or assigns.
|
|||
|
|
|||
|
This document and the information contained herein is provided on an
|
|||
|
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
|||
|
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
|||
|
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
|||
|
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
|||
|
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
|
|||
|
Acknowledgement
|
|||
|
|
|||
|
Funding for the RFC Editor function is currently provided by the
|
|||
|
Internet Society.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Meredith Informational [Page 6]
|
|||
|
|