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]>

Reply via email to