Incorrect /etc/NetworkManager/dispatcher.d/01ifupdown
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
network-manager (Ubuntu) |
Fix Released
|
Low
|
Mathieu Trudel-Lapierre |
Bug Description
Binary package hint: network-manager
Ubuntu 10.10
Package: network-manager
Priority: optional
Section: net
Installed-Size: 1352
Maintainer: Ubuntu Core Dev Team <email address hidden>
Architecture: i386
Version: 0.8.1+git.
Preabule.
When I connect to my VPN-connection configured in network-manager GUI I see in error log:
-----
Oct 17 02:04:20 adm04 nm-dispatcher.
-----
Anyway connection is going complete, but startup scripts don't start.
I've tried to understand what's going on and therefore I've changed original 01ifupdown file to suggest an issue.
The problem is because script don't support vpn connections. Lets look into the original script:
-------
#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs ifupdown scripts when NetworkManager fiddles with interfaces.
if [ -z "$1" ]; then
echo "$0: called with no interface" &>2
exit 1;
fi
# Fake ifupdown environment
export IFACE="$1"
export LOGICAL="$1"
export ADDRFAM=
export METHOD=
export VERBOSITY="0"
# Run the right scripts
case "$2" in
up )
export MODE="start"
export PHASE="up"
if [ -d /var/run/network/ ] ; then
tmpfile=`mktemp -t`
if [ -e /var/run/
cat /var/run/
fi
echo $IFACE=$IFACE >> $tmpfile
mv $tmpfile /var/run/
fi
exec run-parts /etc/network/
;;
down )
export MODE="stop"
export PHASE="down"
if [ -e /var/run/
tmpfile=`mktemp -t`
cat /var/run/
mv $tmpfile /var/run/
fi
exec run-parts /etc/network/
;;
pre-up)
export MODE="start"
export PHASE="pre-up"
exec run-parts /etc/network/
;;
post-down)
export MODE="stop"
export PHASE="post-down"
exec run-parts /etc/network/
;;
*)
echo "$0: called with unknown action \`$2'" 1>&2
exit 1
;;
esac
-------
It seems like ok, but there is no handler of $2 variable when i has value "vpn-up" or "vpn-down".
So to fix an issue I've modified 2 lines in this script:
from
case "$2" in
up )
to
case "$2" in
up | vpn-up )
and the second one:
from
down )
export MODE="stop"
export PHASE="down"
to
down | vpn-down )
export MODE="stop"
export PHASE="down"
After this manipulations my start scripts under /etc/network/
Related branches
Changed in network-manager (Ubuntu): | |
assignee: | nobody → Сергій Матрунчик (SkyMan) (skymanphp) |
Changed in network-manager (Ubuntu): | |
status: | Triaged → Fix Committed |
also before every ending of "case" block it should be exit 0:
exec run-parts /etc/network/ if-up.d
exit 0;
;;
without it the script causes an error.