diff options
author | Chris Buechler <cmb@pfsense.org> | 2015-09-29 19:07:31 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2015-09-29 19:07:31 -0500 |
commit | f1d3adf10a810c85c76523e71769970de8c1f56c (patch) | |
tree | c7063400fd850a1b62aac4309b94fde41610da14 /src | |
parent | acda14035cd38bc658e81091695d197cbb778491 (diff) | |
download | pfsense-f1d3adf10a810c85c76523e71769970de8c1f56c.zip pfsense-f1d3adf10a810c85c76523e71769970de8c1f56c.tar.gz |
Use the appropriate parent interface with gateway groups using CARP VIPs.
Ticket #4990
Diffstat (limited to 'src')
-rw-r--r-- | src/etc/inc/dyndns.class | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/etc/inc/dyndns.class b/src/etc/inc/dyndns.class index 5489128..cfb381a 100644 --- a/src/etc/inc/dyndns.class +++ b/src/etc/inc/dyndns.class @@ -282,13 +282,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 } |