summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2015-09-29 19:07:31 -0500
committerChris Buechler <cmb@pfsense.org>2015-09-29 19:07:31 -0500
commitf1d3adf10a810c85c76523e71769970de8c1f56c (patch)
treec7063400fd850a1b62aac4309b94fde41610da14 /src
parentacda14035cd38bc658e81091695d197cbb778491 (diff)
downloadpfsense-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.class9
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
}
OpenPOWER on IntegriCloud