felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-4302) Config Admin can create illegal names on windows
Date Sun, 29 Dec 2013 21:25:50 GMT

    [ 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

View raw message