First of all, thank you for writing this library.
I have a feature request: please add an event or callback into OpenPassiveDataStream that let the user of the library change the host/port that will be used to open the data connection. The callback should be provided with the host and port returned by EPSV
Now the reason behind the request: I'm connecting to a FTP server through a SSH tunnel. When opening the data connection, I need to create a new tunnel to the data end point. I have no problem doing this (I'm using the SSH.NET library to do so), but I obviously
need the host and port returned by the FTP server, as well as tell the FTP client where it should connect to (my tunnel instead of the original end point).