Design some way to ensure circuit reuse for FTP (and other?) multi-connection protocols
Some protocols, such as FTP (in passive mode) use 2 connections, one for control and a second one for data. Smarter FTP servers will not allow a data connection coming from an IP different than the control connection.
Could an enhancement be made so that TOR recognizes an already established control connection to a particular IP on port 21 (in the case of FTP), and then reuses the same circuit on which that control connection was established to establish the data connection (if to the same IP)? This would make both connections appear as coming from the same IP/exit-node and not make the FTP server suspicious.
Of course, this behavior could be disabled by default (to keep current behavior) and enabled from the config file (a directive like ReuseCircuitsForSameHostConnections).
This would greatly enhance usability of FTP over TOR, which otherwise works fine if such behavior happens "accidentally" (effectively no more than 1 in 5 or 6 times, because of the number of established circuits, 5 or 6, and TOR's randomness in assigning circuits to new connections)
Sorry if this has already been addressed, I couldn't find any information on whether or not it has been.