Itās a quantum superposition of both and neither.
RFC 959#5.4 states:
The communication between the user and server is intended to be an alternating dialogue. As such, the user issues an FTP command and the server responds with a prompt primary reply. The user should wait for this initial primary success or failure response before sending further commands.
[ā¦]
One important group of informational replies is the connection greetings. Under normal circumstances, a server will send a 220 reply, āawaiting inputā, when the connection is completed. The user should wait for this greeting message before sending any commands. If the server is unable to accept input right away, a 120 āexpected delayā reply should be sent immediately and a 220 reply when ready. The user will then know not to hang up if there is a delay.
Arguably, the server is violating the āalternating dialogā by sending more than one response in a row.
But, section 4.2 allows multi-line responses!
There will be cases however, where the text is longer than a single line. In these cases the complete text must be bracketed so the User-process knows when it may stop reading the reply (i.e. stop processing input on the control connection) and go do other things. This requires a special format on the first line to indicate that more than one line is coming, and another on the last line to designate it as the last. At least one of these must contain the appropriate reply code to indicate the state of the transaction. To satisfy all factions, it was decided that both the first and last line codes should be the same.
Thus the format for multi-line replies is that the first line will begin with the exact required reply code, followed immediately by a Hyphen, ā-ā (also known as Minus), followed by text. The last line will begin with the same code, followed immediately by Space , optionally some text, and the Telnet end-of-line code.
So, arguably the server is sending a properly formatted multi-line reply. The client erred in treating it as two separate responses.
But, arguably 220
shouldnāt ever be a multi-line reply. The other multiline replies are all direct responses to a previous command (āSTATā, āFEATā, etc.), so the client is expecting it. The server erred by sending a multiline initial response.
But, arguably the client should be prepared for any response to be multi-lined since thatās not explicitly forbidden. The client erred in making multiline responses a special case.
Etc. Itās a bottomless pitt.