Updated documentation for 0.2 release
[mtetherd] / mtetherd-net-shutdown.sh
index eb60d91..b2d1223 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 INTERFACE=$1
+WAN=$2
 
-echo "$INTERFACE" >> /tmp/mtetherd-net-shutdown.log
+log() {
+       echo $@
+       echo $(date): $@ >> /tmp/mtetherd-script.log
+}
+
+die() {
+       echo $@ >&2
+       echo $(date): $@ >> /tmp/mtetherd-script.log
+       exit 1
+}
+
+if [ "${INTERFACE}" = "" ]; then
+       die "Usage: $0 <interface> [<wan interface>]"
+fi
+
+log "Shutting down routing for: ${INTERFACE} ${WAN}"
+
+echo "${INTERFACE}" | grep -E -q '^[a-zA-Z]+[0-9]+$' || die "Invalid interface name"
+if [ "${WAN}" != "" ]; then
+       echo "${WAN}" | grep -E -q '^[a-zA-Z]+[0-9]+$' || die "Invalid WAN interface name"
+fi
+
+RUNFILE="/var/run/mtetherd.${INTERFACE}.pid"
+
+log "echo 0 > /proc/sys/net/ipv4/conf/${INTERFACE}/forwarding"
+echo 0 > /proc/sys/net/ipv4/conf/${INTERFACE}/forwarding
+log "/sbin/start-stop-daemon -K -p \"${RUNFILE}\" -x /usr/sbin/dnsmasq"
+msg=$(/sbin/start-stop-daemon -K -p "${RUNFILE}" -x /usr/sbin/dnsmasq 2>&1)
+log "$msg"
+if [ "${WAN}" != "" ]; then
+       log "/usr/sbin/iptables -t nat -D POSTROUTING -o ${WAN} -j MASQUERADE"
+       msg=$(/usr/sbin/iptables -t nat -D POSTROUTING -o ${WAN} -j MASQUERADE 2>&1)
+       log $msg
+fi
+
+log "Finished shutting down routing for ${INTERFACE}"