示例#1
0
 public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, TcpClient socket)
     : base(nId, socket)
 {
     commandHashTable = new Dictionary<String, CommandHandler>(17);
     this.fileSystemClassFactory = fileSystemClassFactory;
     LoadCommands();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FillConnectionFileSystemDataAction"/> class.
 /// </summary>
 /// <param name="ftpConnectionAccessor">The FTP connection accessor.</param>
 /// <param name="fileSystemFactory">The file system factory.</param>
 public FillConnectionFileSystemDataAction(
     [NotNull] IFtpConnectionAccessor ftpConnectionAccessor,
     [NotNull] IFileSystemClassFactory fileSystemFactory)
 {
     _ftpConnectionAccessor = ftpConnectionAccessor;
     _fileSystemFactory     = fileSystemFactory;
 }
示例#3
0
        public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, System.Net.Sockets.TcpClient socket)
            : base(nId, socket)
        {
            m_theCommandHashTable    = new System.Collections.Hashtable();
            m_fileSystemClassFactory = fileSystemClassFactory;

            LoadCommands();
        }
示例#4
0
        public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, TcpClient socket)
            : base(nId, socket)
        {
            this.commandHashTable       = new Hashtable();
            this.fileSystemClassFactory = fileSystemClassFactory;

            this.LoadCommands();
        }
示例#5
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId, IPEndPoint localPasvEndpoint, IPEndPoint externallyVisiblePasvEndpoint, TimeSpan maxIdleTime)
 {
     m_nId = nId;
     m_fileSystemClassFactory = fileSystemClassFactory;
     this.m_localPasvEndpoint = localPasvEndpoint;
     this.m_externallyVisiblePasvEndpoint = externallyVisiblePasvEndpoint;
     this.m_maxIdleTime = maxIdleTime;
 }
示例#6
0
        public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, TcpClient socket)
            : base(nId, socket)
        {
            m_theCommandHashTable = new Hashtable();
            m_fileSystemClassFactory = fileSystemClassFactory;

            LoadCommands();
        }
示例#7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PassCommandHandler"/> class.
 /// </summary>
 /// <param name="connectionAccessor">The accessor to get the connection that is active during the <see cref="Process"/> method execution.</param>
 /// <param name="membershipProviders">The membership providers.</param>
 /// <param name="fileSystemClassFactory">The file system access factory.</param>
 public PassCommandHandler(
     [NotNull] IFtpConnectionAccessor connectionAccessor,
     [NotNull] IEnumerable <IMembershipProvider> membershipProviders,
     [NotNull] IFileSystemClassFactory fileSystemClassFactory)
     : base(connectionAccessor, "PASS")
 {
     _membershipProviders    = membershipProviders;
     _fileSystemClassFactory = fileSystemClassFactory;
 }
示例#8
0
 public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, TcpClient socket)
     : base(nId, socket)
 {
     m_theCommandHashTable    = new Hashtable();
     m_fileSystemClassFactory = fileSystemClassFactory;
     isLogged        = false;
     m_useDataSocket = false;
     LoadCommands();
 }
示例#9
0
 public FtpConnectionObject(IFileSystemClassFactory fileSystemClassFactory, int nId, TcpClient socket, IPEndPoint localPasvEndpoint, IPEndPoint externallyVisiblePasvEndpoint)
     : base(nId, socket)
 {
     m_theCommandHashTable = new Hashtable();
     m_fileSystemClassFactory = fileSystemClassFactory;
     isLogged = false;
     m_useDataSocket = false;
     m_localPasvEndpoint = localPasvEndpoint;
     m_externallyVisiblePasvEndpoint = externallyVisiblePasvEndpoint;
     LoadCommands();
 }
示例#10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpServer"/> class.
 /// </summary>
 /// <param name="fileSystemClassFactory">The <see cref="IFileSystemClassFactory"/> to use to create the <see cref="IUnixFileSystem"/> for the logged in user.</param>
 /// <param name="membershipProvider">The <see cref="IMembershipProvider"/> used to validate a login attempt</param>
 /// <param name="serverAddress">The public IP address (required for <code>PASV</code> and <code>EPSV</code>)</param>
 /// <param name="port">The port of the FTP server (usually 21)</param>
 /// <param name="handlerFactory">The handler factories to create <see cref="FtpCommandHandler"/> and <see cref="FtpCommandHandlerExtension"/> instances for new <see cref="FtpConnection"/> objects</param>
 public FtpServer([NotNull] IFileSystemClassFactory fileSystemClassFactory, [NotNull] IMembershipProvider membershipProvider, [NotNull] string serverAddress, int port, [NotNull, ItemNotNull] IFtpCommandHandlerFactory handlerFactory)
 {
     ServerAddress          = serverAddress;
     DefaultEncoding        = Encoding.UTF8;
     OperatingSystem        = "UNIX";
     FileSystemClassFactory = fileSystemClassFactory;
     MembershipProvider     = membershipProvider;
     Port = port;
     CommandsHandlerFactory   = handlerFactory;
     BackgroundTransferWorker = new BackgroundTransferWorker(this);
     BackgroundTransferWorker.Start(_cancellationTokenSource);
 }
