1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.waarp.ftp.core.command.internal;
19
20 import org.waarp.common.command.ReplyCode;
21 import org.waarp.common.command.exception.Reply503Exception;
22 import org.waarp.common.logging.WaarpLogger;
23 import org.waarp.common.logging.WaarpLoggerFactory;
24 import org.waarp.ftp.core.command.AbstractCommand;
25 import org.waarp.ftp.core.command.FtpCommandCode;
26 import org.waarp.ftp.core.command.info.NOOP;
27
28
29
30
31
32
33
34 public class IncorrectCommand extends AbstractCommand {
35
36
37
38 private static final WaarpLogger logger = WaarpLoggerFactory
39 .getLogger(IncorrectCommand.class);
40
41 @Override
42 public void exec() throws Reply503Exception {
43 getSession().setReplyCode(
44 ReplyCode.REPLY_503_BAD_SEQUENCE_OF_COMMANDS,
45 "Bas sequence of commands: " + getCommand() + " following " +
46 getSession().getPreviousCommand().getCommand());
47 logger.warn(getSession().getAnswer());
48 if (getSession().getPreviousCommand().getCode() != FtpCommandCode.Connection &&
49 getSession().getPreviousCommand().getCode() != FtpCommandCode.PASS &&
50 getSession().getPreviousCommand().getCode() != FtpCommandCode.USER) {
51 getSession().setNextCommand(new NOOP(getSession()));
52 } else {
53 invalidCurrentCommand();
54 }
55 throw new Reply503Exception(getSession().getReplyCode().getMesg());
56 }
57 }