bsdperimeter/pfsense — pull request #439 by phildd (2013-02-26 12:10:48+00:00)
Title: Avoid DynDNS timeout delay when gateway is down 

When a dynamic DNS entry is set on an interface that has a private IP, the code has to find the ultimate public IP of that interface by using checkip.dyndns.org. If the interface is currently down (e.g. ISP is down or the cable is unplugged...) then there is a timeout delay while waiting for checkip.dyndns.org to (not) respond.
This causes a big delay when Services->Dynamic DNS is selected.
If the new DynDNS dashboard widget is enabled, then the big delay happens while drawing up the dashboard display - not very user-friendly.
This code checks to see if the interface is down - if so it avoids bothering to do the external IP check.