[
https://issues.apache.org/jira/browse/ARTEMIS-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grzegorz Grzybek updated ARTEMIS-5909:
--------------------------------------
Description:
According to [3. Customizing the
Syntax|https://artemis.apache.org/components/artemis/documentation/latest/wildcard-syntax.html#customizing-the-syntax],
we can change wildcard configuration in {{broker.xml}} which by default is:
{code:xml}
<wildcard-addresses>
<routing-enabled>true</routing-enabled>
<delimiter>.</delimiter>
<any-words>#</any-words>
<single-word>*</single-word>
</wildcard-addresses>
{code}
{{org.apache.activemq.artemis.core.settings.impl.HierarchicalObjectRepository.MatchComparator#MatchComparator}},
when checking the rules, uses:
{code:java}
this.quotedDelimiter =
Pattern.quote(wildcardConfiguration.getDelimiterString());
{code}
However,
{{org.apache.activemq.artemis.core.server.management.ArtemisRbacInvocationHandler#addressFrom()}}
always uses dots, even if it uses customized:
{code:java}
rbacPrefix =
SimpleString.of(activeMQServer.getConfiguration().getManagementRbacPrefix())
{code}
here's the ObjectName → address converter in
{{ArtemisRbacInvocationHandler#addressFrom()}}:
{code:java}
...
if (type != null) {
rbacAddress = rbacAddress.concat('.').concat(type);
}
if (component != null) {
rbacAddress = rbacAddress.concat('.').concat(component);
}
if (name != null) {
rbacAddress = rbacAddress.concat('.').concat(name);
}
if (methodName != null) {
rbacAddress = rbacAddress.concat('.').concat(methodName);
}
...
{code}
was:
According to [3. Customizing the
Syntax|https://artemis.apache.org/components/artemis/documentation/latest/wildcard-syntax.html#customizing-the-syntax],
we can change wildcard configuration in {{broker.xml}} which by default is:
{code:xml}
<wildcard-addresses>
<routing-enabled>true</routing-enabled>
<delimiter>.</delimiter>
<any-words>#</any-words>
<single-word>*</single-word>
</wildcard-addresses>
{code}
{{org.apache.activemq.artemis.core.settings.impl.HierarchicalObjectRepository.MatchComparator#MatchComparator}},
when checking the rules, uses:
{code:java}
this.quotedDelimiter =
Pattern.quote(wildcardConfiguration.getDelimiterString());
{code}
However,
{{org.apache.activemq.artemis.core.server.management.ArtemisRbacInvocationHandler#addressFrom()}}
always uses dots, even if it uses customized:
{code:java}
rbacPrefix =
SimpleString.of(activeMQServer.getConfiguration().getManagementRbacPrefix())
{code}
here's the ObjectName to address converted in
{{ArtemisRbacInvocationHandler#addressFrom()}}:
{code:java}
...
if (type != null) {
rbacAddress = rbacAddress.concat('.').concat(type);
}
if (component != null) {
rbacAddress = rbacAddress.concat('.').concat(component);
}
if (name != null) {
rbacAddress = rbacAddress.concat('.').concat(name);
}
if (methodName != null) {
rbacAddress = rbacAddress.concat('.').concat(methodName);
}
...
{code}
> Security settings matches do not respect wildcard configuration
> ---------------------------------------------------------------
>
> Key: ARTEMIS-5909
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5909
> Project: Artemis
> Issue Type: Dependency upgrade
> Reporter: Grzegorz Grzybek
> Priority: Major
>
> According to [3. Customizing the
> Syntax|https://artemis.apache.org/components/artemis/documentation/latest/wildcard-syntax.html#customizing-the-syntax],
> we can change wildcard configuration in {{broker.xml}} which by default is:
> {code:xml}
> <wildcard-addresses>
> <routing-enabled>true</routing-enabled>
> <delimiter>.</delimiter>
> <any-words>#</any-words>
> <single-word>*</single-word>
> </wildcard-addresses>
> {code}
> {{org.apache.activemq.artemis.core.settings.impl.HierarchicalObjectRepository.MatchComparator#MatchComparator}},
> when checking the rules, uses:
> {code:java}
> this.quotedDelimiter =
> Pattern.quote(wildcardConfiguration.getDelimiterString());
> {code}
> However,
> {{org.apache.activemq.artemis.core.server.management.ArtemisRbacInvocationHandler#addressFrom()}}
> always uses dots, even if it uses customized:
> {code:java}
> rbacPrefix =
> SimpleString.of(activeMQServer.getConfiguration().getManagementRbacPrefix())
> {code}
> here's the ObjectName → address converter in
> {{ArtemisRbacInvocationHandler#addressFrom()}}:
> {code:java}
> ...
> if (type != null) {
> rbacAddress = rbacAddress.concat('.').concat(type);
> }
> if (component != null) {
> rbacAddress = rbacAddress.concat('.').concat(component);
> }
> if (name != null) {
> rbacAddress = rbacAddress.concat('.').concat(name);
> }
> if (methodName != null) {
> rbacAddress = rbacAddress.concat('.').concat(methodName);
> }
> ...
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]