Hold onto the run loop source for the listener explicitly.
Probably not necessary, but might be helpful for debugging.
Iterate connections array on the queue, to avoid something else changing it in the meantime.
Ensure that connections array has been cleared by the time we're dealloced.
Added FTP responses for renaming (RNTO RNFR).
Added response set for bad logins.
Schedule listener and connections on individual run modes to aid debugging of connection crash.
Improvements to connection cleanup and shutdown.
Renamed some response sets to be consistent across different protocols.
Suppress SIGPIPE when connections close.