From 63debca7357e98301f6580f4afcde1e6734ddd51 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Tue, 5 Jun 2012 11:05:37 +0200 Subject: [PATCH] Preliminary version of tunneldigger OpenWrt package. --- net/tunneldigger/Makefile | 38 ++++++++++++++++++++++++ net/tunneldigger/files/config.default | 6 ++++ net/tunneldigger/files/iface_setup.sh | 4 +++ net/tunneldigger/files/tunneldigger.init | 28 +++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 net/tunneldigger/Makefile create mode 100644 net/tunneldigger/files/config.default create mode 100644 net/tunneldigger/files/iface_setup.sh create mode 100644 net/tunneldigger/files/tunneldigger.init diff --git a/net/tunneldigger/Makefile b/net/tunneldigger/Makefile new file mode 100644 index 0000000..5b0967f --- /dev/null +++ b/net/tunneldigger/Makefile @@ -0,0 +1,38 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=tunneldigger +PKG_VERSION:=0.1 +PKG_RELEASE:=1 +PKG_REV:=HEAD + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=git://github.com/wlanslovenija/tunneldigger.git +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=$(PKG_REV) + +include $(INCLUDE_DIR)/package.mk + +define Package/tunneldigger + SECTION:=net + CATEGORY:=Network + DEPENDS:=libnl-tiny + TITLE:=L2TPv3 tunnel broker client +endef + +define Build/Prepare + $(call Build/Prepare/Default) + mv $(PKG_BUILD_DIR)/client/* $(PKG_BUILD_DIR) + sed -i s/-lnl /-lnl-tiny /g $(PKG_BUILD_DIR)/Makefile +endef + +define Package/tunneldigger/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/l2tp_client $(1)/usr/bin/tunneldigger + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/tunneldigger.init $(1)/etc/init.d/tunneldigger + $(INSTALL_DIR) $(1)/lib/tunneldigger + $(INSTALL_BIN) ./files/iface_setup.sh $(1)/lib/tunneldigger/iface_setup.sh +endef + +$(eval $(call BuildPackage,tunneldigger)) diff --git a/net/tunneldigger/files/config.default b/net/tunneldigger/files/config.default new file mode 100644 index 0000000..b1a3175 --- /dev/null +++ b/net/tunneldigger/files/config.default @@ -0,0 +1,6 @@ +config broker + option address 'x.y.z.w' + option port 53 + option uuid 'abcd' + option interface 'l2tp0' + diff --git a/net/tunneldigger/files/iface_setup.sh b/net/tunneldigger/files/iface_setup.sh new file mode 100644 index 0000000..ef040c5 --- /dev/null +++ b/net/tunneldigger/files/iface_setup.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# Call the hotplug network interface setup script so our new L2TPv3 tunnel +# interface gets configured with required addresses +ACTION="add" INTERFACE="$1" /sbin/hotplug-call net diff --git a/net/tunneldigger/files/tunneldigger.init b/net/tunneldigger/files/tunneldigger.init new file mode 100644 index 0000000..deb3530 --- /dev/null +++ b/net/tunneldigger/files/tunneldigger.init @@ -0,0 +1,28 @@ +#!/bin/sh /etc/rc.common +START=40 +STOP=90 + +config_cb() { + local cfg="$CONFIG_SECTION" + config_get configname "$cfg" TYPE + + case "$configname" in + broker) + config_get address "$cfg" address + config_get port "$cfg" port + config_get uuid "$cfg" uuid + config_get interface "$cfg" interface + /usr/bin/tunneldigger -u ${uuid} -l 0.0.0.0 -b ${address} -p ${port} -i ${interface} & + ;; + esac +} + +start() +{ + config_load tunneldigger +} + +stop() { + killall tunneldigger +} +