#!/bin/sh
<?
/* $IFNAME, $STATUS, $SESSID, $MTU */
include "/htdocs/phplib/trace.php";
include "/htdocs/phplib/xnode.php";

$infp = XNODE_getpathbytarget("", "inf", "uid", $IFNAME, 0);
$stsp = XNODE_getpathbytarget("/runtime", "inf", "uid", $IFNAME, 1);

if($IFNAME=="DISCOVER")
{
	if($STATUS=="PPPoE:PADO")
	{
		set("/runtime/services/wandetect/ppp/".$IFNAME."/PADO", "1");
		echo "echo PADO > /var/PCI_WANDETECT.result \n";
	}
	else if($STATUS=="connected")
	{
		set("/runtime/services/wandetect/ppp/".$IFNAME."/connected", "1");
	}
	else if($STATUS=="authFailed")
	{
		set("/runtime/services/wandetect/ppp/".$IFNAME."/authFailed", "1");
	}
}

if($STATUS=="PPPoE:PADI" || $STATUS=="PPPoE:PADO")
{
	set($stsp."/pppd/process", $STATUS);
}
else if($STATUS=="authFailed")
{
	set($stsp."/pppd/process", $STATUS);
	set($stsp."/pppd/process2", $STATUS);	
	echo "event ".$IFNAME.".PPP.AUTHFAILED\n";
}

echo "# status=".$STATUS.", sessid=".$SESSID.", MTU=".$MTU."\n";
set($stsp."/pppd/status", $STATUS);
set($stsp."/pppd/sessid", $SESSID);
set($stsp."/pppd/mtu", $MTU);

if ($STATUS == "on demand")
{
	$fakedns = "10.112.113.".cut($IFNAME, 1, "-");
	$default = query($infp."/defaultroute");
	if ($default!="" && $default>1)
	{
		echo "ip route add default via ".$fakedns." metric ".$default." table default\n";
	}
	else
	{
		echo "ip route add default via ".$fakedns." table default\n";
	}
	set($stsp."/inet/addrtype", "ppp4");
	set($stsp."/inet/ppp4/valid", "1");
	set($stsp."/inet/ppp4/peer",	$fakedns);
	set($stsp."/inet/ppp4/dns",		$fakedns);
	set($stsp."/defaultroute",		$default);
	echo "event UPDATERESOLV\n";
	echo "event ".$IFNAME.".PPP.ONDEMAND\n";
}
?>
exit 0;