Hi,
If I use windows explorer, both in Passive and Active mode, it works fine
for downloading small files via FTP. If I try a large file, where it takes
at least 10 minutes to download, the transfer never completes.
In looking at a WireShark capture I can see that the data connection is
opened fine, the enitre file is downloaded, but when the FTP server attempts
to send back the "226 - Transfer Complete" on the command port, something and
I am assuming Windows Firewall, sends back a reset on the command port. The
command is never passed to the application, and Explorer just hangs there.
If I turn off windows firewall it works fine.
Also of note is that if the command line ftp.exe program is used, it works
with both the firewall on and/or off.
It appears to me that the firewall is timing out the command port due to
inactivity during the file transfer on the data port. I tried setting
KeepAliveTime in the registry to 60 seconds, but no keepalives are sent.
My questions are:
1) What API call or registry entry to set the Firewall timer, if one exists?
2) Why wouldn't the KeepAlives be getting sent?
Thanks,
Erik
|