示例#11
0
        public FtpServer(IFileSystemClassFactory fileSystemClassFactory, IPEndPoint ftpEndpoint, IPEndPoint localPasvEndpoint,
            IPEndPoint externallyVisiblePasvEndpoint, int maxClients, TimeSpan maxIdleTime, string connectionEncoding)
        {
            m_apConnections = new ArrayList();
            m_fileSystemClassFactory = fileSystemClassFactory;
            this.m_ftpEndpoint = ftpEndpoint;
            this.m_localPasvEndpoint = localPasvEndpoint;
            this.m_externallyVisiblePasvEndpoint = externallyVisiblePasvEndpoint;
            this.m_maxClients = maxClients;
            this.m_maxIdleTime = maxIdleTime;

            switch (connectionEncoding)
            {
                case "ASCII":
                    m_encoding = Encoding.ASCII;
                    Trace.WriteLine("Set ftp connection encoding: ASCII", "Information");
                    break;
                case "UTF8":
                default:
                    m_encoding = Encoding.UTF8;
                    Trace.WriteLine("Set ftp connection encoding: UTF8", "Information");
                    break;
            }
        }
示例#12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpServer"/> class.
 /// </summary>
 /// <param name="fileSystemClassFactory">The <see cref="IFileSystemClassFactory"/> to use to create the <see cref="IUnixFileSystem"/> for the logged in user.</param>
 /// <param name="membershipProvider">The <see cref="IMembershipProvider"/> used to validate a login attempt</param>
 /// <param name="commsInterface">The <see cref="ICommsInterface"/> that identifies the public IP address (required for <code>PASV</code> and <code>EPSV</code>)</param>
 public FtpServer([NotNull] IFileSystemClassFactory fileSystemClassFactory, [NotNull] IMembershipProvider membershipProvider, [NotNull] ICommsInterface commsInterface)
     : this(fileSystemClassFactory, membershipProvider, commsInterface, 21, new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).GetTypeInfo().Assembly))
 {
 }
示例#13
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId, IConfiguration config)
 {
     m_nId = nId;
     m_fileSystemClassFactory = fileSystemClassFactory;
     this.config = config;
 }
示例#14
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int id)
 {
     this.id = id;
     this.fileSystemClassFactory = fileSystemClassFactory;
 }
示例#15
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     m_apConnections = new ArrayList();
     m_fileSystemClassFactory = fileSystemClassFactory;
 }
示例#16
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId)
 {
     this.Id = nId;
     this.fileSystemClassFactory = fileSystemClassFactory;
 }
示例#17
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId)
 {
     m_nId = nId;
     m_fileSystemClassFactory = fileSystemClassFactory;
 }
示例#18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpServer"/> class.
 /// </summary>
 /// <param name="fileSystemClassFactory">The <see cref="IFileSystemClassFactory"/> to use to create the <see cref="IUnixFileSystem"/> for the logged in user.</param>
 /// <param name="membershipProvider">The <see cref="IMembershipProvider"/> used to validate a login attempt</param>
 /// <param name="serverAddress">The public IP address (required for <code>PASV</code> and <code>EPSV</code>)</param>
 public FtpServer([NotNull] IFileSystemClassFactory fileSystemClassFactory, [NotNull] IMembershipProvider membershipProvider, [NotNull] string serverAddress)
     : this(fileSystemClassFactory, membershipProvider, serverAddress, 21, new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).GetTypeInfo().Assembly))
 {
 }
示例#19
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     apConnections = new List<FtpSocketHandler>();
     this.fileSystemClassFactory = fileSystemClassFactory;
 }
示例#20
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId)
 {
     this.Id = nId;
     this._fileSystemClassFactory = fileSystemClassFactory;
 }
示例#21
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     m_apConnections          = new ArrayList();
     m_fileSystemClassFactory = fileSystemClassFactory;
 }
示例#22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpServer"/> class.
 /// </summary>
 /// <param name="fileSystemClassFactory">The <see cref="IFileSystemClassFactory"/> to use to create the <see cref="IUnixFileSystem"/> for the logged in user.</param>
 /// <param name="membershipProvider">The <see cref="IMembershipProvider"/> used to validate a login attempt</param>
 /// <param name="commsInterface">The <see cref="ICommsInterface"/> that identifies the public IP address (required for <code>PASV</code> and <code>EPSV</code>)</param>
 /// <param name="port">The port of the FTP server (usually 21)</param>
 /// <param name="handlerFactory">The handler factories to create <see cref="FtpCommandHandler"/> and <see cref="FtpCommandHandlerExtension"/> instances for new <see cref="FtpConnection"/> objects</param>
 public FtpServer([NotNull] IFileSystemClassFactory fileSystemClassFactory, [NotNull] IMembershipProvider membershipProvider, [NotNull] ICommsInterface commsInterface, int port, [NotNull, ItemNotNull] IFtpCommandHandlerFactory handlerFactory)
     : this(fileSystemClassFactory, membershipProvider, commsInterface.IpAddress, port, handlerFactory)
 {
 }
示例#23
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     m_apConnections          = new List <FtpSocketHandler>();
     m_fileSystemClassFactory = fileSystemClassFactory;
 }
示例#24
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     this.connections            = new ArrayList();
     this.fileSystemClassFactory = fileSystemClassFactory;
 }
示例#25
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory, IConfiguration config)
 {
     m_apConnections          = new ArrayList();
     m_fileSystemClassFactory = fileSystemClassFactory;
     this.config = config;
 }
示例#26
0
 public FtpSocketHandler(IFileSystemClassFactory fileSystemClassFactory, int nId)
 {
     m_nId = nId;
     m_fileSystemClassFactory = fileSystemClassFactory;
 }
示例#27
0
 public FtpServer(IFileSystemClassFactory fileSystemClassFactory)
 {
     this._connections = new ArrayList();
     this._fileSystemClassFactory = fileSystemClassFactory;
 }