PacketFence - BTS - PacketFence 1.7
View Issue Details
0000321PacketFence 1.7public2008-05-14 08:062008-05-14 10:47
user4 
user4 
normalminoralways
closedfixed 
 
 
0000321: node deletion and VLAN isolation
when a node is deleted, the VLAN on the given switchport is not reassigned
No tags attached.
has duplicate 0000265closed user4 node_delete from webinterface doesnt clear the switchport properly 
Issue History
2008-05-14 08:06user4New Issue
2008-05-14 08:06user4Statusnew => assigned
2008-05-14 08:06user4Assigned To => user4
2008-05-14 08:06user4Note Added: 0000708
2008-05-14 08:09user4Note Added: 0000709
2008-05-14 10:40user4Note Edited: 0000709
2008-05-14 10:43user4Note Added: 0000710
2008-05-14 10:47user4Statusassigned => closed
2008-05-14 10:47user4Note Added: 0000711
2008-05-14 10:47user4Resolutionopen => fixed
2008-05-14 11:56user4Relationship addedhas duplicate 0000265

Notes
(0000708)
user4   
2008-05-14 08:06   
Reminder sent to: maikel, rbalzard

(0000709)
user4   
2008-05-14 08:09   
(edited on: 2008-05-14 10:40)
Let's fix it this way:
when VLAN isolation is activated and the node is still connected to the network, then don't allow node deletion and show an appropriate warning.

(0000710)
user4   
2008-05-14 10:43   
--- pf/lib/pf/node.pm f15e070e12a0c4a3db6225785e0588455f71badb
+++ pf/lib/pf/node.pm 320d026fde0244e531fb19c150b82f6038b5ef1d
@@ -38,6 +38,7 @@ use pf::iptables qw(unmark_node mark_nod
 use pf::person qw(person_nodes person_exist person_add);
 use pf::violation qw(violation_add violation_view_open);
 use pf::iptables qw(unmark_node mark_node);
+use pf::locationlog qw(locationlog_view_open_mac);
 #use pf::rawip qw(freemac trapmac);
 
 node_db_prepare($dbh) if (!$thread);
@@ -100,6 +101,12 @@ sub node_delete {
     pflogger("delete of non-existent node '$mac' failed", 2);
     return 0;
   }
+ if (isenabled($Config{'network'}{'vlan'})) {
+ if (defined(locationlog_view_open_mac($mac))) {
+ pflogger("VLAN isolation mode enabled and $mac has open locationlog entry. Node deletion prohibited", 2);
+ return 0;
+ }
+ }
   $node_delete_sql->execute($mac) || return(0);
   pflogger("node $mac deleted", 2);
   return(1)
(0000711)
user4   
2008-05-14 10:47   
fixed in mtn revision 75c099818ede5650c85ea72dd96e45950f1b5ed8