diff options
| author | Alex Rudyy <orudyy@apache.org> | 2015-02-20 17:09:00 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2015-02-20 17:09:00 +0000 |
| commit | 4784a1f9204c4e60573fd98c24a8a2d993407d44 (patch) | |
| tree | f34254c6e9bd585ae7067fbd4830bdfa38d82c74 /qpid/java/broker-core | |
| parent | fa52c13b344cfb431a500d092e835f97f7784e0d (diff) | |
| download | qpid-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')
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(); |
