Author: kwall
Date: Thu Oct 6 16:44:04 2016
New Revision: 1763630
URL: http://svn.apache.org/viewvc?rev=1763630&view=rev
Log:
QPID-7318: [Java Broker] [ACL] Fix defect that prevents cache being effective
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundAccessControl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundSecurityToken.java
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundAccessControl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundAccessControl.java?rev=1763630&r1=1763629&r2=1763630&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundAccessControl.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundAccessControl.java
Thu Oct 6 16:44:04 2016
@@ -94,7 +94,7 @@ public class CompoundAccessControl imple
Map<AccessControl<?>, SecurityToken> compoundToken = token == null ?
null : token.getCompoundToken(underlying);
for(AccessControl control : underlying)
{
- SecurityToken underlyingToken = compoundToken == null ? null :
compoundToken.get(underlying);
+ SecurityToken underlyingToken = compoundToken == null ? null :
compoundToken.get(control);
final Result result = control.authorise(underlyingToken,
operation, configuredObject, arguments);
if(result.isFinal())
{
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundSecurityToken.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundSecurityToken.java?rev=1763630&r1=1763629&r2=1763630&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundSecurityToken.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/CompoundSecurityToken.java
Thu Oct 6 16:44:04 2016
@@ -42,19 +42,15 @@ class CompoundSecurityToken implements S
}
- Map<AccessControl<?>, SecurityToken> getCompoundToken(final
List<AccessControl<?>> underlying)
+ Map<AccessControl<?>, SecurityToken> getCompoundToken(final
List<AccessControl<?>> accessControls)
{
CompoundTokenMapReference ref = _reference.get();
- if(ref.getAccessControlList() != underlying)
+ if (ref.getAccessControlList() != accessControls)
{
- CompoundTokenMapReference oldRef;
- do
- {
- oldRef = ref;
- ref = new CompoundTokenMapReference(underlying);
-
- } while(!_reference.compareAndSet(oldRef,ref));
+ CompoundTokenMapReference oldRef = ref;
+ ref = new CompoundTokenMapReference(accessControls);
ref.init(_subject);
+ _reference.compareAndSet(oldRef, ref);
}
return ref.getCompoundTokenMap();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]