DRAFT Test Cases for String Representation of LDAP Distinguished Names Implementation Report DRAFT The String Representation of LDAP Distinguished Names is specified in draft-ietf-ldapbis-dn-xx.txt (is intended to replace RFC 2253). This document provides test cases to determine if there are multiple interoperable independently developed implementations [RFC 2026] of this technical specification. Implementations of this technical specification are encouraged run these test cases and report findings (success and failure) to . Please include a brief description of your application and details regarding how your implementation differs from test case. Technical specification issues should be raised to the LDAPbis Working Group . New test cases may be added from time to time during the drafting of this report. Suggestions may be sent to . [...] interoperable independently-developed implementations, Legend: A Adacel Server o OpenLDAP Client C API O OpenLDAP Server n Novell JLDAP (Client) Valid DNs Each DN consists of a UTF-8 string representation DN and the hexadecimal representation of an equivalent BER encoding. Parsers should be able to convert the string to an internal representation equivalent to the BER encoding. Generators should be able to convert an internal representation equivalent to the BER encoding to the string (or equivalent). "" // empty, quote characters (") are not part of the string 3000 [AoO] UID=jsmith,DC=example,DC=net [AoOn] 304631133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 31163014060A0992268993F22C64010113066A736D697468 OU=Sales+CN=J. Smith,DC=example,DC=net [AoOn] 304F31133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 311F300C060355040B130553616C6573300F060355040313 084A2E20536D697468 CN=John Smith\, III,DC=example,DC=net [AoOn] 304831133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 311830160603550403130F4A6F686E20536D6974682C2049 4949 CN=John Smith\2C III,DC=example,DC=net [AoOn] 304831133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 311830160603550403130F4A6F686E20536D6974682C2049 4949 CN=Before\0dAfter,DC=example,DC=net [AoOn] 304531133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 3115301306035504030C0C4265666F72650D4166746572 CN=\23John Smith\20,DC=example,DC=net [AoOn] 304531133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 311530130603550403140C234A6F686E20536D69746820 CN=\#John Smith\ ,DC=example,DC=net [AoOn] 304531133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 311530130603550403140C234A6F686E20536D69746820 1.3.6.1.4.1.1466.0=#04024869,DC=example,DC=com [AoOn] 304031133011060A0992268993F22C64011916036E657431 [AoO] 173015060A0992268993F22C64011916076578616D706C65 3110300E06082B060104018B3A0004024869 CN=Lu\C4\8Di\C4\87 [AoOn] 30123110300E06035504030C074C75C48D69C487 [AoO] 1.1.1= // empty value [AoO] 300A31083006060229011300 [AoO] Invalid DNs // some implementations may be liberal in what they accept // but should strict in what they produce. uid;x-option=jsmith // option [oOn] at_tr=jsmith // invalid attribute type name [AoOn] -attr=jsmith // invalid attribute type name [AoOn] 1..1=jsmith // invalid numeric OID [AoO] 1.1.=jsmith // invalid numeric OID [AoO] 01.1=jsmith // invalid numeric OID [oO] 1.ff=jsmith // invalid numeric OID [AoOn] 1.1.1=#GG // invalid HEX form [AoOn] 1.1.1=#000 // invalid HEX form [AoO] 1.1.1=#F // invalid HEX form [AoO] 1.1.1=# // invalid HEX form [AoO] UID=jsmith,,DC=example,DC=net // extra comma [AoOn] UID=john,smith // unescaped , [AoOn] UID=john+smith // unescaped + [AoOn] UID=john\?smith // invalid escape of ? or unescaped \ [oOn] UID=john\Fsmith // invalid hex escape [AoOn] UID=john\GGsmith // invalid hex escape [oOn] The following strings are invalid for use in LDAPv3, but were legal in LDAPv2 (RFC 1779). Some LDAPv3 implementations are liberal in accepting these but should not generate them. " " // space, quote characters (") are not part of the string OID.1.1=jsmith // invalid attribute type name UID=jsmith, O=example, C=US // spaces UID=jsmith;O=example;C=US // semi-colons // brackets [AoOn] CN="John Smith",O=example,C=US // quotes --- $OpenLDAP$