#
-# 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.
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
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
#!/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
}
-stop() {
- local pidfile
+start() {
+ include /lib/network
+ scan_interfaces
- 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
+ config_load 'ptunnel'
+ config_foreach start_instance 'ptunnel'
+ iptables -I OUTPUT 1 -p icmp -j ACCEPT 2> /dev/null
+}
+
+stop() {
+ service_stop /usr/sbin/ptunnel
}