This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, master has been updated via b68117f5eb732adb42167c42f69d05070d099f9e (commit) from dfc4bc56a7cedddd74873511d3423a008a52abaf (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit b68117f5eb732adb42167c42f69d05070d099f9e Author: Christian Schmidt maniacikarus@ipfire.org Date: Sat Jan 16 13:08:01 2010 +0100
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.
-----------------------------------------------------------------------
Summary of changes: config/cfgroot/connscheduler.conf | 2 +- config/rootfiles/core/35/filelists/files | 2 + src/scripts/connscheduler | 37 +++++++++++++++++++++++++++++- 3 files changed, 39 insertions(+), 2 deletions(-)
Difference in files: diff --git a/config/cfgroot/connscheduler.conf b/config/cfgroot/connscheduler.conf index 9bcf195..379ac92 100644 --- a/config/cfgroot/connscheduler.conf +++ b/config/cfgroot/connscheduler.conf @@ -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 diff --git a/config/rootfiles/core/35/filelists/files b/config/rootfiles/core/35/filelists/files index 15fca78..a6bf811 100644 --- a/config/rootfiles/core/35/filelists/files +++ b/config/rootfiles/core/35/filelists/files @@ -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 diff --git a/src/scripts/connscheduler b/src/scripts/connscheduler index bc4d4eb..ceb4116 100644 --- a/src/scripts/connscheduler +++ b/src/scripts/connscheduler @@ -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; + } +} \ No newline at end of file
hooks/post-receive -- IPFire 2.x development tree