This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 9de9007d90b835f6334eef95edb4e0c688dcfa76
Author: juanpablo <[email protected]>
AuthorDate: Sat Aug 24 00:42:22 2019 +0200

    removal of @deprecated code (14) - AbstractLoginModule and 
AbstractUserDatabase:
    * AbstractLoginModule: remove deprecated collections, they weren't used 
anywhere
    * AbstractUserDatabase: remove @Deprecated tag from getOldHash method and 
make it private, we'll move all SHA-1 together to SHA-512 later on
---
 .../wiki/auth/login/AbstractLoginModule.java       | 96 ++++------------------
 .../wiki/auth/user/AbstractUserDatabase.java       |  2 +-
 2 files changed, 17 insertions(+), 81 deletions(-)

diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/login/AbstractLoginModule.java
 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/login/AbstractLoginModule.java
index fca22b8..1d17bfb 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/login/AbstractLoginModule.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/login/AbstractLoginModule.java
@@ -19,7 +19,6 @@
 package org.apache.wiki.auth.login;
 
 import org.apache.log4j.Logger;
-import org.apache.wiki.auth.WikiPrincipal;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
@@ -46,17 +45,6 @@ public abstract class AbstractLoginModule implements 
LoginModule {
     protected Map< String, ? > m_options;
 
     /**
-     * Collection of Principals set during login module initialization.
-     * These represent the user's identities prior to the overall login.
-     * Typically these will contain earlier, less-authoritative principals
-     * like a WikiPrincipal for the user cookie, or an IP address.
-     * These Principals are forcibly removed during the commit phase
-     * if login succeeds.
-     * @deprecated
-     */
-    protected Collection< Principal > m_previousWikiPrincipals;
-
-    /**
      * Implementing classes should add Principals to this collection; these
      * will be added to the principal set when the overall login succeeds.
      * These Principals will be added to the Subject
@@ -64,31 +52,6 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      */
     protected Collection< Principal > m_principals;
 
-    /**
-     * Implementing classes should add Principals to this collection
-     * to specify what Principals <em>must</em> be removed if login for
-     * this module, or for the entire login configuration overall, fails.
-     * Generally, these will be Principals of type
-     * {@link org.apache.wiki.auth.authorize.Role}.
-     * @deprecated
-     */
-    protected Collection< Principal > m_principalsToRemove;
-
-    /**
-     * Implementing classes should add Principals to this collection to specify
-     * what Principals, perhaps suppled by other LoginModules, <em>must</em>
-     * be removed if login for this module, or for the entire login
-     * configuration overall, succeeds. Generally, these will be Principals of
-     * type {@link org.apache.wiki.auth.authorize.Role}. For example,
-     * {@link CookieAssertionLoginModule} adds
-     * {@link org.apache.wiki.auth.authorize.Role#ANONYMOUS} to its
-     * <code>m_principalsToOverwrite</code> collection because when it
-     * succeeds, its own {@link 
org.apache.wiki.auth.authorize.Role#AUTHENTICATED}
-     * should over-write {@link org.apache.wiki.auth.authorize.Role#ANONYMOUS}.
-     * @deprecated
-     */
-    protected Collection< Principal > m_principalsToOverwrite;
-
     protected Map< String, ? > m_state;
 
     protected Subject m_subject;
@@ -101,7 +64,7 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      * LoginModules did not succeed). Specifically, it removes
      * Principals from the Subject that are associated with the
      * individual LoginModule; these will be those contained in
