I am using a 3rd party Visual Studio add-in that uses Rebex.FTP to upload web projects.
For some reason, I can't use ACTIVE movde to connect to my server. Passive isn't an option, so I need to get active to work.
I can use another FTP client and connect to the same server in active mode with no problem.
I turned on logging from the VS add-in and here are the last few lines:
1/25/2011 10:28:58 AM REPLY - 215 Windows_NT
1/25/2011 10:28:58 AM COMMAND - PWD
1/25/2011 10:28:58 AM REPLY - 257 "/" is current directory.
1/25/2011 10:28:58 AM COMMAND - TYPE A
1/25/2011 10:28:58 AM REPLY - 200 Type set to A.
1/25/2011 10:28:58 AM COMMAND - PORT 127,0,0,1,12,120
1/25/2011 10:28:58 AM REPLY - 501 Server cannot accept argument.
1/25/2011 10:28:59 AM COMMAND - QUIT
1/25/2011 10:28:59 AM REPLY - 221 Goodbye.
Here is a log from the other client that does work:
230 User logged in.
257 "/" is current directory.
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
646 bytes received/sent in 0 seconds
The difference is in the PORT command. Rebex is using 127.0.0.1, the other client uses 192.168.50.20 and it works fine.
I have even downloaded the Rebex sample console client and IT WORKS against this same server.
So my question is: How is Rebex deciding to use my LOCALHOST IP address in the PORT command? And can anything be done programatically to correct this?