#!/usr/bin/perl -w use strict; # your MTU Initial Sign-On my $userid = "jamyles"; my $password = ''; use LWP::UserAgent; use HTTP::Cookies; use Getopt::Std; # parse command-line options my %opts = (); my $action; getopts("erh", \%opts); if (defined($opts{h}) || (@ARGV < 4)) { &usage; } if (defined($opts{e})) { $action = "enable"; } elsif (defined($opts{r})) { $action = "release"; } else { &usage; } my $ua = new LWP::UserAgent( agent=> "addrlock/0.2", requests_redirectable => ['GET', 'HEAD', 'POST']); # enable cookies for ISO $ua->cookie_jar(new HTTP::Cookies( file => "$ENV{HOME}/.mtuiso", autosave => 1)); # make sure we have the password if (!$password) { system("stty -echo"); print "ISO password: "; chomp($password = ); print "\n"; system("stty echo"); } # login to MTU ISO my $login_req = new HTTP::Request( POST => "https://www.login.mtu.edu/tools/public/login/login.cgi"); $login_req->content_type("application/x-www-form-urlencoded"); $login_req->content("userid=$userid&password=$password"); my $login_res = $ua->request($login_req); if ($login_res->is_error) { print $login_res->message . "\n"; } # send address lock request my $addrlock_req = new HTTP::Request( POST => "https://www.banweb.mtu.edu/pls/axis/mtu_" . $action . "_address_lock"); $addrlock_req->content_type("application/x-www-form-urlencoded"); $addrlock_req->content("devname=$ARGV[0]&portnum=$ARGV[1]&sn_in=$ARGV[2]&my_lid_in=&my_srvid_in=$ARGV[3]"); my $addrlock_res = $ua->request($addrlock_req); if ($addrlock_res->is_error) { print $addrlock_res->message . "\n"; } sub usage { print "Usage: $0 [-e | -r] DEVICE PORT SERIAL SRVID\n"; exit 1; }