LdifPartition file names on Unix and Windows
--------------------------------------------
Key: DIRSERVER-1551
URL: https://issues.apache.org/jira/browse/DIRSERVER-1551
Project: Directory ApacheDS
Issue Type: Bug
Affects Versions: 2.0.0-RC1
Reporter: Stefan Seelmann
Fix For: 2.0.0-RC1
The LdifPartion stores entries to the file system and uses the entry's DN as
file name or folder name. The DN may include (almost) every unicode character,
but different file systems don't allow every character
(http://en.wikipedia.org/wiki/Filenames). The current implementation escapes
some characters using a backslash, howerver that doesn't work, neither on
Windows nor an Unix (Linux or Mac OS X), see simple test below
In DIRSERVER-1541 Richard attached a patch that uses sort of URL encoding of
forbidden characters to fix the problems on Windows. I'd suggest to use the
same method on Unix OSes.
Index:
ldif-partition/src/test/java/org/apache/directory/server/core/partition/LdifPartitionTest.java
===================================================================
---
ldif-partition/src/test/java/org/apache/directory/server/core/partition/LdifPartitionTest.java
(Revision 996996)
+++
ldif-partition/src/test/java/org/apache/directory/server/core/partition/LdifPartitionTest.java
(Arbeitskopie)
@@ -567,6 +567,23 @@
}
+ @Test
+ public void testIllegalFilename() throws Exception
+ {
+ DN adminDn = new DN( "uid=admin,ou=system", schemaManager );
+ CoreSession session = new MockCoreSession( new LdapPrincipal( adminDn,
AuthenticationLevel.STRONG ),
+ new MockDirectoryService( 1 ) );
+ AddOperationContext addCtx = new AddOperationContext( session );
+
+ ClonedServerEntry entry1 = createEntry( "dc=a/b/c,ou=test,ou=system" );
+ entry1.put( "ObjectClass", "top", "domain" );
+ entry1.put( "dc", "a/b/c" );
+ addCtx.setEntry( entry1 );
+
+ partition.add( addCtx );
+ }
+
+
private CoreSession injectEntries() throws Exception
{
DN adminDn = new DN( "uid=admin,ou=system", schemaManager );
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.