]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/openswan-2.4.9-startklips-1.patch
OpenSwan gefixt.
[ipfire-2.x.git] / src / patches / openswan-2.4.9-startklips-1.patch
index 4e3d74d604905f5744fe4f778a0fda027b3ad039..2719f69d8728cef4b00435e15ea0e2c3fd9a51c0 100644 (file)
@@ -1,6 +1,6 @@
---- /usr/lib/ipsec/_startklips_old     2007-07-16 04:14:15.000000000 +0000
-+++ /usr/lib/ipsec/_startklips 2007-07-19 22:12:37.000000000 +0000
-@@ -104,23 +104,23 @@
+--- _startklips_old    2007-08-13 22:45:45.000000000 +0200
++++ _startklips        2007-08-13 21:27:00.000000000 +0200
+@@ -104,23 +104,35 @@
  
        # figure out ifconfig for interface
        addr=
 -                      print "otheraddr=" other
 -                      print "mask=" $NF
 -              }'`
-+      eval `ip addr show $phys | awk '$1 == "inet"  { gsub(/\//, " "); 
-+                              print "addr=" $2;
-+                              print "mask=" $3;
-+                              print "otheraddr=" $5;
-+                      }'`
-+      eval `ip addr show $phys | awk '$3 ~ /BROADCAST|POINTTOPOINT/ { 
++      eval `ip addr show $phys | awk '$3 ~ /BROADCAST|POINTOPOINT/ { 
 +                              if ($3 ~ /BROADCAST/) 
 +                                      print "type=broadcast"; 
-+                              else if ($3 ~ /POINTTOPOINT/) 
-+                                      print "type=pointtopoint";
++                              else if ($3 ~ /POINTOPOINT/) 
++                                      print "type=pointopoint";
 +                              else {
 +                                      print "type=";
-+                                      print "otheraddr=";
 +                              }
 +                      }'`
++                      
++      if [ "$type" == "broadcast" ]; then
++              eval `ip addr show $phys | awk '$1 == "inet"  { gsub(/\//, " "); 
++                                      print "addr=" $2;
++                                      print "mask=" $3;
++                                      print "otheraddr=" $5;
++                                      }'`
++      elif [ "$type" == "pointopoint" ]; then
++              eval `ip addr show $phys | awk '$1 == "inet"  { gsub(/\//, " "); 
++                                      print "addr=" $2;
++                                      print "mask=" $5;
++                                      print "otheraddr=" $4;
++                                      }'`
++      else
++              type="unknown"
++              otheraddr=
++      fi
++      
 +      eval `whatmask /$mask | awk -F': ' '$1 ~ /^Netmask =/ { print "mask=" $2 }'`
 +      
        if test " $addr" = " "
        then
                echo "unable to determine address of \`$phys'"
-@@ -129,7 +129,7 @@
+@@ -129,7 +141,7 @@
        if test " $type" = " unknown"
        then
                echo "\`$phys' is of an unknown type"
        fi
        if test " $omtu" != " "
        then
+@@ -223,10 +235,10 @@
+       fi
+       next=`netstat -nr |
+               awk '$1 == "0.0.0.0" && $3 == "0.0.0.0" { print $2 }'`
+-      if [ "$next" = "0.0.0.0" ] ; then
+-              next=`ip addr list $phys | grep -E '^ +inet6*.*scope global $phys' |
+-                      awk '{ print $2}' | awk -F / '{ print $1 }'`
+-      fi
++      #if [ "$next" = "0.0.0.0" ] ; then
++      #       next=`ip addr list $phys | grep -E '^ +inet6*.*scope global $phys' |
++      #               awk '{ print $4 }' | awk -F / '{ print $1 }'`
++      #fi
+       klipsinterface "ipsec0=$phys" $next
+ }