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(a)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