From ae978b9992a54514d65cafe684ee27cbb2e4a7b8 Mon Sep 17 00:00:00 2001 From: Mattias Arthursson Date: Wed, 22 Oct 2008 12:56:42 +0000 Subject: [PATCH] Fix for LDAP-97: DistinguishedName now accepts '\r' as input, as specified in LDAP v3 RFC. --- core/src/main/javacc/DnParserImpl.jj | 4 ++-- .../ldap/core/DistinguishedNameTest.java | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/src/main/javacc/DnParserImpl.jj b/core/src/main/javacc/DnParserImpl.jj index ff13ddf9..0a260907 100644 --- a/core/src/main/javacc/DnParserImpl.jj +++ b/core/src/main/javacc/DnParserImpl.jj @@ -46,8 +46,8 @@ PARSER_END(DnParserImpl) TOKEN: { <#ALPHA: ["a"-"z", "A"-"Z"] > } TOKEN: { <#DIGIT: ["0"-"9"]> } -TOKEN: { <#STRINGCHAR: ~[",","=","\r","+","<",">","#",";","\\","\""]> } -TOKEN: { <#STRINGENDCHAR: ~[",","=","\r","+","<",">","#",";","\\","\""," "]> } +TOKEN: { <#STRINGCHAR: ~[",","=","+","<",">","#",";","\\","\""]> } +TOKEN: { <#STRINGENDCHAR: ~[",","=","+","<",">","#",";","\\","\""," "]> } TOKEN: { <#SPECIAL: [",","=","\r","+","<",">","#",";"]> } TOKEN: { <#HEXCHAR: ["0"-"9","a"-"f","A"-"F"]> } TOKEN: { <#HEXPAIR: > } diff --git a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTest.java b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTest.java index 44c33413..253b0580 100644 --- a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTest.java +++ b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTest.java @@ -477,7 +477,7 @@ public class DistinguishedNameTest extends TestCase { DistinguishedName name = new DistinguishedName("cn=jo\"hn doe"); assertNotNull(name); } - + public void testAppendChained() { DistinguishedName tested = new DistinguishedName("dc=mycompany,dc=com"); tested.append("ou", "company1").append("cn", "john doe"); @@ -498,4 +498,12 @@ public class DistinguishedNameTest extends TestCase { assertTrue(true); } } + + /** + * Test for LDAP-97. + */ + public void testDistinguishedNameWithCRParsesProperly() { + DistinguishedName name = new DistinguishedName("cn=foo \r bar"); + assertNotNull(name); + } }