[ 
https://issues.apache.org/jira/browse/FELIX-4302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13858444#comment-13858444
 ] 

Felix Meschberger commented on FELIX-4302:
------------------------------------------

I hope this is fixed in Rev. 1554073:

Configuration PIDs are encoded to be used as path names for configuration 
files. On Windows platforms each segment in the path must not start with one of 
the Windows device special names such as LPT, COM, etc. Improved the encodePid 
method to encode the first character of a segment name if it starts with one of 
the special names.

Windows platform is identified by the os.name system property starting with the 
string "Windows". Looking at the OpenJDK 8 source code it looks like all values 
for the os.name system property on any Windows platform starts with that string.

> Config Admin can create illegal names on windows
> ------------------------------------------------
>
>                 Key: FELIX-4302
>                 URL: https://issues.apache.org/jira/browse/FELIX-4302
>             Project: Felix
>          Issue Type: Bug
>          Components: Configuration Admin
>    Affects Versions: configadmin-1.8.0
>            Reporter: Peter Kriens
>            Assignee: Felix Meschberger
>             Fix For: configadmin-1.8.2
>
>
> The following names are not allowed to be used in a path on Windows:
> CON, PRN, AUX, CLOCK$, NUL, COM1 ... COM9, LPT1 ... LPT9.
> If the last part of the PID is one of these names then an exception results. 
> I guess adding an extension (.cfg) to this file would prevent this clash. 
> There might actually 
> java.io.IOException: Het systeem kan het opgegeven pad niet vinden
>     at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>     at java.io.File.createNewFile(File.java:1006)
>     at java.io.File.createTempFile(File.java:1989)
>     at 
> org.apache.felix.cm.file.FilePersistenceManager._store(FilePersistenceManager.java:621)
>     at 
> org.apache.felix.cm.file.FilePersistenceManager.store(FilePersistenceManager.java:582)
>     at 
> org.apache.felix.cm.impl.CachingPersistenceManagerProxy.store(CachingPersistenceManagerProxy.java:173)
>     at 
> org.apache.felix.cm.impl.ConfigurationImpl.update(ConfigurationImpl.java:387)
>     at 
> org.apache.felix.cm.impl.ConfigurationAdapter.update(ConfigurationAdapter.java:131)
>     at aQute.impl.configurer.Configurer.configure(Configurer.java:147)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to