You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2010/09/20 17:53:44 UTC
svn commit: r998964 - in /mina/ftpserver:
branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/
branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/
branches/1.0.x/core/src/test/resources/ trunk/core/src/main/java/org/apac...
Author: ngn
Date: Mon Sep 20 15:53:44 2010
New Revision: 998964
URL: http://svn.apache.org/viewvc?rev=998964&view=rev
Log:
Fixing bug where a disabled user was allowed to login (FTPSERVER-387)
Modified:
mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
mina/ftpserver/branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
mina/ftpserver/branches/1.0.x/core/src/test/resources/users.properties
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
mina/ftpserver/trunk/core/src/test/resources/users.properties
Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java Mon Sep 20 15:53:44 2010
@@ -180,6 +180,19 @@ public class PASS extends AbstractComman
int oldMaxIdleTime = session.getMaxIdleTime();
if (authenticatedUser != null) {
+ if(!authenticatedUser.getEnabled()) {
+ session
+ .write(LocalizedFtpReply
+ .translate(
+ session,
+ request,
+ context,
+ FtpReply.REPLY_530_NOT_LOGGED_IN,
+ "PASS", null));
+ return;
+ }
+
+
session.setUser(authenticatedUser);
session.setUserArgument(null);
session.setMaxIdleTime(authenticatedUser.getMaxIdleTime());
Modified: mina/ftpserver/branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java Mon Sep 20 15:53:44 2010
@@ -48,6 +48,10 @@ public class LoginTest extends ClientTes
assertFalse(client.login(null, null));
}
+ public void testLoginDisabledUser() throws Exception {
+ assertFalse(client.login("testuser4", "password"));
+ }
+
public void testLoginWithAccount() throws Exception {
assertTrue(client.login(ADMIN_USERNAME, ADMIN_PASSWORD));
Modified: mina/ftpserver/branches/1.0.x/core/src/test/resources/users.properties
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/test/resources/users.properties?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/test/resources/users.properties (original)
+++ mina/ftpserver/branches/1.0.x/core/src/test/resources/users.properties Mon Sep 20 15:53:44 2010
@@ -42,6 +42,10 @@ ftpserver.user.testuser3.userpassword=
ftpserver.user.testuser3.writepermission=true
ftpserver.user.testuser3.homedirectory=./test-tmp/ftproot
+ftpserver.user.testuser4.userpassword=password
+ftpserver.user.testuser4.enableflag=false
+ftpserver.user.testuser4.homedirectory=./test-tmp/ftproot
+
ftpserver.user.anonymous.userpassword=
ftpserver.user.anonymous.maxloginperip=2
ftpserver.user.anonymous.uploadrate=4800
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java Mon Sep 20 15:53:44 2010
@@ -180,6 +180,19 @@ public class PASS extends AbstractComman
int oldMaxIdleTime = session.getMaxIdleTime();
if (authenticatedUser != null) {
+ if(!authenticatedUser.getEnabled()) {
+ session
+ .write(LocalizedFtpReply
+ .translate(
+ session,
+ request,
+ context,
+ FtpReply.REPLY_530_NOT_LOGGED_IN,
+ "PASS", null));
+ return;
+ }
+
+
session.setUser(authenticatedUser);
session.setUserArgument(null);
session.setMaxIdleTime(authenticatedUser.getMaxIdleTime());
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java Mon Sep 20 15:53:44 2010
@@ -49,6 +49,10 @@ public class LoginTest extends ClientTes
assertFalse(client.login(null, null));
}
+ public void testLoginDisabledUser() throws Exception {
+ assertFalse(client.login("testuser4", "password"));
+ }
+
public void testLoginWithAccount() throws Exception {
assertTrue(client.login(ADMIN_USERNAME, ADMIN_PASSWORD));
Modified: mina/ftpserver/trunk/core/src/test/resources/users.properties
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/resources/users.properties?rev=998964&r1=998963&r2=998964&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/resources/users.properties (original)
+++ mina/ftpserver/trunk/core/src/test/resources/users.properties Mon Sep 20 15:53:44 2010
@@ -42,6 +42,10 @@ ftpserver.user.testuser3.userpassword=
ftpserver.user.testuser3.writepermission=true
ftpserver.user.testuser3.homedirectory=./test-tmp/ftproot
+ftpserver.user.testuser4.userpassword=password
+ftpserver.user.testuser4.enableflag=false
+ftpserver.user.testuser4.homedirectory=./test-tmp/ftproot
+
ftpserver.user.anonymous.userpassword=
ftpserver.user.anonymous.maxloginperip=2
ftpserver.user.anonymous.uploadrate=4800