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 st...@apache.org on 2018/03/20 11:31:56 UTC

svn commit: r1827296 - in /jackrabbit/oak/trunk: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/

Author: stillalex
Date: Tue Mar 20 11:31:56 2018
New Revision: 1827296

URL: http://svn.apache.org/viewvc?rev=1827296&view=rev
Log:
OAK-7024 java.security.acl deprecated in Java 10, marked for removal in Java 11
 - reintroduced Group implementation for backwards compatibility reasons


Modified:
    jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java

Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java?rev=1827296&r1=1827295&r2=1827296&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java Tue Mar 20 11:31:56 2018
@@ -272,7 +272,7 @@ class ExternalGroupPrincipalProvider imp
      * identities that are <strong>not</strong> represented as authorizable group
      * in the repository's user management.
      */
-    private final class ExternalGroupPrincipal extends PrincipalImpl implements GroupPrincipal {
+    private final class ExternalGroupPrincipal extends PrincipalImpl implements GroupPrincipal, java.security.acl.Group {
 
         private ExternalGroupPrincipal(String principalName) {
             super(principalName);
@@ -280,6 +280,24 @@ class ExternalGroupPrincipalProvider imp
         }
 
         @Override
+        public boolean addMember(Principal user) {
+            if (isMember(user)) {
+                return false;
+            } else {
+                throw new UnsupportedOperationException("Adding members to external group principals is not supported.");
+            }
+        }
+
+        @Override
+        public boolean removeMember(Principal user) {
+            if (!isMember(user)) {
+                return false;
+            } else {
+                throw new UnsupportedOperationException("Removing members from external group principals is not supported.");
+            }
+        }
+
+        @Override
         public boolean isMember(Principal member) {
             if (GroupPrincipals.isGroup(member)) {
                 return false;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java?rev=1827296&r1=1827295&r2=1827296&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java Tue Mar 20 11:31:56 2018
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Base class for {@code Group} principals.
  */
-abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements GroupPrincipal {
+abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements GroupPrincipal, java.security.acl.Group {
 
     private static final Logger log = LoggerFactory.getLogger(AbstractGroupPrincipal.class);
 
@@ -112,4 +112,13 @@ abstract class AbstractGroupPrincipal ex
         return Iterators.asEnumeration(Iterators.filter(principals, Predicates.<Object>notNull()));
     }
 
+    @Override
+    public boolean addMember(Principal principal) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public boolean removeMember(Principal principal) {
+        throw new UnsupportedOperationException();
+    }
 }