diff options
author | Renato Botelho <garga@FreeBSD.org> | 2015-01-12 21:50:26 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2015-01-12 21:50:52 -0200 |
commit | d71f97947553897f8ae6b0bb1f5145f9456f20bc (patch) | |
tree | 1ed6be5075f4f97ff6411e33945c04074e482774 /usr | |
parent | 324a2387d0a0bde3ee445860964291f7cbb2fc26 (diff) | |
download | pfsense-d71f97947553897f8ae6b0bb1f5145f9456f20bc.zip pfsense-d71f97947553897f8ae6b0bb1f5145f9456f20bc.tar.gz |
Fix IPsec widget for multiple P2, it fixes #4164
Diffstat (limited to 'usr')
-rw-r--r-- | usr/local/www/widgets/widgets/ipsec.widget.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/usr/local/www/widgets/widgets/ipsec.widget.php b/usr/local/www/widgets/widgets/ipsec.widget.php index ee17a29..d53adf8 100644 --- a/usr/local/www/widgets/widgets/ipsec.widget.php +++ b/usr/local/www/widgets/widgets/ipsec.widget.php @@ -93,8 +93,18 @@ if (isset($config['ipsec']['phase1'])) { ?> $found = false; foreach ($ipsec_status['query']['ikesalist']['ikesa'] as $ikesa) { - if ($ikeid == $ikesa['peerconfig']) { + if (isset($ikesa['childsalist']) && isset($ikesa['childsalist']['childsa'])) { + foreach($ikesa['childsalist']['childsa'] as $childsa) { + if ($ikeid == $childsa['childconfig']) { + $found = true; + break; + } + } + } else if ($ikeid == $ikesa['peerconfig']) { $found = true; + } + + if ($found === true) { if ($ikesa['status'] == 'established') { /* tunnel is up */ $iconfn = "true"; @@ -104,6 +114,7 @@ if (isset($config['ipsec']['phase1'])) { ?> $iconfn = "false"; $inactivecounter++; } + break; } } |