diff options
| -rwxr-xr-x | include/nms.pm | 2 | ||||
| -rw-r--r-- | include/nms/oplog.pm | 34 | ||||
| -rw-r--r-- | include/nms/util.pm | 1 | ||||
| -rwxr-xr-x | web/api/write/switch-add | 4 | 
4 files changed, 38 insertions, 3 deletions
diff --git a/include/nms.pm b/include/nms.pm index 273d65d..df4cc3a 100755 --- a/include/nms.pm +++ b/include/nms.pm @@ -8,7 +8,7 @@ use JSON;  package nms;  use base 'Exporter'; -our @EXPORT = qw(switch_disconnect switch_connect_ssh switch_connect_dlink switch_exec switch_exec_json switch_timeout db_connect); +our @EXPORT = qw(db_connect);  BEGIN {  	require "config.pm"; diff --git a/include/nms/oplog.pm b/include/nms/oplog.pm new file mode 100644 index 0000000..c5194cf --- /dev/null +++ b/include/nms/oplog.pm @@ -0,0 +1,34 @@ +# vim:ts=8:sw=8 +use strict; +use warnings; +use utf8; +use DBI; +use Data::Dumper; +use JSON; +use nms; +package nms::oplog; + +use base 'Exporter'; +our @EXPORT = qw(oplog); +my $dbh; +my $query; +my $user; + +use Data::Dumper; + + +sub oplog { +	$query->execute($_[0], "[$user]" . $_[1]); +	$dbh->commit; +} + +BEGIN { +	$user = $ENV{'REMOTE_USER'} || "internal"; +	$dbh = nms::db_connect(); +	$query = $dbh->prepare("INSERT INTO oplog (username, systems, log) VALUES('system',?,?)"); +} + +END { +	$dbh->disconnect(); +} +1; diff --git a/include/nms/util.pm b/include/nms/util.pm index d2382f9..898aa9a 100644 --- a/include/nms/util.pm +++ b/include/nms/util.pm @@ -10,7 +10,6 @@ our @EXPORT = qw(guess_placement parse_switches_txt parse_switches parse_switch)  # Parse a single switches.txt-formatted switch  sub parse_switch {  	my ($switch, $subnet4, $subnet6, $mgtmt4, $mgtmt6, $lolid, $distro) = split(/ /); -	my %foo = guess_placement($switch);  	my %ret = (  		'sysname' => "$switch",  		'subnet4' => "$subnet4", diff --git a/web/api/write/switch-add b/web/api/write/switch-add index 56e5cb2..d210567 100755 --- a/web/api/write/switch-add +++ b/web/api/write/switch-add @@ -11,6 +11,7 @@ use strict;  use warnings;  use JSON;  use Data::Dumper; +use nms::oplog qw(oplog);  $nms::web::cc{'max-age'} = "0"; @@ -83,10 +84,11 @@ foreach my $tmp2 (@tmp) {  		$nms::web::dbh->do("INSERT INTO SWITCHES (mgmt_v4_addr, sysname, poll_frequency, community, lldp_chassis_id, mgmt_v6_addr, placement,subnet4,subnet6,distro_name)  VALUES ($template{'mgmt_v4_addr'}, $template{'sysname'}, $template{'poll_frequency'}, $template{'community'}, $template{'lldp_chassis_id'}, $template{'mgmt_v6_addr'}, $template{'placement'},$template{'subnet4'},$template{'subnet6'},$template{'distro_name'});");  		push @added, $switch{'sysname'}; +		oplog($switch{'sysname'}, "Switch added: " . $switch{'sysname'});  	}  }  $json{'switches_addded'} = \@added; -print "X-ban: /api/.*switches.*\n"; +print "X-ban: /api/.*\n";  finalize_output();  | 
