Vista UDP firewall workaround

Started by
2 comments, last by fitfool 14 years ago
I've been testing my implementation of TFTP(Client) on a couple of computers. It works great on all my XP machines, but fails on Vista. On Vista, my client is able to send() the write request to my server, me server catches it and sends back the go-ahead, but my client never gets this, sometimes I get an ICMP unreachable. I went ahead and added a rule to the firewall to allow my app to kick through, didn't work. Tried running my client as administrator too, didn't work. Finally I completely disabled the 'firewall', only then did it work. What's going on? Am I forced to make users disable their firewalls? Basically, I need to be able to recvfrom() on my socket. Thanks.
Advertisement
I thought FTP died 10 years ago... Consider using either HTTP or SCP instead, or tunneling through SSH.

Otherwise, here appears to be a comprehensive explanation of the problem.
Vista has a firewall configuration interface, where any administrator process can clear certain applications for certain ports. It's supposed to be used in the installer, to "clear the way" for the program at runtime.

This is a problem only in cases where:

1) The installation is not run with administrator privileges.
2) The application needs to bind to "random" ports at "random" times (which is a bad idea in general -- especially when working behind a router/NAT).

Check out MSDN on the Windows Firewall for more information.
enum Bool { True, False, FileNotFound };
Ah, I see. Thanks a bunch.

This topic is closed to new replies.

Advertisement