1252190Srpaulo#!/bin/sh 2252190Srpaulo 3252190SrpauloIFNAME=$1 4252190SrpauloCMD=$2 5252190Srpaulo 6252190Srpaulokill_daemon() { 7252190Srpaulo NAME=$1 8252190Srpaulo PF=$2 9252190Srpaulo 10252190Srpaulo if [ ! -r $PF ]; then 11252190Srpaulo return 12252190Srpaulo fi 13252190Srpaulo 14252190Srpaulo PID=`cat $PF` 15252190Srpaulo if [ $PID -gt 0 ]; then 16252190Srpaulo if ps $PID | grep -q $NAME; then 17252190Srpaulo kill $PID 18252190Srpaulo fi 19252190Srpaulo fi 20252190Srpaulo rm $PF 21252190Srpaulo} 22252190Srpaulo 23252190Srpauloif [ "$CMD" = "P2P-GROUP-STARTED" ]; then 24252190Srpaulo GIFNAME=$3 25252190Srpaulo if [ "$4" = "GO" ]; then 26252190Srpaulo kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid 27252190Srpaulo ifconfig $GIFNAME 192.168.42.1 up 28252190Srpaulo udhcpd /etc/udhcpd-p2p.conf 29252190Srpaulo fi 30252190Srpaulo if [ "$4" = "client" ]; then 31252190Srpaulo kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid 32252190Srpaulo kill_daemon udhcpd /var/run/udhcpd-$GIFNAME.pid 33252190Srpaulo udhcpc -i $GIFNAME -p /var/run/udhcpc-$GIFNAME.pid \ 34252190Srpaulo -s /etc/udhcpc.script 35252190Srpaulo fi 36252190Srpaulofi 37252190Srpaulo 38252190Srpauloif [ "$CMD" = "P2P-GROUP-REMOVED" ]; then 39252190Srpaulo GIFNAME=$3 40252190Srpaulo if [ "$4" = "GO" ]; then 41252190Srpaulo kill_daemon udhcpd /var/run/udhcpd-$GIFNAME.pid 42252190Srpaulo ifconfig $GIFNAME 0.0.0.0 43252190Srpaulo fi 44252190Srpaulo if [ "$4" = "client" ]; then 45252190Srpaulo kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid 46252190Srpaulo ifconfig $GIFNAME 0.0.0.0 47252190Srpaulo fi 48252190Srpaulofi 49252190Srpaulo 50252190Srpauloif [ "$CMD" = "P2P-CROSS-CONNECT-ENABLE" ]; then 51252190Srpaulo GIFNAME=$3 52252190Srpaulo UPLINK=$4 53252190Srpaulo # enable NAT/masquarade $GIFNAME -> $UPLINK 54252190Srpaulo iptables -P FORWARD DROP 55252190Srpaulo iptables -t nat -A POSTROUTING -o $UPLINK -j MASQUERADE 56252190Srpaulo iptables -A FORWARD -i $UPLINK -o $GIFNAME -m state --state RELATED,ESTABLISHED -j ACCEPT 57252190Srpaulo iptables -A FORWARD -i $GIFNAME -o $UPLINK -j ACCEPT 58252190Srpaulo sysctl net.ipv4.ip_forward=1 59252190Srpaulofi 60252190Srpaulo 61252190Srpauloif [ "$CMD" = "P2P-CROSS-CONNECT-DISABLE" ]; then 62252190Srpaulo GIFNAME=$3 63252190Srpaulo UPLINK=$4 64252190Srpaulo # disable NAT/masquarade $GIFNAME -> $UPLINK 65252190Srpaulo sysctl net.ipv4.ip_forward=0 66252190Srpaulo iptables -t nat -D POSTROUTING -o $UPLINK -j MASQUERADE 67252190Srpaulo iptables -D FORWARD -i $UPLINK -o $GIFNAME -m state --state RELATED,ESTABLISHED -j ACCEPT 68252190Srpaulo iptables -D FORWARD -i $GIFNAME -o $UPLINK -j ACCEPT 69252190Srpaulofi 70