diff --git a/src/www/widgets/widgets/dyn_dns_status.widget.php b/src/www/widgets/widgets/dyn_dns_status.widget.php index 0016da038..63ddb3016 100644 --- a/src/www/widgets/widgets/dyn_dns_status.widget.php +++ b/src/www/widgets/widgets/dyn_dns_status.widget.php @@ -53,6 +53,7 @@ if ($_REQUEST['getdyndnsstatus']) { } $filename = "/conf/dyndns_{$dyndns['interface']}{$dyndns['type']}" . escapeshellarg($dyndns['host']) . "{$dyndns['id']}.cache"; + $filename_v6 = "/conf/dyndns_{$dyndns['interface']}{$dyndns['type']}" . escapeshellarg($dyndns['host']) . "{$dyndns['id']}_v6.cache"; if (file_exists($filename) && !empty($dyndns['enable'])) { $ipaddr = dyndnsCheckIP($dyndns['interface']); $cached_ip_s = preg_split('/:/', file_get_contents($filename)); @@ -64,7 +65,17 @@ if ($_REQUEST['getdyndnsstatus']) { } echo htmlspecialchars($cached_ip); echo ""; - /* XXX IPv6 missing */ + } elseif (file_exists($filename_v6) && !empty($dyndns['enable'])) { + $ipv6addr = get_interface_ipv6($dyndns['interface']); + $cached_ipv6_s = explode("|", file_get_contents($filename_v6)); + $cached_ipv6 = $cached_ipv6_s[0]; + if ($ipv6addr <> $cached_ipv6) { + echo ""; + } else { + echo ""; + } + echo htmlspecialchars($cached_ipv6); + echo ""; } else { echo '' . gettext('N/A') . ''; }