mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 23:43:00 +02:00
Fixed connscheduler reconnecting even if not pppoe.
The reconnect should only get active if RED_TYPE is set to pppoe, otherwise is should break and log. Added info to config that this reconnect only works forWe have to ensure that reconnect is not called by any static or dynamic RED_TYPE.
This commit is contained in:
@@ -1 +1 @@
|
||||
on,reconnect,,05:00,weekdays,,Mon Tue Wed Thu Fri Sat Sun ,,MorningReconnect
|
||||
on,reconnect,,05:00,weekdays,,Mon Tue Wed Thu Fri Sat Sun ,,MorningReconnect for pppoe
|
||||
|
||||
@@ -13,3 +13,5 @@ lib/modules/2.6.27.42-ipfire-xen/kernel/net/ieee80211/ieee80211_crypt_tkip.off
|
||||
lib/modules/2.6.27.42-ipfire-xen/kernel/net/ieee80211/ieee80211_crypt_wep.off
|
||||
srv/web/ipfire/cgi-bin/outgoingfw.cgi
|
||||
var/ipfire/outgoing/bin/outgoingfw.pl
|
||||
usr/local/bin/connscheduler
|
||||
var/ipfire/connscheduler/connscheduler.conf
|
||||
|
||||
@@ -21,6 +21,9 @@ $weekday = ($weekday + 6) % 7;
|
||||
# get the closest thing possible
|
||||
$minute = int($minute / 5) * 5;
|
||||
|
||||
my $swroot = "/var/ipfire";
|
||||
my %ethernetsettings;
|
||||
&readhash("${swroot}/ethernet/settings", \%ethernetsettings);
|
||||
|
||||
if ( $ARGV[0] eq 'hangup' )
|
||||
{
|
||||
@@ -117,7 +120,11 @@ sub dial
|
||||
|
||||
|
||||
sub reconnect
|
||||
{
|
||||
{
|
||||
if ( $ethernetsettings{'RED_TYPE'} ne 'PPPOE' ){
|
||||
&General::log("ConnSched skipped because not running pppoe");
|
||||
exit;
|
||||
}
|
||||
&hangup() if ( -e "${General::swroot}/red/active" );
|
||||
# now wait for active triggerfile and ppp daemon to disappear
|
||||
# wait maximum 60 seconds
|
||||
@@ -242,3 +249,31 @@ sub timer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub readhash
|
||||
{
|
||||
my $filename = $_[0];
|
||||
my $hash = $_[1];
|
||||
my ($var, $val);
|
||||
|
||||
if (-e $filename)
|
||||
{
|
||||
open(FILE, $filename) or die "Unable to read file $filename";
|
||||
while (<FILE>)
|
||||
{
|
||||
chop;
|
||||
($var, $val) = split /=/, $_, 2;
|
||||
if ($var)
|
||||
{
|
||||
$val =~ s/^\'//g;
|
||||
$val =~ s/\'$//g;
|
||||
|
||||
# Untaint variables read from hash
|
||||
$var =~ /([A-Za-z0-9_-]*)/; $var = $1;
|
||||
$val =~ /([\w\W]*)/; $val = $1;
|
||||
$hash->{$var} = $val;
|
||||
}
|
||||
}
|
||||
close FILE;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user