Fix ip-up sometime generate wrong host entry if ping.ipfire.org could not resolved
[people/teissler/ipfire-2.x.git] / src / ppp / ip-up
index af5dd2908f912768fa4f1755d0f738b0ac95ba6f..25ac2b96e35cf7a7a7402dda35f5693218e8f35d 100644 (file)
@@ -57,13 +57,15 @@ if [ "$TEST" == " 2 packets received" ]; then
        echo "$5        gateway" >> /tmp/hosts
 else
        #no answer
-       FIRE=`nslookup ping.ipfire.org | tail -2  | head -1 | cut -d" " -f2`;
-       if [ "$FIRE" == "server" ]; then
-           #DNS lookup failed use direct ip
-           echo "85.88.28.124  gateway" >> /tmp/hosts
-       else
+       HOST=`host ping.ipfire.org`;
+       FIRE=`echo $HOST | cut -d" " -f4`;
+       CHK=`echo $HOST | cut -d" " -f3`;
+       if [ "$CHK" == "address" ]; then
            #use ping.ipfire.org
            echo "$FIRE gateway" >> /tmp/hosts
+       else
+           #DNS lookup failed use direct ip
+           echo "85.88.28.124  gateway" >> /tmp/hosts
        fi
 fi
 mv /tmp/hosts /etc/hosts