diff --git a/debian/changelog b/debian/changelog index a37f605..04844cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +tinc (1.1~pre7-2) experimental; urgency=low + + [ Gian Piero Carrubba ] + * Init script fails to pass extra arguments to tincd. Closes: #704701 + + Remove the '--' as it is passed unaltered to tincd, preventing it to read + trailing parameters. + + Pass extra arguments also when restarting the daemon. + * Set process limits when started by ifupdown. Closes: #704702 + + [ Guus Sliepen ] + * Check whether the tincd process is still running in the if-post-down script. + Closes: #704708 + + -- Guus Sliepen Wed, 01 May 2013 10:41:31 +0200 + tinc (1.1~pre7-1) experimental; urgency=high * New upstream release. @@ -13,7 +28,7 @@ tinc (1.1~pre6-1) experimental; urgency=low tinc (1.1~pre4-1) experimental; urgency=low - [ Gian Piero ] + [ Gian Piero Carrubba ] * Allow resource limits to be set in /etc/default/tinc. Closes: #690685 [ Guus Sliepen ] diff --git a/debian/tinc.if-post-down b/debian/tinc.if-post-down index ed1a22f..3c677ca 100755 --- a/debian/tinc.if-post-down +++ b/debian/tinc.if-post-down @@ -6,7 +6,11 @@ if [ "$IF_TINC_NET" ] ; then tinc -n "$IF_TINC_NET" stop sleep 0.1 i=0; - while [ -f "/var/run/tinc.$IF_TINC_NET.pid" ] ; do + while read pid rest < /var/run/tinc.$IF_TINC_NET.pid ; do + if [ ! -e "/proc/$pid" ] ; then + exit 0 + fi + if [ $i = '30' ] ; then echo 'Failed to stop tinc daemon!' exit 1 diff --git a/debian/tinc.if-pre-up b/debian/tinc.if-pre-up index e0e5a45..6ae85bc 100755 --- a/debian/tinc.if-pre-up +++ b/debian/tinc.if-pre-up @@ -8,6 +8,21 @@ set -e . /etc/default/tinc +# Set process limits + +setlimits() { + while [ $# -gt 0 ]; do + parm=$1 ; shift + if [ -n "$1" -a "${1#-}" = "$1" ]; then + value=$1 ; shift + ulimit $parm $value + else + ulimit $parm + fi + done +} +test -n "$LIMITS" && setlimits $LIMITS + # Read options from /etc/network/interfaces [ -n "$IF_TINC_CONFIG" ] && EXTRA="$EXTRA -c $IF_TINC_CONFIG" diff --git a/debian/tinc.init b/debian/tinc.init index e2091ea..ed354cb 100644 --- a/debian/tinc.init +++ b/debian/tinc.init @@ -41,7 +41,7 @@ foreach_net() { egrep '^[ ]*[a-zA-Z0-9_-]+' $NETSFILE | while read net args; do echo -n " $net" case "$1" in - start) $CONTROL -n $net start -- $EXTRA $args ;; + start|restart) $CONTROL -n $net $1 $EXTRA $args ;; *) $CONTROL -n $net $1 ;; esac done