3 #false-laziness hack w logout.cgi
6 use vars qw( $cgi $username $password $error $ip $portnum );
8 use CGI::Carp qw(fatalsToBrowser);
9 use FS::SessionClient qw( login portnum );
13 if ( defined $cgi->param('magic') ) {
14 $cgi->param('username') =~ /^\s*(\w{1,255})\s*$/ or do {
15 $error = "Illegal username";
20 $cgi->param('password') =~ /^([^\n]{0,255})$/ or die "guru meditation #420";
22 #$ip = $cgi->remote_host;
23 $ip = $ENV{REMOTE_ADDR};
24 $ip =~ /^([\d\.]+)$/ or die "illegal ip: $ip";
26 $portnum = portnum( { 'ip' => $1 } ) or do {
27 $error = "You appear to be coming from an unknown IP address. Verify ".
28 "that your computer is set to obtain an IP address automatically ".
35 'username' => $username,
36 'portnum' => $portnum,
37 'password' => $password,
50 my $self_url = $cgi->self_url;
52 print $cgi->header( '-expires' => 'now' ), <<END;
53 <HTML><HEAD><TITLE>login</TITLE></HEAD>
54 <BODY BGCOLOR="#FFFFFF">
57 print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT>! if $error;
60 <FORM ACTION="$self_url" METHOD="POST">
61 <INPUT TYPE="hidden" NAME="magic" VALUE="process">
62 <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="4" ALIGN="center">
64 <TD ALIGN="center" COLSPAN="2">
65 <STRONG>Welcome</STRONG>
73 <INPUT TYPE="text" NAME="username" VALUE="$username">
81 <INPUT TYPE="password" NAME="password">
85 <TD ALIGN="center" COLSPAN="2">
86 <INPUT TYPE="submit" VALUE=" Login ">
98 print $cgi->header( '-expires' => 'now' ), <<END;
99 <HTML><HEAD><TITLE>login sucessful</TITLE></HEAD>
100 <BODY>login successful, etc.
107 die "Usage:\n\n freeside-login username ( portnum | ip | nasnum nasport )";