You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-commits@incubator.apache.org by ng...@apache.org on 2007/11/20 13:36:12 UTC

svn commit: r596658 - in /incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver: DefaultFtpServerContext.java command/PASS.java

Author: ngn
Date: Tue Nov 20 05:36:12 2007
New Revision: 596658

URL: http://svn.apache.org/viewvc?rev=596658&view=rev
Log:
Fixed potential NPE in PASS. Thanks to Dave Roberts for the report and patch (FTPSERVER-115)

Modified:
    incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpServerContext.java
    incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java

Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpServerContext.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpServerContext.java?rev=596658&r1=596657&r2=596658&view=diff
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpServerContext.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpServerContext.java Tue Nov 20 05:36:12 2007
@@ -250,6 +250,13 @@
             listenerBean.destroyBean();
         }
         
+//        Iterator listenerIter = listeners.values().iterator();
+//        while (listenerIter.hasNext()) {
+//            Listener listenerBean = (Listener) listenerIter.next();
+//            listenerBean.stop();
+//        }
+
+        
         if(connectionManager != null && connectionManager instanceof Component) {
             ((Component)connectionManager).dispose();
         }

Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java?rev=596658&r1=596657&r2=596658&view=diff
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java Tue Nov 20 05:36:12 2007
@@ -93,7 +93,6 @@
             // already logged-in
             if(session.isLoggedIn()) {
                 out.write(FtpReplyUtil.translate(session, FtpReply.REPLY_202_COMMAND_NOT_IMPLEMENTED, "PASS", null));
-                success = true;
                 return;
             }
             
@@ -133,14 +132,11 @@
                     auth = new UsernamePasswordAuthentication(userName, password, userMetadata);
                 }
                 authenticatedUser = userManager.authenticate(auth);
-                success = true;
             } catch(AuthenticationFailedException e) { 
-                success = false;
                 authenticatedUser = null;
                 LOG.warn("User failed to log in", e);                
             }
             catch(Exception e) {
-                success = false;
                 authenticatedUser = null;
                 LOG.warn("PASS.execute()", e);
             }
@@ -153,10 +149,11 @@
             String oldUserArgument = session.getUserArgument();
             int oldMaxIdleTime = session.getMaxIdleTime();
 
-            if(success) {
+            if(authenticatedUser != null) {
                 session.setUser(authenticatedUser);
                 session.setUserArgument(null);
                 session.setMaxIdleTime(authenticatedUser.getMaxIdleTime());
+                success = true;
             } else {
                 session.setUser(null);
             }