#!/bin/sh DAEMON=/usr/sbin/connmand PIDFILE=/var/run/connmand.pid DESC="Connection Manager" if [ -f /etc/default/connman ] ; then . /etc/default/connman fi set -e nfsroot=0 exec 9<&0 < /proc/mounts while read dev mtpt fstype rest; do if test $mtpt = "/" ; then case $fstype in nfs | nfs4) nfsroot=1 break ;; *) ;; esac fi done do_start() { EXTRA_PARAM="" if test $nfsroot -eq 1 ; then NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'` if [ ! -z "$NET_ADDR" ]; then if [ "$NET_ADDR" = dhcp ]; then ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` if [ ! -z "$ethn" ]; then EXTRA_PARAM="-I $ethn" fi else for i in $NET_DEVS; do ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` if [ "$NET_ADDR" = "$ADDR" ]; then EXTRA_PARAM="-I $i" break fi done fi fi fi if [ -f @DATADIR@/connman/wired-setup ] ; then . @DATADIR@/connman/wired-setup fi $DAEMON $EXTRA_PARAM } do_stop() { start-stop-daemon --stop --name connmand --quiet } case "$1" in start) echo "Starting $DESC" do_start ;; stop) echo "Stopping $DESC" do_stop ;; restart|force-reload) echo "Restarting $DESC" do_stop sleep 1 do_start ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0