summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Gonzalez Iniesta <agi@inittab.org>2013-09-09 16:01:24 +0200
committerAlberto Gonzalez Iniesta <agi@inittab.org>2013-09-09 16:01:24 +0200
commitd8945f5aaffe81957d918f91224c90c9ae64b415 (patch)
treede122a37747c4be5e9aa33aba862bb1f85db5f7f
parentadfca29dda41468207f69c672b9945e023272f1f (diff)
Fixing #721082 and #716794debian/2.3.2-5
-rw-r--r--debian/changelog9
-rw-r--r--debian/control4
-rw-r--r--debian/update-resolv-conf60
3 files changed, 43 insertions, 30 deletions
diff --git a/debian/changelog b/debian/changelog
index fdfd4bf..5d9a8b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+openvpn (2.3.2-5) unstable; urgency=low
+
+ * Patch init script to fix race conditions on restarts.
+ (Closes: #716794). Thanks Simon Deziel for the patch.
+ * Improve update-resolv-conf script. Thanks Thomas Hood
+ for the patch. (Closes: #721082)
+
+ -- Alberto Gonzalez Iniesta <agi@inittab.org> Mon, 15 Jul 2013 16:10:59 +0200
+
openvpn (2.3.2-4) unstable; urgency=low
* Fix depends on iproute to iproute2.
diff --git a/debian/control b/debian/control
index d0b828b..04b2381 100644
--- a/debian/control
+++ b/debian/control
@@ -2,13 +2,13 @@ Source: openvpn
Section: net
Priority: optional
Maintainer: Alberto Gonzalez Iniesta <agi@inittab.org>
-Build-Depends: debhelper (>= 7.0.50~), libssl-dev (>> 0.9.8g-9), liblzo2-dev, libpam0g-dev, libpkcs11-helper1-dev, net-tools, pkg-config, dpkg-dev (>= 1.16.1), iproute2 [linux-any]
+Build-Depends: debhelper (>= 7.0.50~), libssl-dev (>> 0.9.8g-9), liblzo2-dev, libpam0g-dev, libpkcs11-helper1-dev, pkg-config, dpkg-dev (>= 1.16.1), iproute2 [linux-any], net-tools [!linux-any]
Standards-Version: 3.9.3
Homepage: http://www.openvpn.net/
Package: openvpn
Architecture: any
-Depends: debconf | debconf-2.0, ${shlibs:Depends}, ${misc:Depends}, net-tools, initscripts (>= 2.88dsf-13.3), iproute2 [linux-any]
+Depends: debconf | debconf-2.0, ${shlibs:Depends}, ${misc:Depends}, initscripts (>= 2.88dsf-13.3), iproute2 [linux-any], net-tools [!linux-any]
Suggests: openssl, resolvconf
Recommends: easy-rsa
Description: virtual private network daemon
diff --git a/debian/update-resolv-conf b/debian/update-resolv-conf
index e835ba4..fc2f031 100644
--- a/debian/update-resolv-conf
+++ b/debian/update-resolv-conf
@@ -5,50 +5,54 @@
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
#
-# Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk>
-# and Chris Hanson
+# Used snippets of resolvconf script by Thomas Hood and Chris Hanson.
# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL.
-#
-# 05/2006 chlauber@bnc.ch
#
# Example envs set from openvpn:
-# foreign_option_1='dhcp-option DNS 193.43.27.132'
-# foreign_option_2='dhcp-option DNS 193.43.27.133'
-# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
+#
+# foreign_option_1='dhcp-option DNS 193.43.27.132'
+# foreign_option_2='dhcp-option DNS 193.43.27.133'
+# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
+#
[ -x /sbin/resolvconf ] || exit 0
+[ "$script_type" ] || exit 0
+[ "$dev" ] || exit 0
-case $script_type in
+split_into_parts()
+{
+ part1="$1"
+ part2="$2"
+ part3="$3"
+}
-up)
- for optionname in ${!foreign_option_*} ; do
- option="${!optionname}"
- echo $option
- part1=$(echo "$option" | cut -d " " -f 1)
- if [ "$part1" == "dhcp-option" ] ; then
- part2=$(echo "$option" | cut -d " " -f 2)
- part3=$(echo "$option" | cut -d " " -f 3)
- if [ "$part2" == "DNS" ] ; then
- IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
- fi
- if [ "$part2" == "DOMAIN" ] ; then
- IF_DNS_SEARCH="$IF_DNS_SEARCH $part3"
+case "$script_type" in
+ up)
+ NMSRVRS=""
+ SRCHS=""
+ for optionvarname in ${!foreign_option_*} ; do
+ option="${!optionvarname}"
+ echo "$option"
+ split_into_parts $option
+ if [ "$part1" = "dhcp-option" ] ; then
+ if [ "$part2" = "DNS" ] ; then
+ NMSRVRS="${NMSRVRS:+$NMSRVRS }$part3"
+ elif [ "$part2" = "DOMAIN" ] ; then
+ SRCHS="${SRCHS:+$SRCHS }$part3"
fi
fi
done
R=""
- for SS in $IF_DNS_SEARCH ; do
- R="${R}search $SS
+ [ "$SRCHS" ] && R="search $SRCHS
"
- done
- for NS in $IF_DNS_NAMESERVERS ; do
+ for NS in $NMSRVRS ; do
R="${R}nameserver $NS
"
done
- echo -n "$R" | /sbin/resolvconf -a "${dev}.inet"
+ echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn"
;;
-down)
- /sbin/resolvconf -d "${dev}.inet"
+ down)
+ /sbin/resolvconf -d "${dev}.openvpn"
;;
esac