X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fnms.pm;fp=include%2Fnms.pm;h=f895ffda4cbf06f6583b5e9c907429c5c893b763;hb=9180f8278b332f8eb6c65a11d6f284f5facf6722;hp=bfb88ad5917af5de6d1d8424f9078e9402399e57;hpb=ce95bb11a855774a36fb21c0d16cfd0d6be3669d;p=nms diff --git a/include/nms.pm b/include/nms.pm index bfb88ad..f895ffd 100644 --- a/include/nms.pm +++ b/include/nms.pm @@ -2,6 +2,7 @@ use strict; use warnings; use DBI; +use Net::Telnet; package nms; BEGIN { @@ -21,4 +22,26 @@ sub db_connect { return $dbh; } +sub switch_connect($) { + my ($ip) = @_; + +# Dump_Log => '/tmp/dumplog-queue', + my $conn = new Net::Telnet( Timeout => $nms::config::telnet_timeout, + Errmode => 'return', + Prompt => '/(es3024|e\d+\-\dsw)>/i'); + my $ret = $conn->open( Host => $ip); + if (!$ret || $ret != 1) { + return (undef); + } + # 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($nms::config::zyxel_password); + # Get rid of banner + $conn->get; + return ($conn); +} + 1;