summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2015-02-20 17:09:00 +0000
committerAlex Rudyy <orudyy@apache.org>2015-02-20 17:09:00 +0000
commit4784a1f9204c4e60573fd98c24a8a2d993407d44 (patch)
treef34254c6e9bd585ae7067fbd4830bdfa38d82c74 /qpid/java/broker-core
parentfa52c13b344cfb431a500d092e835f97f7784e0d (diff)
downloadqpid-python-4784a1f9204c4e60573fd98c24a8a2d993407d44.tar.gz
QPID-6364: Display actual value for a secure attribute with value not matching secureValueFilter
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1661165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java5
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java17
2 files changed, 18 insertions, 4 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
index 3ec60604c3..74982acb4b 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
@@ -44,7 +44,6 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicReference;
-import java.util.regex.Pattern;
import javax.security.auth.Subject;
@@ -1137,9 +1136,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
if(attr != null && (attr.isAutomated() || attr.isDerived()))
{
Object value = attr.getValue((X)this);
- Pattern secureValueFilter = attr.getSecureValueFilter();
- if(value != null && attr.isSecure() && !SecurityManager.isSystemProcess() &&
- (secureValueFilter == null || secureValueFilter.matcher(value.toString()).matches()))
+ if(value != null && !SecurityManager.isSystemProcess() && attr.isSecureValue(value))
{
return SECURE_VALUES.get(value.getClass());
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
index 4f15d612f9..94610a6cb5 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
@@ -52,6 +52,23 @@ public abstract class ConfiguredObjectAttribute<C extends ConfiguredObject, T> e
public abstract Pattern getSecureValueFilter();
+ public boolean isSecureValue(Object value)
+ {
+ if (isSecure())
+ {
+ Pattern filter = getSecureValueFilter();
+ if (filter == null)
+ {
+ return true;
+ }
+ else
+ {
+ return filter.matcher(String.valueOf(value)).matches();
+ }
+ }
+ return false;
+ }
+
public T convert(final Object value, C object)
{
final AttributeValueConverter<T> converter = getConverter();