#!/usr/bin/perl -w

require '/var/smoothwall/header.pl';

my %pppsettings;

&readhash("${swroot}/ppp/settings", \%pppsettings);
 
$telephone = $pppsettings{'TELEPHONE'};
$username = $pppsettings{'USERNAME'};
$password = $pppsettings{'PASSWORD'};
if ($pppsettings{'AUTH'} eq 'standard-login-script') {
	$loginscript = 'standardloginscript'; }
elsif ($pppsettings{'AUTH'} eq 'demon-login-script') {
	$loginscript = 'demonloginscript'; }
else {
	$loginscript = $pppsettings{'LOGINSCRIPT'}; }

$com = "/usr/sbin/chat -v				\
	TIMEOUT		3				\
	ABORT		'\nBUSY\r'			\
	ABORT		'\nNO ANSWER\r'			\
	ABORT		'\nRINGING\r\n\r\nRINGING\r'	\
	ABORT		'\nNO CARRIER\r'		\
	''		ATZ				\
	'OK-+++\c-OK'	ATH0				\
	TIMEOUT		45				\
	OK		ATDT$telephone			\
	CONNECT		''";

if ($loginscript)
{
	if (open(FILE, "/etc/ppp/${loginscript}"))
	{
		while (<FILE>) {
			$com = "$com $_ "; }
		close FILE;
	}
	$com =~ s/USERNAME/$username/;
	$com =~ s/PASSWORD/$password/;
}

$com =~ s/\n//g;

exec $com;
