diff --git a/DearFTP/Connection/Commands/AbortCommand.cs b/DearFTP/Connection/Commands/AbortCommand.cs new file mode 100644 index 0000000..4ec6bf7 --- /dev/null +++ b/DearFTP/Connection/Commands/AbortCommand.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace DearFTP.Connection.Commands +{ + class AbortCommand : ICommand + { + public string[] Aliases { get; } = new string[] + { + "ABOR" + }; + + public void Execute(Session session, FtpStream stream, string alias, string argument) + { + session.DataConnection.Close(); + + stream.Send(ResponseCode.CloseDataConnection, "Data connection closed."); + } + } +} diff --git a/DearFTP/Connection/Commands/CommandsDispatcher.cs b/DearFTP/Connection/Commands/CommandsDispatcher.cs index d33d9d6..20cb3f1 100644 --- a/DearFTP/Connection/Commands/CommandsDispatcher.cs +++ b/DearFTP/Connection/Commands/CommandsDispatcher.cs @@ -7,6 +7,7 @@ namespace DearFTP.Connection.Commands { public ICommand[] Commands { get; } = new ICommand[] { + new AbortCommand(), new AuthCommand(), new ClntCommand(), new CwdCommand(),