]
Marek Kopecky commented on WFCORE-4474:
---------------------------------------
Ah, thank you. But back to the description of this jira. We have fresh server on Windows
and we call three management commands:
{noformat}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.nio.file.InvalidPathException: Illegal char <:> at index 69:
C:\\Users\\Administrator\\playground\\CD16\\jboss-eap-7.3\\st
andalone\\log\\C:/server.log",
"rolled-back" => true
}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:\\server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{"outcome" => "success"}
{noformat}
First command fails. Third command (same as first command) is successful.
Missing path validation of a log file while update path
--------------------------------------------------------
Key: WFCORE-4474
URL:
https://issues.jboss.org/browse/WFCORE-4474
Project: WildFly Core
Issue Type: Bug
Components: Logging
Affects Versions: 9.0.0.Beta4
Reporter: Vratislav Marek
Assignee: James Perkins
Priority: Major
After the first successful set of a valid path, you can set an invalid path.
It is can be relative to that while "relative-to" parameter is overridden, the
validator doesn't validate it.
Discovered on Windows.
A code block is divided, but it is holding sequence to reproduce.
_This works as expected._
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.nio.file.InvalidPathException: Illegal char <
:> at index 61:
D:\\Tests\\clear\\wildfly-17.0.0.Beta1-SNAPSHOT\\standalone\\log\\C:/server.log",
"rolled-back" => true
}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:\server.log})
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.nio.file.InvalidPathException: Illegal char <
:> at index 61:
D:\\Tests\\clear\\wildfly-17.0.0.Beta1-SNAPSHOT\\standalone\\log\\C:server.log",
"rolled-back" => true
}
{code}
_Still works as expected. But After this successful write-attribute command, it that
changing._
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:\\server.log})
{"outcome" => "success"}
{code}
*Now there is a problem, it that not works as expected. The validator accepts invalid
path.*
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:server.log})
{"outcome" => "success"}
{code}
_But not accept all invalid paths._
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:*server.log})
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.nio.file.InvalidPathException: Illegal char <
*> at index 2: C:*server.log",
"rolled-back" => true
}
{code}
_Verification if the unsuccessful update changes something. But not._
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:\\server.log})
{"outcome" => "success"}
{code}
_Verification if is really set in the property value. Yes_
{code:bash}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:read-attribute(name=file)
{
"outcome" => "success",
"result" => {"path" => "C:\\server.log"}
}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:read-attribute(name=file)
{
"outcome" => "success",
"result" => {"path" => "C:server.log"}
}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:/server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:read-attribute(name=file)
{
"outcome" => "success",
"result" => {"path" => "C:/server.log"}
}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=file,value={path=C:\server.log})
{"outcome" => "success"}
[standalone@localhost:9990 /]
/subsystem=logging/periodic-rotating-file-handler=FILE:read-attribute(name=file)
{
"outcome" => "success",
"result" => {"path" => "C:server.log"}
}
{code}