diff --git a/net/ptunnel/Makefile b/net/ptunnel/Makefile index 54b8b328a..89db421d2 100644 --- a/net/ptunnel/Makefile +++ b/net/ptunnel/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ptunnel PKG_VERSION:=0.71 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=PingTunnel-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.cs.uit.no/~daniels/PingTunnel @@ -52,7 +52,7 @@ endef define Package/ptunnel/install $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ptunnel $(1)/usr/sbin/ + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ptunnel $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/ptunnel.init $(1)/etc/init.d/ptunnel $(INSTALL_DIR) $(1)/etc/config diff --git a/net/ptunnel/files/ptunnel.init b/net/ptunnel/files/ptunnel.init index 99252d500..9524909b0 100644 --- a/net/ptunnel/files/ptunnel.init +++ b/net/ptunnel/files/ptunnel.init @@ -1,40 +1,32 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2007-2009 OpenWrt.org +# Copyright (C) 2007-2011 OpenWrt.org START=70 -BIN=ptunnel -PIDCOUNT=0 -start() { - include /lib/network - scan_interfaces - - config_load ptunnel - config_foreach start_ptunnel ptunnel - iptables -I OUTPUT 1 -p icmp -j ACCEPT 2> /dev/null -} - -start_ptunnel() { +start_instance() { local section="$1" config_get interface "$section" interface config_get ifname "$interface" ifname [ -z "$ifname" ] && { - echo "Error: Interface '$interface' not found" 1>&2 + echo "${initscript}: Error: Interface '$interface' not found" 1>&2 return 1 } - PIDCOUNT="$(( ${PIDCOUNT} + 1))" - ${BIN} -c "$ifname" -daemon /var/run/ptunnel."$PIDCOUNT".pid> /dev/null + SERVICE_PID_FILE="/var/run/ptunnel.$ifname.pid" + service_start /usr/sbin/ptunnel -c "$ifname" -daemon $SERVICE_PID_FILE +} + +start() { + include /lib/network + scan_interfaces + + config_load 'ptunnel' + config_foreach start_instance 'ptunnel' + iptables -I OUTPUT 1 -p icmp -j ACCEPT 2> /dev/null } stop() { - local pidfile - - for pidfile in `ls /var/run/${BIN}.*.pid` - do - start-stop-daemon -K -s KILL -p "${pidfile}" -n "${BIN}" >/dev/null - rm -f "${pidfile}" - done + service_stop /usr/sbin/ptunnel }