mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aniceto Pérez y Madrid (JIRA) <j...@apache.org>
Subject [jira] Updated: (FTPSERVER-369) maxLogin is reached immediately
Date Fri, 07 May 2010 13:46:58 GMT

     [ https://issues.apache.org/jira/browse/FTPSERVER-369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Aniceto Pérez y Madrid updated FTPSERVER-369:
---------------------------------------------

    Attachment: ftp4j-1.5.jar
                Main.java

David

I used ftp-server 1.0.4 unmodified using ftpd-typical.xml. Access is 
always named, not anonymous, and the problems arise running on Linux and 
Windows. I'm sending you a Java class and a free ftp library for you to 
test it. Just run the ftpserver as bin\ftpd res\conf\ftpd-typical.xml 
and then run the Java class.

Regards
Aniceto Perez



-- 

Aniceto Pérez y Madrid aperez@innovasoftps.com 
<mailto:aperez@innovasoftps.com>
Director General

*Innovasoft Proyectos y Servicios, SL*
Ferraz, 28 2º izq
E-28008 MADRID
Tel: +34 915 488 601
http://www.innovasoftps.com

Acceda remotamente a su ordenador Windows con Famatech Radmin 
http://www.innovasoftps.com

 

 


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ftpsmasher;

import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPFile;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPListParseException;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Administrador
 */
public class Main {

    String ftpHost = "localhost", ftpUser = "admin", ftpPasswd = "admin";
    int ftpPort = 2121;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main();
    }

    Main() {
        while (true) {
            try {
                try {
                    Thread.sleep(300);
                } catch (Exception e) {
                }
                FTPClient ftp = new it.sauronsoftware.ftp4j.FTPClient();
                ftp.connect(ftpHost, ftpPort);
                ftp.login(ftpUser, ftpPasswd);
                FTPFile[] list = ftp.list("*.*");
                try {
                    ftp.logout();
                } catch (Exception ee) {
                }
                try {
                       ftp.disconnect(true);
                } catch (Exception ee) {
                }


            } catch (IllegalStateException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FTPIllegalReplyException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FTPException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FTPDataTransferException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FTPAbortedException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FTPListParseException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }
}


> maxLogin is reached immediately 
> --------------------------------
>
>                 Key: FTPSERVER-369
>                 URL: https://issues.apache.org/jira/browse/FTPSERVER-369
>             Project: FtpServer
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.4
>         Environment: Linux or Windows
>            Reporter: Aniceto Pérez y Madrid
>             Fix For: 1.0.5, 1.1.0
>
>         Attachments: ftp4j-1.5.jar, Main.java
>
>
> I've created a simple program loop which open, connect and disconnect. If the max-logins
parameter is set to 10, the message "Too many users logged in, user will be disconnected"
is issued after 10 loops
> The cause is in DefaultFtpStatistics. In this function
>  
>  public synchronized void setLogout(final FtpIoSession session) {
>         User user = session.getUser();
>         if (user == null) {
>             return;
>         }
>         currLogins.decrementAndGet();
> session.getUser() always returns null, so never currLogins.decrementAndGet() is called.
My workaround is to put that statement before testing user null state. 
> Why      session.getUser()  return null is out of my knowledge.
>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message