You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2020/02/03 12:00:25 UTC
svn commit: r1873533 - in /jackrabbit/oak/branches/1.22: ./
oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/
oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/...
Author: angela
Date: Mon Feb 3 12:00:25 2020
New Revision: 1873533
URL: http://svn.apache.org/viewvc?rev=1873533&view=rev
Log:
OAK-8855 : Permission evaluation of nodes broken after :nestedCug removed from parent node (merge r1873524 into 1.22 branch)
Added:
jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/RestoreParentNestedCugTest.java
- copied unchanged from r1873524, jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/RestoreParentNestedCugTest.java
Modified:
jackrabbit/oak/branches/1.22/ (props changed)
jackrabbit/oak/branches/1.22/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java
jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
Propchange: jackrabbit/oak/branches/1.22/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1873524
Modified: jackrabbit/oak/branches/1.22/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java?rev=1873533&r1=1873532&r2=1873533&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.22/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java (original)
+++ jackrabbit/oak/branches/1.22/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java Mon Feb 3 12:00:25 2020
@@ -198,6 +198,17 @@ class NestedCugHook implements PostValid
@Override
public boolean childNodeChanged(String name, NodeState before, NodeState after) {
if (!NodeStateUtils.isHidden(name)) {
+ // OAK-8855 - Restore :nestedCugs on parent if it is removed.
+ if (CugUtil.definesCug(name, after)) {
+ Diff diff = parentDiff;
+ while (diff != null) {
+ if (diff.afterHoldsCug) {
+ NodeBuilder cugNode = diff.afterBuilder.getChildNode(REP_CUG_POLICY);
+ addNestedCugPath(cugNode, afterBuilder.getChildNode(REP_CUG_POLICY), path);
+ }
+ diff = diff.parentDiff;
+ }
+ }
after.compareAgainstBaseState(before, new Diff(this, name, before, afterBuilder.getChildNode(name)));
}
return true;
Modified: jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java?rev=1873533&r1=1873532&r2=1873533&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java (original)
+++ jackrabbit/oak/branches/1.22/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/AbstractCugTest.java Mon Feb 3 12:00:25 2020
@@ -75,8 +75,8 @@ public class AbstractCugTest extends Abs
CugConstants.PARAM_CUG_SUPPORTED_PATHS, SUPPORTED_PATHS,
CugConstants.PARAM_CUG_ENABLED, true);
- private static final String TEST_GROUP_ID = "testGroup" + UUID.randomUUID();
- private static final String TEST_USER2_ID = "testUser2" + UUID.randomUUID();
+ static final String TEST_GROUP_ID = "testGroup" + UUID.randomUUID();
+ static final String TEST_USER2_ID = "testUser2" + UUID.randomUUID();
@Override
public void before() throws Exception {