diff options
author | Ermal <eri@pfsense.org> | 2014-11-11 23:18:00 +0100 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2014-11-11 23:18:00 +0100 |
commit | 694d368d818508a40bdef4f1a3f64b414b11c442 (patch) | |
tree | e726daa0ff1f861bf5d0c8a514b48cf83567eaef /etc | |
parent | c7f5b55a28b71e25e85b94a25c81f02f893298b6 (diff) | |
download | pfsense-694d368d818508a40bdef4f1a3f64b414b11c442.zip pfsense-694d368d818508a40bdef4f1a3f64b414b11c442.tar.gz |
Make phase1_status function wok whnever there is a smp dump. This should unbreak Ticket #3955
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/ipsec.inc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/etc/inc/ipsec.inc b/etc/inc/ipsec.inc index 601f17d..874cbfd 100644 --- a/etc/inc/ipsec.inc +++ b/etc/inc/ipsec.inc @@ -346,8 +346,15 @@ function ipsec_lookup_phase1(& $ph2ent,& $ph1ent) { */ function ipsec_phase1_status($ipsec_status, $ikeid) { - foreach ($ipsec_status as $ike) { - if ($ike['id'] != $ikeid) + if (!is_array($ipsec_status['query'])) + return false; + if (!is_array($ipsec_status['query']['ikesalist'])) + return false; + if (!is_array($ipsec_status['query']['ikesalist']['ikesa'])) + return false; + + foreach ($ipsec_status['query']['ikesalist']['ikesa'] as $ike) { + if ($ike['id'] != "con{$ikeid}") continue; if ($ike['status'] == 'established') return true; |