#
sub hangup
{
+ # Kill connectd if running to prevent redial
+ system('/bin/killall', 'connectd');
+
unless ( -e "${General::swroot}/red/active" )
{
&General::log("ConnSched already disconnected");
}
&General::log("ConnSched disconnect");
- unless ( system('/etc/rc.d/rc.red', 'stop') == 0 )
+ unless ( system('/etc/rc.d/init.d/network', 'stop', 'red') == 0 )
{
&General::log("ConnSched disconnect failed: $?");
return;
}
# now wait for active triggerfile and ppp daemon to disappear
+ # wait maximum 60 seconds
+ my $counter = 60;
sleep 1;
- while ( -e "${General::swroot}/red/active" || -e '/var/run/ppp-ipcop.pid' )
+ while ( -e "${General::swroot}/red/active" || -e '/var/run/ppp-ipfire.pid' || $counter == 0 )
{
sleep 1;
+ $counter--;
}
}
}
&General::log("ConnSched connect");
- unless ( system('/etc/rc.d/rc.red', 'start') == 0 )
+ unless ( system('/etc/rc.d/init.d/network', 'start', 'red') == 0 )
{
&General::log("ConnSched connect failed: $?");
return;
sub reconnect
{
&hangup() if ( -e "${General::swroot}/red/active" );
+ # now wait for active triggerfile and ppp daemon to disappear
+ # wait maximum 60 seconds
+ my $counter = 60;
+ sleep 1;
+ while ( -e "${General::swroot}/red/active" || -e '/var/run/ppp-ipfire.pid' || $counter == 0 )
+ {
+ sleep 1;
+ $counter--;
+ }
&dial();
}
# Method to change Profile from pppsetup.cgi
unlink("${General::swroot}/ppp/settings");
link("${General::swroot}/ppp/settings-$profile", "${General::swroot}/ppp/settings");
- system ("/bin/touch", "${General::swroot}/ppp/updatesettings");
+ system ("/usr/bin/touch", "${General::swroot}/ppp/updatesettings");
if ( $restart_red == 1 )
{