From 371d3e555c950961c54bdcaa488b9adb09f9d38e Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 30 Jul 2016 14:18:12 +0100 Subject: [PATCH 1/3] Clear out stale ipsec tunnels --- includes/polling/cipsec-tunnels.inc.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/includes/polling/cipsec-tunnels.inc.php b/includes/polling/cipsec-tunnels.inc.php index 7b11d319f5..f4ac7df0a8 100644 --- a/includes/polling/cipsec-tunnels.inc.php +++ b/includes/polling/cipsec-tunnels.inc.php @@ -13,6 +13,8 @@ foreach ($tunnels_db as $tunnel) { $tunnels[$tunnel['peer_addr']] = $tunnel; } +$valid_tunnels = array(); + foreach ($ipsec_array as $index => $tunnel) { $tunnel = array_merge($tunnel, $ike_array[$tunnel['cipSecTunIkeTunnelIndex']]); @@ -50,6 +52,7 @@ foreach ($ipsec_array as $index => $tunnel) { if (!is_array($tunnels[$tunnel['cikeTunRemoteValue']]) && !empty($tunnel['cikeTunRemoteValue'])) { $tunnel_id = dbInsert(array('device_id' => $device['device_id'], 'peer_addr' => $tunnel['cikeTunRemoteValue'], 'local_addr' => $tunnel['cikeTunLocalValue'], 'tunnel_name' => $tunnel['cikeTunLocalName']), 'ipsec_tunnels'); + $valid_tunnels[] = $tunnel_id; } else { foreach ($db_oids as $db_oid => $db_value) { @@ -57,6 +60,7 @@ foreach ($ipsec_array as $index => $tunnel) { } $updated = dbUpdate($db_update, 'ipsec_tunnels', '`tunnel_id` = ?', array($tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'])); + $valud_tunnels[] = $tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id']; } if (is_numeric($tunnel['cipSecTunHcInOctets']) && is_numeric($tunnel['cipSecTunHcInDecompOctets']) @@ -104,4 +108,12 @@ foreach ($ipsec_array as $index => $tunnel) { } }//end foreach +if (is_array($valid_tunnels)) { + d_echo($valid_tunnels); + if (empty($valid_tunnels)) { + $valid_tunnels = array(0); + } + dbDelete('ipsec_tunnels', "`tunnel_id` NOT IN (".implode(',', $valid_tunnels).") AND `device_id`=?", array($device['device_id']); +} + unset($rrd_file,$rrd_create,$fields,$oids, $data, $data_array, $oid, $tunnel); From b5c33d6377333b2703c0c9a1455f27702d2b1bcf Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 30 Jul 2016 14:33:57 +0100 Subject: [PATCH 2/3] Syntax error fix --- includes/polling/cipsec-tunnels.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/polling/cipsec-tunnels.inc.php b/includes/polling/cipsec-tunnels.inc.php index f4ac7df0a8..b20661f345 100644 --- a/includes/polling/cipsec-tunnels.inc.php +++ b/includes/polling/cipsec-tunnels.inc.php @@ -113,7 +113,7 @@ if (is_array($valid_tunnels)) { if (empty($valid_tunnels)) { $valid_tunnels = array(0); } - dbDelete('ipsec_tunnels', "`tunnel_id` NOT IN (".implode(',', $valid_tunnels).") AND `device_id`=?", array($device['device_id']); + dbDelete('ipsec_tunnels', "`tunnel_id` NOT IN (".implode(',', $valid_tunnels).") AND `device_id`=?", array($device['device_id'])); } unset($rrd_file,$rrd_create,$fields,$oids, $data, $data_array, $oid, $tunnel); From 307ea075c8e0b4b3aed17a3308f370d8292f88c0 Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 31 Jul 2016 16:14:01 +0100 Subject: [PATCH 3/3] Erm, lol! --- includes/polling/cipsec-tunnels.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/polling/cipsec-tunnels.inc.php b/includes/polling/cipsec-tunnels.inc.php index b20661f345..a0f7cf62d2 100644 --- a/includes/polling/cipsec-tunnels.inc.php +++ b/includes/polling/cipsec-tunnels.inc.php @@ -60,7 +60,7 @@ foreach ($ipsec_array as $index => $tunnel) { } $updated = dbUpdate($db_update, 'ipsec_tunnels', '`tunnel_id` = ?', array($tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'])); - $valud_tunnels[] = $tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id']; + $valid_tunnels[] = $tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id']; } if (is_numeric($tunnel['cipSecTunHcInOctets']) && is_numeric($tunnel['cipSecTunHcInDecompOctets'])