diff --git a/etc/inc/ipsec.inc b/etc/inc/ipsec.inc
index e411ef602e..140db8b64e 100644
--- a/etc/inc/ipsec.inc
+++ b/etc/inc/ipsec.inc
@@ -466,7 +466,7 @@ function ipsec_smp_dump_status() {
return;
}
- $fd = fopen("{$g['varrun_path']}/charon.xml", "w");
+ $fd = @fsockopen("unix://{$g['varrun_path']}/charon.xml");
if (!$fd) {
log_error("Could not read status from ipsec");
return;
@@ -485,7 +485,7 @@ function ipsec_smp_dump_status() {
@file_put_contents("{$g['tmp_path']}/smp_status.xml", $response);
unset($response, $sread);
- $custom_listtags = array('ikesa');
+ $custom_listtags = array('ikesa', 'childsa', 'network');
$response = parse_xml_config("{$g['tmp_path']}/smp_status.xml", "message");
@unlink("{$g['tmp_path']}/smp_status.xml");
unset($custom_listtags);
diff --git a/usr/local/www/diag_ipsec.php b/usr/local/www/diag_ipsec.php
index f7805877ce..ca0eba5a20 100644
--- a/usr/local/www/diag_ipsec.php
+++ b/usr/local/www/diag_ipsec.php
@@ -96,125 +96,159 @@ $status = ipsec_smp_dump_status();
|
-
@@ -223,7 +257,13 @@ $status = ipsec_smp_dump_status();
here.
-
-
+
+
|