diff options
author | Chris Buechler <cmb@pfsense.org> | 2015-09-29 18:57:12 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2015-09-29 18:57:12 -0500 |
commit | e0c822a1f3c9705c89cc431b2afab354bcfcc1c2 (patch) | |
tree | 79b9e7386ff0ca0e59aed0182cff5c6dff6a7285 /etc | |
parent | b98a584a7a56bf7fc976c054b2e8c87d5094b864 (diff) | |
download | pfsense-e0c822a1f3c9705c89cc431b2afab354bcfcc1c2.zip pfsense-e0c822a1f3c9705c89cc431b2afab354bcfcc1c2.tar.gz |
Use the appropriate parent interface with gateway groups using CARP VIPs.
Ticket #4990
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/dyndns.class | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/etc/inc/dyndns.class b/etc/inc/dyndns.class index d1bc665..bbcb963 100644 --- a/etc/inc/dyndns.class +++ b/etc/inc/dyndns.class @@ -267,13 +267,20 @@ if ($this->_dnsVerboseLog) log_error("DynDNS ({$this->_dnsHost}): DynDns _update() starting."); - + + if (strstr($this->_dnsRequestIf, "_vip")) { + $parentif = link_carp_interface_to_parent($this->_dnsRequestIf); + $realparentif = convert_friendly_interface_to_real_interface_name($parentif); + } else { + $realparentif = $this->_dnsRequestIf; + } + if ($this->_dnsService != 'ods' and $this->_dnsService != 'route53 ') { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $this->_UserAgent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); - curl_setopt($ch, CURLOPT_INTERFACE, 'if!' . $this->_dnsRequestIf); + curl_setopt($ch, CURLOPT_INTERFACE, 'if!' . $realparentif); curl_setopt($ch, CURLOPT_TIMEOUT, 120); // Completely empirical } |