Handle MLSD [ARG] and MLST [ARG] properly
Handle MLSD [ARG] and MLST [ARG] properly

ncftp uses MLSD to list file contents and MLST before a file STOR
command to check if the server already has the file.

- MLSD alsways lists a directory or file on the data channel
  opened by a previous PORT or PASV command
- MLST is only ever for a single file and may use the command channel

The MLST command must start with "250- Listing <FILE>" followed by
newline, a space indented facts line followed by another newline
and a "250 End.", again followed by newline.

The MLSD sttars with "150 Transfer starting ..." in the command
channel, followed by multiple fact lines on the data channel and
is concluded with a "226 Transfer complete" in the command channel.

Signed-off-by: Joachim Nilsson <583c295fd7602c168ad814279bbc3894ba65f5d6@gmail.com>

troglobit/uftpd,troglobit/uftpd