From c9c69ac20daf6ee729be4f919126bd740fb26e2e Mon Sep 17 00:00:00 2001 From: "Leigh B. Stoller" <stoller@flux.utah.edu> Date: Sat, 17 Aug 2002 18:07:35 +0000 Subject: [PATCH] Add dangerous delete option! --- www/wideareakeys.php3 | 51 +++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/www/wideareakeys.php3 b/www/wideareakeys.php3 index 1fae6b2596..2bbaab1ab9 100644 --- a/www/wideareakeys.php3 +++ b/www/wideareakeys.php3 @@ -23,17 +23,19 @@ if (isset($deletekey)) { # Get the actual key. # $query_result = - DBQueryFatal("select * from widearea_privkeys ". + DBQueryFatal("select wa.*,i.node_id from widearea_privkeys as wa ". + "left join interfaces as i on wa.IP=i.IP ". "where privkey='$deletekey'"); if (! mysql_num_rows($query_result)) { USERERROR("No such widearea private key!", 1); } - $row = mysql_fetch_array($query_result); - $name = $row[user_name]; - $email = $row[user_email]; - $when = $row[requested]; - $IP = $row[IP]; + $row = mysql_fetch_array($query_result); + $name = $row[user_name]; + $email = $row[user_email]; + $when = $row[requested]; + $IP = $row[IP]; + $nodeid = $row[node_id]; # # We run this twice. The first time we are checking for a confirmation @@ -49,7 +51,7 @@ if (isset($deletekey)) { </h2></center>\n"; echo "<br> - Back to <a href=cdromprivkeys.php>Back to Widearea Keys.</a>\n"; + Back to <a href=wideareakeys.php3>Back to Widearea Keys.</a>\n"; PAGEFOOTER(); return; @@ -58,17 +60,9 @@ if (isset($deletekey)) { if (!$confirmed) { PAGEHEADER("Widearea Private Key Deletion Request"); - echo "<center><h2><br> + echo "<center><h3><br> Are you <b>REALLY</b> sure you want to delete this Key?<br> - Deleting a key that has a widearea node attached is a bad - thing! - </h2>\n"; - - echo "<form action=cdromprivkeys.php method=post>"; - echo "<input type=hidden name=deletekey value=$deletekey>\n"; - echo "<b><input type=submit name=confirmed value=Confirm></b>\n"; - echo "<b><input type=submit name=canceled value=Cancel></b>\n"; - echo "</form>\n"; + </h3>\n"; echo "</center>\n"; echo "<table align=center border=1 cellpadding=2 cellspacing=2>\n"; @@ -76,15 +70,34 @@ if (isset($deletekey)) { <td>$name</td> <td>$email</td> <td>$IP</td> + <td>$nodeid</td> <td>$when</td> </tr>\n"; echo "</table>\n"; + echo "<center>\n"; + echo "<form action=wideareakeys.php3 method=post>"; + echo "<input type=hidden name=deletekey value=$deletekey>\n"; + echo "<b><input type=submit name=confirmed value=Confirm></b>\n"; + echo "<b><input type=submit name=canceled value=Cancel></b>\n"; + echo "</form>\n"; + echo "</center>\n"; + + echo "<br><font color=red> + This will delete all trace including the node, vnodes, and + interface table entries. Needless to say, deleting a key + record of an active widearea node is a bad thing. Be sure! + </font>\n"; + PAGEFOOTER(); return; } DBQueryFatal("delete from widearea_privkeys where privkey='$deletekey'"); - header("Location: cdromprivkeys.php"); + DBQueryFatal("delete from interfaces where node_id='$nodeid'"); + DBQueryFatal("delete from nodes where node_id='$nodeid'"); + DBQueryFatal("delete from nodes where phys_nodeid='$nodeid'"); + DBQueryFatal("delete from reserved where node_id='$nodeid'"); + header("Location: wideareakeys.php3"); } # @@ -128,7 +141,7 @@ while ($row = mysql_fetch_array($query_result)) { echo "<tr> <td align=center> - <A href='cdromprivkeys.php?deletekey=$privkey'> + <A href='wideareakeys.php3?deletekey=$privkey'> <img alt=X src=redball.gif></A></td> <td>$name</td> <td>$email</td> -- GitLab