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