summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Carlos Morales Angeles <carloschilazo@gmail.com>2017-04-16 17:48:22 -0500
committerRenato Botelho <renato@netgate.com>2017-04-20 14:16:17 -0300
commitc14573f74d845754aa48d1d5f011db06bf2191e5 (patch)
treecd7fce42aff8560862ef53b7622072361fdc71bf
parent726756def3cb4a193b68ffe38f115ecfd0ba677c (diff)
downloadpfsense-c14573f74d845754aa48d1d5f011db06bf2191e5.zip
pfsense-c14573f74d845754aa48d1d5f011db06bf2191e5.tar.gz
Add ability to delete NDP entry
(cherry picked from commit 13105d9c79fe3ac8be2b01c152fb9fb6a95147b4)
-rw-r--r--src/usr/local/www/diag_ndp.php31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/usr/local/www/diag_ndp.php b/src/usr/local/www/diag_ndp.php
index cc5fcfd..496823b 100644
--- a/src/usr/local/www/diag_ndp.php
+++ b/src/usr/local/www/diag_ndp.php
@@ -65,10 +65,28 @@
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
-
+define('NDP_BINARY_PATH', '/usr/sbin/ndp');
require_once("guiconfig.inc");
-exec("/usr/sbin/ndp -na", $rawdata);
+// Delete ndp entry.
+if (isset($_POST['deleteentry'])) {
+ $ip = $_POST['deleteentry'];
+ if (is_ipaddrv6($ip)) {
+ $commandReturnValue = mwexec(NDP_BINARY_PATH . " -d " . $ip, true);
+ $deleteSucceededFlag = ($commandReturnValue == 0);
+ } else {
+ $deleteSucceededFlag = false;
+ }
+
+ $deleteResultMessage = ($deleteSucceededFlag)
+ ? sprintf(gettext("The NDP entry for %s has been deleted."), $ip)
+ : sprintf(gettext("%s is not a valid IPv6 address or could not be deleted."), $ip);
+ $deleteResultMessageType = ($deleteSucceededFlag)
+ ? 'success'
+ : 'alert-warning';
+}
+
+exec(NDP_BINARY_PATH . " -na", $rawdata);
$i = 0;
@@ -127,6 +145,11 @@ $mac_man = load_mac_manufacturer_table();
$pgtitle = array(gettext("Diagnostics"), gettext("NDP Table"));
include("head.inc");
+
+// Show message if defined.
+if (isset($deleteResultMessage, $deleteResultMessageType)) {
+ print_info_box(htmlentities($deleteResultMessage), $deleteResultMessageType);
+}
?>
<div class="panel panel-default">
@@ -141,6 +164,7 @@ include("head.inc");
<th><?= gettext("MAC address"); ?></th>
<th><?= gettext("Hostname"); ?></th>
<th><?= gettext("Interface"); ?></th>
+ <th data-sortable="false"><?=gettext("Actions")?></th>
</tr>
</thead>
<tbody>
@@ -171,6 +195,9 @@ include("head.inc");
}
?>
</td>
+ <td>
+ <a class="fa fa-trash" title="<?=gettext('Delete NDP entry')?>" href="diag_ndp.php?deleteentry=<?=$entry['ipv6']?>" usepost></a>
+ </td>
</tr>
<?php endforeach; ?>
</tbody>
OpenPOWER on IntegriCloud