Method parsePassiveModeReply replaces returned private IP when remote IP is from public range. But we have this situation. FTP client on internal 10.x network and on the "gate" is FTP proxy. Connections is opened to original public IP, but when switch to passive mode, FTP proxy replaces public IP returned by FTP server by it's internal 10.x IP.
Small patch leaves current functionality but provides the option to disable IP replacement functionality.