Corrected dhcp.cgi sorting issue
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 25 Jul 2008 21:00:51 +0000 (21:00 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 25 Jul 2008 21:00:51 +0000 (21:00 +0000)
Fixed T-Online not responding to ping requests

config/cfgroot/header.pl
config/rootfiles/updater/filelists/core15
src/ppp/ip-up

index e309817..3a2c932 100644 (file)
@@ -353,7 +353,7 @@ sub CheckSortOrder {
 #Sorting of allocated leases
     if ($ENV{'QUERY_STRING'} =~ /^IPADDR|^ETHER|^HOSTNAME|^ENDTIME/ ) {
         my $newsort=$ENV{'QUERY_STRING'};
-        &readhash("${swroot}/dhcp/settings", \%dhcpsettings);
+        &General::readhash("${swroot}/dhcp/settings", \%dhcpsettings);
         $act=$dhcpsettings{'SORT_LEASELIST'};
         #Reverse actual ?
         if ($act =~ $newsort) {
@@ -362,7 +362,7 @@ sub CheckSortOrder {
         };
 
         $dhcpsettings{'SORT_LEASELIST'}=$newsort;
-        &writehash("${swroot}/dhcp/settings", \%dhcpsettings);
+        &General::writehash("${swroot}/dhcp/settings", \%dhcpsettings);
         $dhcpsettings{'ACTION'} = 'SORT';  # avoid the next test "First lauch"
     }
 
index f4ec6e1..8fdea80 100644 (file)
@@ -12,6 +12,7 @@ srv/web/ipfire/cgi-bin/graphs.cgi
 srv/web/ipfire/cgi-bin/outgoingfw.cgi
 var/ipfire/langs
 var/ipfire/graphs.pl
+var/ipfire/header.pl
 var/ipfire/outgoing/bin/outgoingfw.pl
 var/ipfire/urlfilter/autoupdate/autoupdate.urls
 usr/share/terminfo/x/xterm-color
index 0f32820..80fb49f 100644 (file)
@@ -44,9 +44,17 @@ echo -n "$1" > /var/ipfire/red/iface
 echo -n "$4" > /var/ipfire/red/local-ipaddress
 echo -n "$5" > /var/ipfire/red/remote-ipaddress
 grep -v "gateway" /etc/hosts > /tmp/hosts
-echo "$5 gateway"  >> /tmp/hosts
-mv /tmp/hosts /etc/hosts
 
+TEST=`ping -c 2 $5 2>/dev/null | tail -2 | head -1 | cut -d"," -f2`;
+
+if [ "$TEST" == " 2 packets received" ]; then
+       echo "$5 gateway" >> /tmp/hosts
+else
+       FIRE=`nslookup ping.ipfire.org | tail -2  | head -1 | cut -d" " -f2`;
+       echo "$FIRE gateway" >> /tmp/hosts
+fi
+
+mv /tmp/hosts /etc/hosts
 touch /var/ipfire/red/active
 
 run_subdir ${rc_base}/init.d/networking/red.up/