-     * {@link #m_principalsToRemove}.
+     * {@link #m_principals}.
      * It always returns <code>true</code>.
      * @see javax.security.auth.spi.LoginModule#abort()
      * @return True, always.
@@ -109,11 +72,9 @@ public abstract class AbstractLoginModule implements 
LoginModule {
     public final boolean abort()
     {
         removePrincipals( m_principals );
-        removePrincipals( m_principalsToRemove );
 
         // Clear the principals/principalsToRemove sets
         m_principals.clear();
-        m_principalsToRemove.clear();
 
         return true;
     }
@@ -125,7 +86,7 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      * <code>m_principals</code> member variable is consulted to determine
      * whether to add the principals. If its size is 0 (because the login
      * failed), the login is considered to have failed; in this case,
-     * all principals in {@link #m_principalsToRemove} are removed
+     * all principals in {@link #m_principals} are removed
      * from the Subject's set. Otherwise, the principals added to
      * <code>m_principals</code> in the {@link #login()} method are added to
      * the Subject's set.
@@ -134,30 +95,22 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      *         failed
      * @see javax.security.auth.spi.LoginModule#commit()
      */
-    public final boolean commit()
-    {
-        if ( succeeded() )
-        {
-            removePrincipals( m_previousWikiPrincipals );
-            for ( Principal principal : m_principals )
-            {
+    public final boolean commit() {
+        if ( succeeded() ) {
+            for ( final Principal principal : m_principals ) {
                 m_subject.getPrincipals().add( principal );
-                if ( log.isDebugEnabled() )
-                {
+                if ( log.isDebugEnabled() ) {
                     log.debug("Committed Principal " + principal.getName() );
                 }
             }
-            removePrincipals( m_principalsToOverwrite );
             return true;
         }
 
         // If login did not succeed, clean up after ourselves
         removePrincipals( m_principals );
-        removePrincipals( m_principalsToRemove );
 
         // Clear the principals/principalsToRemove sets
         m_principals.clear();
-        m_principalsToRemove.clear();
 
         return false;
     }
@@ -167,34 +120,25 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      * callback handler, options and shared state. In particular, the member
      * variable <code>m_principals</code> is initialized as a blank Set.
      * @see 
javax.security.auth.spi.LoginModule#initialize(javax.security.auth.Subject,
-     *      javax.security.auth.callback.CallbackHandler, java.util.Map,
-     *      java.util.Map)
+     *      javax.security.auth.callback.CallbackHandler, java.util.Map, 
java.util.Map)
      *      
      * @param subject {@inheritDoc}
      * @param callbackHandler {@inheritDoc}
      * @param sharedState {@inheritDoc}
      * @param options {@inheritDoc}
      */
-    public final void initialize( Subject subject, CallbackHandler 
callbackHandler, Map<String,?> sharedState, Map<String,?> options )
-    {
-        m_previousWikiPrincipals = new HashSet<>();
+    public final void initialize( final Subject subject, final CallbackHandler 
callbackHandler, final Map<String,?> sharedState, final Map<String,?> options ) 
{
         m_principals = new HashSet<>();
-        m_principalsToRemove = new HashSet<>();
-        m_principalsToOverwrite = new HashSet<>();
         m_subject = subject;
         m_handler = callbackHandler;
         m_state = sharedState;
         m_options = options;
-        if ( subject == null )
-        {
+        if ( subject == null ) {
             throw new IllegalStateException( "Subject cannot be null" );
         }
-        if ( callbackHandler == null )
-        {
+        if ( callbackHandler == null ) {
             throw new IllegalStateException( "Callback handler cannot be null" 
);
         }
-        // Stash the previous WikiPrincipals; we will flush these if login 
succeeds
-        m_previousWikiPrincipals.addAll( subject.getPrincipals( 
WikiPrincipal.class ) );
     }
 
     /**
@@ -209,21 +153,17 @@ public abstract class AbstractLoginModule implements 
LoginModule {
     public abstract boolean login() throws LoginException;
 
     /**
-     * Logs the user out. Removes all principals in {@link 
#m_principalsToRemove}
+     * Logs the user out. Removes all principals in {@link #m_principals}
      * from the Subject's principal set.
      * @return <code>true</code> if the commit succeeded, or
      *         <code>false</code> if this LoginModule should be ignored
-     * @throws LoginException if the logout itself fails
      * @see javax.security.auth.spi.LoginModule#logout()
      */
-    public final boolean logout()
-    {
+    public final boolean logout() {
         removePrincipals( m_principals );
-        removePrincipals( m_principalsToRemove );
 
         // Clear the principals/principalsToRemove sets
         m_principals.clear();
-        m_principalsToRemove.clear();
 
         return true;
     }
@@ -244,15 +184,11 @@ public abstract class AbstractLoginModule implements 
LoginModule {
      * Principal set.
      * @param principals the principals to remove
      */
-    private void removePrincipals( Collection<Principal> principals )
-    {
-        for ( Principal principal : principals )
-        {
-            if ( m_subject.getPrincipals().contains( principal ) )
-            {
+    private void removePrincipals( final Collection<Principal> principals ) {
+        for ( final Principal principal : principals ) {
+            if ( m_subject.getPrincipals().contains( principal ) ) {
                 m_subject.getPrincipals().remove( principal );
-                if ( log.isDebugEnabled() )
-                {
+                if ( log.isDebugEnabled() ) {
                     log.debug("Removed Principal " + principal.getName() );
                 }
             }
diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/AbstractUserDatabase.java
 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/AbstractUserDatabase.java
index 727d0cd..df51c10 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/AbstractUserDatabase.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/AbstractUserDatabase.java
@@ -306,7 +306,7 @@ public abstract class AbstractUserDatabase implements 
UserDatabase
      * @return the result hash
      * @deprecated this method is retained for backwards compatibility 
purposes; use {@link #getHash(String)} instead
      */
-    protected String getOldHash( final String text ) {
+    String getOldHash( final String text ) {
         try {
             final MessageDigest md = MessageDigest.getInstance( "SHA" );
             md.update( text.getBytes( StandardCharsets.UTF_8 ) );

Reply via email to