diff --git a/usr/local/www/diag_ipsec.php b/usr/local/www/diag_ipsec.php index 460a23d389..e1fbfdfc52 100644 --- a/usr/local/www/diag_ipsec.php +++ b/usr/local/www/diag_ipsec.php @@ -89,7 +89,7 @@ if (!is_array($config['ipsec']['phase1'])) $a_phase1 = &$config['ipsec']['phase1']; -$status = ipsec_smp_dump_status(); +$status = pfSense_ipsec_list_sa(); ?> @@ -131,9 +131,9 @@ $status = ipsec_smp_dump_status();
$ikesa): - $con_id = substr($ikesa['peerconfig'], 3); + if (is_array($status)) { + foreach ($status as $ikeid => $ikesa) { + $con_id = substr($ikeid, 3); if ($ikesa['version'] == 1) { $ph1idx = substr($con_id, 0, strrpos(substr($con_id, 0, -1), '00')); $ipsecconnected[$ph1idx] = $ph1idx; @@ -141,12 +141,13 @@ $status = ipsec_smp_dump_status(); $ipsecconnected[$con_id] = $ph1idx = $con_id; } - if (ipsec_phase1_status($status['query']['ikesalist']['ikesa'], $ikesa['id'])) + if ($ikesa['state'] == "ESTABLISHED") { $icon = "pass"; - elseif (!isset($config['ipsec']['enable'])) + } elseif (!isset($config['ipsec']['enable'])) { $icon = "block"; - else + } else { $icon = "reject"; + } ?>