Problems with active FTP via ISA 2004 proxy

Giganews Newsgroups
Subject: Problems with active FTP via ISA 2004 proxy
Posted by:  Toby Groves (toby.groves@touchsystems.nospam.co.uk)
Date: Thu, 02 Feb 2006

Hope someone can help me out here.

I'm trying to establish FTP connections through an ISA 2004 server, on
which I have full FTP proxy permissions.

Using an FTP client such as WS_FTP Pro, I have no problems
establishing either an active or passive connection to an external
server.  I do not have to specify any proxy server details to achieve
this, so the ISA box is effectively transparent.

Using TIdFTP (Indy 10) however, passive works fine but active does
not.

Tracing it through, I can see that in the TIdFTP.InternalGet
procedure, the BoundIP property of the LPortSv listener socket is
being set to the external IP of the proxy server.  This agrees with
the WS_FTP client, which issues a PORT command using this very same IP
address.

Unfortunately, when I get to the LPortSv.Listen command, it throws an
EIdNotASocket error, as it's obviously trying to bind to an IP address
which doesn't exist on the client computer.

What am I doing wrong here?  Can anyone shed any light on how I can
make this work?  The above IP address is correct in so far as that's
the address that should be sent out in the PORT command, but surely I
need to be using the actual client's IP address to create the
listening socket?

--
Toby

Replies