#!/usr/bin/perl
$connect_failed=0;
print"Content-type: text/html\n\n
<head>";
if ($ENV{'QUERY_STRING'}eq"action=connect"){
	print "<meta HTTP-EQUIV=Refresh CONTENT=\"2; URL=dial.cgi?action=connecting\">";
	}
if ($ENV{'QUERY_STRING'}eq"action=connecting"){
	if(-e "/var/run/ppp0.pid"){
		print "<meta HTTP-EQUIV=Refresh CONTENT=\"1; URL=dial.cgi\">";
		}
	else {
		if (`ps -A | grep chat` eq ""){
			$connect_failed=1;
			}
		else{
print "<meta HTTP-EQUIV=Refresh CONTENT=\"2; URL=dial.cgi?action=connecting\">";
			}
		}
	}	
print "</head>
<body><h1>Paul's firewall</h1>";
if ($ENV{'QUERY_STRING'}eq"action=connect"){
	print"<h2>Connecting!</h2>";
	exec("/usr/sbin/ppp-on 1>> /var/log/pppd.log 2>> /var/log/pppd.log");
	}
if ($ENV{'QUERY_STRING'}eq"action=connecting"){
	$connect_failed || print "<h2>Still connecting</h2>";
	$connect_failed && print "<h2>Connect Failed. Sorry.</h2>";
	}
if ((stat("/var/run/ppp0.pid"))[7]){
	$dialtime=(stat("/var/run/ppp0.pid"))[9];
	$dialtime=time-$dialtime;
	$hours=int($dialtime/3600);
	$mins=int($dialtime/60-(60*$hours));
	$secs=int($dialtime-((($hours*60)+$mins)*60));
	print"Connected $hours:$mins:$secs
	<form action=dial.cgi method=GET>
	<input type=submit name=action value=disconnect>
	</form>";
	}
else {
	print "Not Connected
	<form action=dial.cgi method=GET>
	<input type=submit name=action value=connect>
	</form>";
	}
open $file,"/var/log/pppd.log";
read $file,$lines,1024;
print "<pre>".$lines."</pre>";
