From f83184464cc34d1c2a0a999cbf215414827b39a2 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 3 Dec 2000 21:13:31 +0000 Subject: oops, forgot the web apps --- fs_sesmon/FS-SessionClient/cgi/logout.cgi | 90 +++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 fs_sesmon/FS-SessionClient/cgi/logout.cgi (limited to 'fs_sesmon/FS-SessionClient/cgi/logout.cgi') diff --git a/fs_sesmon/FS-SessionClient/cgi/logout.cgi b/fs_sesmon/FS-SessionClient/cgi/logout.cgi new file mode 100644 index 000000000..f5a57b2e8 --- /dev/null +++ b/fs_sesmon/FS-SessionClient/cgi/logout.cgi @@ -0,0 +1,90 @@ +#!/usr/bin/perl -Tw + +#false-laziness hack w login.cgi + +use strict; +use vars qw( $cgi $username $password $error $ip $portnum ); +use CGI; +use CGI::Carp qw(fatalsToBrowser); +use FS::SessionClient qw( logout portnum ); + +$cgi = new CGI; + +if ( defined $cgi->param('magic') ) { + $cgi->param('username') =~ /^\s*(\w{1,255})\s*$/ or do { + $error = "Illegal username"; + &print_form; + exit; + }; + $username = $1; + $cgi->param('password') =~ /^([^\n]{0,255})$/ or die "guru meditation #420"; + $password = $1; + #$ip = $cgi->remote_host; + $ip = $ENV{REMOTE_ADDR}; + $ip =~ /^([\d\.]+)$/ or die "illegal ip: $ip"; + $ip = $1; + $portnum = portnum( { 'ip' => $1 } ) or do { + $error = "You appear to be coming from an unknown IP address. Verify ". + "that your computer is set to obtain an IP address automatically ". + "via DHCP."; + &print_form; + exit; + }; + + ( $error = logout ( { + 'username' => $username, + 'portnum' => $portnum, + 'password' => $password, + } ) ) + ? &print_form() + : &print_okay(); + +} else { + $username = ''; + $password = ''; + $error = ''; + &print_form; +} + +sub print_form { + my $self_url = $cgi->self_url; + + print $cgi->header( '-expires' => 'now' ), <logout + +END + +print qq!Error: $error! if $error; + +print < + +Username
+Password
+ + + + +END + +} + +sub print_okay { + print $cgi->header( '-expires' => 'now' ), <logout sucessful +logout successful, etc. + + +END +} + +my $error = logout ( { + 'username' => $username, + 'portnum' => $portnum, +} ); + +warn $error if $error; + +sub usage { + die "Usage:\n\n freeside-logout username ( portnum | ip | nasnum nasport )"; +} -- cgit v1.2.1 From 139cc78c8a30f0e73742a8af65f262b783ea606e Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 15 Apr 2001 07:25:51 +0000 Subject: oops, extraneous code causing problems, thanks to Mack for bugreport --- fs_sesmon/FS-SessionClient/cgi/logout.cgi | 7 ------- 1 file changed, 7 deletions(-) (limited to 'fs_sesmon/FS-SessionClient/cgi/logout.cgi') diff --git a/fs_sesmon/FS-SessionClient/cgi/logout.cgi b/fs_sesmon/FS-SessionClient/cgi/logout.cgi index f5a57b2e8..95cef98d1 100644 --- a/fs_sesmon/FS-SessionClient/cgi/logout.cgi +++ b/fs_sesmon/FS-SessionClient/cgi/logout.cgi @@ -78,13 +78,6 @@ sub print_okay { END } -my $error = logout ( { - 'username' => $username, - 'portnum' => $portnum, -} ); - -warn $error if $error; - sub usage { die "Usage:\n\n freeside-logout username ( portnum | ip | nasnum nasport )"; } -- cgit v1.2.1