rana_b 2002/10/10 09:05:37
Modified: ftpserver/src/java/org/apache/avalon/ftpserver
ConnectionService.java
Log:
creating user home if necessary
Revision Changes Path
1.6 +37 -1
jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/ConnectionService.java
Index: ConnectionService.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/ConnectionService.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ConnectionService.java 1 Apr 2002 17:26:39 -0000 1.5
+++ ConnectionService.java 10 Oct 2002 16:05:37 -0000 1.6
@@ -1,3 +1,4 @@
+//$Id$
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -173,6 +174,11 @@
thisUser.login();
thisUser.setPassword(null);
+
+ // create user home if necessary
+ if( !createHome(thisUser) ) {
+ return false;
+ }
mConfig.getLogger().info("User login - " +
thisUser.getClientAddress().getHostAddress() + " - " + thisUser.getName());
// update global statistics
@@ -279,6 +285,37 @@
return true;
}
+
+ /**
+ * Create user home directory if necessary
+ */
+ private boolean createHome(FtpUser user) {
+
+ File userHome = new File( user.getVirtualDirectory().getRootDirectory() );
+ if( userHome.exists() ) {
+ if( !userHome.isDirectory() ) {
+ mConfig.getLogger().warn("User home (" + userHome.getAbsolutePath()
+ ") for user " + user.getName() + " is not a directory.");
+ return false;
+ }
+ }
+ else {
+ if( mConfig.isCreateHome() ) {
+ mConfig.getLogger().info("Creating home (" +
userHome.getAbsolutePath() + ") for user " + user.getName());
+ if( !userHome.mkdirs() ) {
+ mConfig.getLogger().warn("Cannot create home (" +
userHome.getAbsolutePath() + ") for user " + user.getName());
+ return false;
+ }
+ }
+ else {
+ mConfig.getLogger().warn("Cannot find home (" +
userHome.getAbsolutePath() + ") for user " + user.getName());
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+
/**
* New connection has been established - not yet logged-in.
*/
@@ -399,7 +436,6 @@
* users and stops the cleaner thread.
*/
public void dispose() {
- mConfig.getLogger().info("Closing connection service...");
// close all connections
if (mConList != null) {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>