import rt 2.0.14
[freeside.git] / fs_sesmon / FS-SessionClient / bin / freeside-login
1 #!/usr/bin/perl -Tw
2
3 #false-laziness hack w freeside-logout
4
5 use strict;
6 use FS::SessionClient qw( login portnum );
7
8 my $username = shift;
9
10 my $portnum;
11 if ( scalar(@ARGV) == 1 ) {
12   my $arg = shift;
13   if ( $arg =~ /^(\d+)$/ ) {
14     $portnum = $1;
15   } elsif ( $arg =~ /^([\d\.]+)$/ ) {
16     $portnum = portnum( { 'ip' => $1 } ) or die "unknown ip!"
17   } else {
18     &usage;
19   }
20 } elsif ( scalar(@ARGV) == 2 ) {
21   $portnum = portnum( { 'nasnum' => shift, 'nasport' => shift } )
22     or die "unknown nasnum/nasport";
23 } else {
24   &usage;
25 }
26
27 my $error = login ( {
28   'username' => $username,
29   'portnum'  => $portnum,
30 } );
31
32 warn $error if $error;
33
34 sub usage {
35   die "Usage:\n\n  freeside-login username ( portnum | ip | nasnum nasport )";
36 }