strongswan: force killing charon at ipsec stop if it not react to term.
authorArne Fitzenreiter <arne_f@ipfire.org>
Sun, 3 Jul 2011 11:21:59 +0000 (13:21 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 3 Jul 2011 11:21:59 +0000 (13:21 +0200)
lfs/strongswan
src/patches/strongswan-4.5.2-force_kill_charon.patch [new file with mode: 0644]

index 8c27b1b..1d009b8 100644 (file)
@@ -72,6 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
 
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-4.4.0_ipfire.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-4.5.2-force_kill_charon.patch
 
        cd $(DIR_APP) && ./configure --prefix="/usr" --sysconfdir="/etc" \
                                        --enable-cisco-quirks \
diff --git a/src/patches/strongswan-4.5.2-force_kill_charon.patch b/src/patches/strongswan-4.5.2-force_kill_charon.patch
new file mode 100644 (file)
index 0000000..d2f3561
--- /dev/null
@@ -0,0 +1,20 @@
+diff -Naur strongswan-4.5.2.org/src/ipsec/ipsec.in strongswan-4.5.2/src/ipsec/ipsec.in
+--- strongswan-4.5.2.org/src/ipsec/ipsec.in    2010-12-18 17:19:05.000000000 +0100
++++ strongswan-4.5.2/src/ipsec/ipsec.in        2011-07-03 11:39:39.501501334 +0200
+@@ -326,7 +326,7 @@
+               if [ -n "$spid" ]
+               then
+                       kill $spid 2>/dev/null
+-                      loop=5
++                      loop=30
+                       while [ $loop -gt 0 ] ; do
+                               kill -0 $spid 2>/dev/null || break
+                               sleep 1
+@@ -335,6 +335,7 @@
+                       if [ $loop -eq 0 ]
+                       then
+                               kill -KILL $spid 2>/dev/null
++                              killall -KILL charon 2>/dev/null
+                               rm -f $IPSEC_STARTER_PID
+                       fi
+               fi