From 7f798f24a920a80d73ebdefe94459cc0acea3752 Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Wed, 19 Oct 2016 12:13:02 +0930 Subject: Better handle no dhcpv6 leases file (cherry picked from commit 2355c154b7598f937ba2121429659f5676ce4d96) --- src/usr/local/www/status_dhcpv6_leases.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/usr/local/www/status_dhcpv6_leases.php') diff --git a/src/usr/local/www/status_dhcpv6_leases.php b/src/usr/local/www/status_dhcpv6_leases.php index a8b644a..8093e28 100644 --- a/src/usr/local/www/status_dhcpv6_leases.php +++ b/src/usr/local/www/status_dhcpv6_leases.php @@ -191,8 +191,15 @@ $cleanpattern = "'/^ia-.. /, /^}/ !d; s,;$,,; s, *, ,g'"; /* Join each block in single line */ $splitpattern = "'{printf $0}; $0 ~ /^\}/ {printf \"\\n\"}'"; -/* stuff the leases file in a proper format into a array by line */ -exec("{$sed} {$cleanpattern} {$leasesfile} | {$awk} {$splitpattern}", $leases_content); +if (is_file($leasesfile)) { + /* stuff the leases file in a proper format into an array by line */ + exec("{$sed} {$cleanpattern} {$leasesfile} | {$awk} {$splitpattern}", $leases_content); + $leasesfile_found = true; +} else { + $leases_content = array(); + $leasesfile_found = false; +} + $leases_count = count($leases_content); exec("/usr/sbin/ndp -an", $rawdata); $ndpdata = array(); @@ -447,7 +454,7 @@ if (count($pools) > 0) { /* only print pool status when we have one */ } -if (empty($leases)) { +if (!$leasesfile_found) { print_info_box(gettext("No leases file found. Is the DHCPv6 server active?"), 'warning', false); } -- cgit v1.1