net.sf.hermesftp.server.impl
Class DefaultFtpServer

java.lang.Object
  extended by net.sf.hermesftp.utils.AbstractAppAwareBean
      extended by net.sf.hermesftp.server.AbstractFtpServer
          extended by net.sf.hermesftp.server.impl.DefaultFtpServer
All Implemented Interfaces:
java.lang.Runnable, BeanConstants, FtpConstants, FtpEventListener, FtpServer, org.springframework.context.ApplicationContextAware

public class DefaultFtpServer
extends AbstractFtpServer

FTP server implementation that handles unencrypted communication over the FTP port. The server can switch to the SSL protocol after excplicit SSL is requested (AUTH command).

Author:
Lars Behnke

Field Summary
 
Fields inherited from interface net.sf.hermesftp.common.FtpConstants
ATTR_CLIENT_NAME, ATTR_DATA_PROT, ATTR_FILE_OFFSET, ATTR_FORCE_UTF8, ATTR_GROUP_DATA, ATTR_LOGIN_TIME, ATTR_RENAME_FILE, ATTR_RESTART_MARKERS, ATTR_SSL, ATTR_USER_DATA, BYTE_LENGTH, BYTE_MASK, DEFAULT_BEAN_RES, DEFAULT_KEYSTORE, DEFAULT_KEYSTORE_PASS, DT_ASCII, DT_BINARY, DT_EBCDIC, HERMES_HOME, MILLI, MODE_BLOCK, MODE_COMPRESS, MODE_STREAM, MODE_ZIP, MSG_GOODBYE, MSG150, MSG200, MSG200_NOTED, MSG200_PBSZ, MSG200_SIZE, MSG200_TYPE, MSG202, MSG211_FEAT_ENTRY, MSG211_FEAT_FOOTER, MSG211_FEAT_HEADER, MSG211_STAT, MSG213_SIZE, MSG213_TIME, MSG214, MSG220, MSG220_WEL, MSG226, MSG227, MSG229, MSG230, MSG234, MSG250, MSG257, MSG331, MSG350, MSG350_REST, MSG421, MSG425, MSG426, MSG431, MSG450, MSG451, MSG500, MSG500_CMD, MSG501, MSG501_PATH, MSG501_SIZE, MSG503, MSG503_USR, MSG504, MSG522, MSG530, MSG530_AUTH, MSG534, MSG536, MSG550, MSG550_COMM, MSG550_EXISTS, MSG550_MSG, MSG550_NOTEMPTY, MSG550_PERM, MSG553, OPT_ALLOWED_PASSIVE_PORTS, OPT_BUFFER_SIZE, OPT_CHARSET_ASCII, OPT_CHARSET_EBCDIC, OPT_EMULATE_UNIX, OPT_FTP_PORT, OPT_IPV4_BLACK_LIST, OPT_IPV6_BLACK_LIST, OPT_MAX_CONNECTIONS, OPT_MAX_DOWNLOAD_RATE, OPT_MAX_IDLE_SECONDS, OPT_MAX_UPLOAD_RATE, OPT_MSG_GOODBYE, OPT_MSG_WELCOME, OPT_REMOTE_DIR, OPT_SSL_ALLOW_EXPLICIT, OPT_SSL_ALLOW_IMPLICIT, OPT_SSL_CIPHER_SUITES, OPT_SSL_FORCE, OPT_SSL_KEYSTORE_FILE, OPT_SSL_KEYSTORE_PASS, OPT_SSL_PORT_IMPLICIT, PRIV_NONE, PRIV_READ, PRIV_READ_WRITE, PRIV_WRITE, PWD, SEPARATOR, SERVER_STATUS_HALTED, SERVER_STATUS_INIT, SERVER_STATUS_READY, SERVER_STATUS_UNDEF, SPACE, STAT_BYTES_DOWNLOADED, STAT_BYTES_UPLOADED, STAT_DOWNLOAD_RATE, STAT_FILES_DOWNLOADED, STAT_FILES_UPLOADED, STAT_UPLOAD_RATE, STRUCT_FILE, STRUCT_RECORD, TYPE_NAMES, WILDCARD
 
Fields inherited from interface net.sf.hermesftp.common.BeanConstants
BEAN_CONSOLE, BEAN_SERVER, BEAN_SESSION, BEAN_SSL_SERVER
 
Constructor Summary
DefaultFtpServer()
           
 
Method Summary
protected  FtpSessionContext createFtpContext()
          Creates the context object passed to the user session.
protected  java.net.ServerSocket createServerSocket()
          Creates a server socket.
 
Methods inherited from class net.sf.hermesftp.server.AbstractFtpServer
abort, addFtpEventListener, cleanUpSessions, downloadPerformed, getConnectionCount, getConnectionCountHWMark, getConnectionCountHWMarkDate, getName, getOption, getOptions, getResources, getSessions, getStatus, getUserManager, isTerminated, loginPerformed, run, sessionClosed, sessionOpened, setConnectionCountHWMark, setConnectionCountHWMarkDate, setName, setOptions, setResources, setStatus, setUserManager, uploadPerformed
 
Methods inherited from class net.sf.hermesftp.utils.AbstractAppAwareBean
getApplicationContext, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultFtpServer

public DefaultFtpServer()
Method Detail

createServerSocket

protected java.net.ServerSocket createServerSocket()
                                            throws java.io.IOException
Creates a server socket. Depending on the server implementation this can be a SSL or a regular server socket.

Specified by:
createServerSocket in class AbstractFtpServer
Returns:
The server socket.
Throws:
java.io.IOException - Error on creating server socket.

createFtpContext

protected FtpSessionContext createFtpContext()
Creates the context object passed to the user session.

Specified by:
createFtpContext in class AbstractFtpServer
Returns:
The session context.


Copyright © 2005-2007 Lars Behnke. All Rights Reserved.