#!/usr/bin/perl
-#
-#
-
-my $username = '';
-my $password = 'removed';
-
-# Seconds to wait for connection
-my $timeout = 15;
-
-
use warnings;
use strict;
-use Switch;
use CGI;
-use Net::Telnet;
use DBI;
use Data::Dumper;
+use lib '../include';
+use nms;
# Grab from .htaccess-authentication
my $user = $ENV{'REMOTE_USER'};
-my $dbh = DBI->connect("dbi:Pg:dbname=snmpfetch;host=violet.tg05.gathering.org",
- "snmpfetch", "removed")
- or die "Couldn't connect to database";
+my $dbh = nms::db_connect();
$dbh->{AutoCommit} = 0;
# Ugly casting, found not other way
or die "Could not prepare sgetip";
my $sgid = $dbh->prepare("SELECT nextval('squeue_group_sequence') as gid");
-# Send a command to switch and return the data recvied from the switch
-sub switch_exec($$) {
- my ($cmd, $conn) = @_;
-
- # Send the command and get data from switch
- my @data = $conn->cmd($cmd);
- my @lines = ();
- foreach my $line (@data) {
- # Remove escape-7 sequence
- $line =~ s/\x1b\x37//g;
- push (@lines, $line);
- }
-
- return @lines;
-}
-
-sub switch_connect($) {
- my ($ip) = @_;
-
- my $conn = new Net::Telnet( Timeout => $timeout,
- Errmode => 'return',
- Prompt => '/(es3024|e\d+\-\dsw)>/i');
- my $ret = $conn->open( Host => $ip);
- if (!$ret || $ret != 1) {
- return (0);
- }
- # XXX: Just send the password as text, I did not figure out how to
- # handle authentication with only password through $conn->login().
- #$conn->login( Prompt => '/password[: ]*$/i',
- # Name => $password,
- # Password => $password);
- $conn->cmd($password);
- # Get rid of banner
- $conn->get;
- return ($conn);
-}
-
sub parse_range($) {
my $switches = $_;
my @range;