Message ID | 20161031182120.16191-1-kratz00@gmx.de |
---|---|
State | Accepted |
Commit | 794afe2d667e1f7a432e6246f5ee97ed046151de |
Headers | show |
diff --git a/buildscript b/buildscript index 0205bd0..03c7d23 100755 --- a/buildscript +++ b/buildscript @@ -39,15 +39,10 @@ ROUTING=(routing e870c3373eea80df852d42fac3f40aaffd7a0f58) ROUTING_PKGS="alfred" -WLANSLOVENIJA=(wlanslovenija - https://github.com/wlanslovenija/firmware-packages-opkg - fec592e0540ef883bc8b27b77e7ff45d93ed3f24) -WLANSLOVENIJA_PKGS="tunneldigger" - FFF=(fff) FFF_PKGS="-a" -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF) +FEEDS=(OPENWRT ROUTING GLUON FFF) checkout_git(){ local DIRECTORY=$1 diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile new file mode 100644 index 0000000..a8838f1 --- /dev/null +++ b/src/packages/fff/tunneldigger/Makefile @@ -0,0 +1,47 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=tunneldigger +PKG_VERSION:=0.4.5 +PKG_RELEASE:=1 +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052 + +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 +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread + TITLE:=tunneldigger +endef + +TARGET_CFLAGS += \ + -I$(STAGING_DIR)/usr/include/libnl-tiny \ + -I$(STAGING_DIR)/usr/include \ + -DLIBNL_TINY + +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)/etc/config + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger +endef + +define Package/tunneldigger/conffiles +/etc/config/tunneldigger +endef + +$(eval $(call BuildPackage,tunneldigger)) diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default new file mode 100644 index 0000000..571621a --- /dev/null +++ b/src/packages/fff/tunneldigger/files/config.default @@ -0,0 +1,8 @@ +config broker + list address 'x.y.z.w:8942' + list address 'x.y.z.w:53' + list address 'x.y.z.w:123' + option uuid 'abcd' + option interface 'l2tp0' + option limit_bw_down '1024' + option enabled '0' diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init new file mode 100755 index 0000000..875ecba --- /dev/null +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init @@ -0,0 +1,80 @@ +#!/bin/sh /etc/rc.common + +. $IPKG_INSTROOT/lib/functions/network.sh + +START=90 + +PIDPATH=/var/run +tunnel_id=1 + +missing() { + echo "Not starting tunneldigger - missing $1" >&2 +} + +config_cb() { + local cfg="$CONFIG_SECTION" + config_get configname "$cfg" TYPE + case "$configname" in + broker) + config_get_bool enabled "$cfg" enabled 1 + config_get addresses "$cfg" address + config_get uuid "$cfg" uuid + config_get interface "$cfg" interface + config_get limit_bw_down "$cfg" limit_bw_down + config_get hook_script "$cfg" hook_script + config_get bind_interface "$cfg" bind_interface + + [ $enabled -eq 0 ] && return + + local broker_opts="" + for address in $addresses; do + append broker_opts "-b ${address}" + done + + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}" + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}" + [ ! -z "${bind_interface}" ] && { + # Resolve logical interface name. + unset _bind_interface + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" + append broker_opts "-I ${_bind_interface}" + } + + if [ -z "$uuid" ]; then + missing uuid + return + elif [ -z "$interface" ]; then + missing interface + return + fi + + echo "Starting tunneldigger on ${interface}" + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} + + let tunnel_id++ + ;; + esac +} + +start() { + config_load tunneldigger +} + +stop() { + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do + PID="$(cat ${PIDFILE})" + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)" + echo "Stopping tunneldigger for interface ${IFACE}" + start-stop-daemon -K -q -p $PIDFILE + while test -d "/proc/${PID}"; do + echo " waiting for tunneldigger to stop" + sleep 1 + done + echo " tunneldigger stopped" + done +} + +restart() { + stop + start +}
hi getestet und funktioniert, danke :) Tested-by: Christian Dresel <fff@chrisi01.de> mfg Christian On 31.10.2016 19:21, Steffen Pankratz wrote: > Because we want to test this tunneldigger version in order to move on > with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10 > > Signed-off-by: Steffen Pankratz <kratz00@gmx.de> > --- > buildscript | 7 +- > src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++ > src/packages/fff/tunneldigger/files/config.default | 8 +++ > .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++ > 4 files changed, 136 insertions(+), 6 deletions(-) > create mode 100644 src/packages/fff/tunneldigger/Makefile > create mode 100644 src/packages/fff/tunneldigger/files/config.default > create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init > > diff --git a/buildscript b/buildscript > index 0205bd0..03c7d23 100755 > --- a/buildscript > +++ b/buildscript > @@ -39,15 +39,10 @@ ROUTING=(routing > e870c3373eea80df852d42fac3f40aaffd7a0f58) > ROUTING_PKGS="alfred" > > -WLANSLOVENIJA=(wlanslovenija > - https://github.com/wlanslovenija/firmware-packages-opkg > - fec592e0540ef883bc8b27b77e7ff45d93ed3f24) > -WLANSLOVENIJA_PKGS="tunneldigger" > - > FFF=(fff) > FFF_PKGS="-a" > > -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF) > +FEEDS=(OPENWRT ROUTING GLUON FFF) > > checkout_git(){ > local DIRECTORY=$1 > diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile > new file mode 100644 > index 0000000..a8838f1 > --- /dev/null > +++ b/src/packages/fff/tunneldigger/Makefile > @@ -0,0 +1,47 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=tunneldigger > +PKG_VERSION:=0.4.5 > +PKG_RELEASE:=1 > +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052 > + > +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 +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread > + TITLE:=tunneldigger > +endef > + > +TARGET_CFLAGS += \ > + -I$(STAGING_DIR)/usr/include/libnl-tiny \ > + -I$(STAGING_DIR)/usr/include \ > + -DLIBNL_TINY > + > +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)/etc/config > + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger > +endef > + > +define Package/tunneldigger/conffiles > +/etc/config/tunneldigger > +endef > + > +$(eval $(call BuildPackage,tunneldigger)) > diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default > new file mode 100644 > index 0000000..571621a > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/config.default > @@ -0,0 +1,8 @@ > +config broker > + list address 'x.y.z.w:8942' > + list address 'x.y.z.w:53' > + list address 'x.y.z.w:123' > + option uuid 'abcd' > + option interface 'l2tp0' > + option limit_bw_down '1024' > + option enabled '0' > diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init > new file mode 100755 > index 0000000..875ecba > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init > @@ -0,0 +1,80 @@ > +#!/bin/sh /etc/rc.common > + > +. $IPKG_INSTROOT/lib/functions/network.sh > + > +START=90 > + > +PIDPATH=/var/run > +tunnel_id=1 > + > +missing() { > + echo "Not starting tunneldigger - missing $1" >&2 > +} > + > +config_cb() { > + local cfg="$CONFIG_SECTION" > + config_get configname "$cfg" TYPE > + case "$configname" in > + broker) > + config_get_bool enabled "$cfg" enabled 1 > + config_get addresses "$cfg" address > + config_get uuid "$cfg" uuid > + config_get interface "$cfg" interface > + config_get limit_bw_down "$cfg" limit_bw_down > + config_get hook_script "$cfg" hook_script > + config_get bind_interface "$cfg" bind_interface > + > + [ $enabled -eq 0 ] && return > + > + local broker_opts="" > + for address in $addresses; do > + append broker_opts "-b ${address}" > + done > + > + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}" > + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}" > + [ ! -z "${bind_interface}" ] && { > + # Resolve logical interface name. > + unset _bind_interface > + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" > + append broker_opts "-I ${_bind_interface}" > + } > + > + if [ -z "$uuid" ]; then > + missing uuid > + return > + elif [ -z "$interface" ]; then > + missing interface > + return > + fi > + > + echo "Starting tunneldigger on ${interface}" > + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} > + > + let tunnel_id++ > + ;; > + esac > +} > + > +start() { > + config_load tunneldigger > +} > + > +stop() { > + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do > + PID="$(cat ${PIDFILE})" > + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)" > + echo "Stopping tunneldigger for interface ${IFACE}" > + start-stop-daemon -K -q -p $PIDFILE > + while test -d "/proc/${PID}"; do > + echo " waiting for tunneldigger to stop" > + sleep 1 > + done > + echo " tunneldigger stopped" > + done > +} > + > +restart() { > + stop > + start > +} >
Hallo, getestet und läuft Allerdings nicht mit älteren Brokern. Unser erster Broker in der Has-Hood vom Februar 16 war zu alt. Man merkt es am Router, der Tunnel hat 0 RX Bytes und am GW kommen ERRORs im log beim entsprechenden Router. Ein "git pull" am GW im Tunneldiggerverzeichnis (/srv/tunneldigger/tunneldigger/) hilft. Tested-by: Robert Langhammer rlanghammer@web.de Viele Grüße Robert Am 31.10.2016 um 19:21 schrieb Steffen Pankratz: > Because we want to test this tunneldigger version in order to move on > with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10 > > Signed-off-by: Steffen Pankratz <kratz00@gmx.de> > --- > buildscript | 7 +- > src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++ > src/packages/fff/tunneldigger/files/config.default | 8 +++ > .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++ > 4 files changed, 136 insertions(+), 6 deletions(-) > create mode 100644 src/packages/fff/tunneldigger/Makefile > create mode 100644 src/packages/fff/tunneldigger/files/config.default > create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init > > diff --git a/buildscript b/buildscript > index 0205bd0..03c7d23 100755 > --- a/buildscript > +++ b/buildscript > @@ -39,15 +39,10 @@ ROUTING=(routing > e870c3373eea80df852d42fac3f40aaffd7a0f58) > ROUTING_PKGS="alfred" > > -WLANSLOVENIJA=(wlanslovenija > - https://github.com/wlanslovenija/firmware-packages-opkg > - fec592e0540ef883bc8b27b77e7ff45d93ed3f24) > -WLANSLOVENIJA_PKGS="tunneldigger" > - > FFF=(fff) > FFF_PKGS="-a" > > -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF) > +FEEDS=(OPENWRT ROUTING GLUON FFF) > > checkout_git(){ > local DIRECTORY=$1 > diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile > new file mode 100644 > index 0000000..a8838f1 > --- /dev/null > +++ b/src/packages/fff/tunneldigger/Makefile > @@ -0,0 +1,47 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=tunneldigger > +PKG_VERSION:=0.4.5 > +PKG_RELEASE:=1 > +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052 > + > +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 +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread > + TITLE:=tunneldigger > +endef > + > +TARGET_CFLAGS += \ > + -I$(STAGING_DIR)/usr/include/libnl-tiny \ > + -I$(STAGING_DIR)/usr/include \ > + -DLIBNL_TINY > + > +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)/etc/config > + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger > +endef > + > +define Package/tunneldigger/conffiles > +/etc/config/tunneldigger > +endef > + > +$(eval $(call BuildPackage,tunneldigger)) > diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default > new file mode 100644 > index 0000000..571621a > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/config.default > @@ -0,0 +1,8 @@ > +config broker > + list address 'x.y.z.w:8942' > + list address 'x.y.z.w:53' > + list address 'x.y.z.w:123' > + option uuid 'abcd' > + option interface 'l2tp0' > + option limit_bw_down '1024' > + option enabled '0' > diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init > new file mode 100755 > index 0000000..875ecba > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init > @@ -0,0 +1,80 @@ > +#!/bin/sh /etc/rc.common > + > +. $IPKG_INSTROOT/lib/functions/network.sh > + > +START=90 > + > +PIDPATH=/var/run > +tunnel_id=1 > + > +missing() { > + echo "Not starting tunneldigger - missing $1" >&2 > +} > + > +config_cb() { > + local cfg="$CONFIG_SECTION" > + config_get configname "$cfg" TYPE > + case "$configname" in > + broker) > + config_get_bool enabled "$cfg" enabled 1 > + config_get addresses "$cfg" address > + config_get uuid "$cfg" uuid > + config_get interface "$cfg" interface > + config_get limit_bw_down "$cfg" limit_bw_down > + config_get hook_script "$cfg" hook_script > + config_get bind_interface "$cfg" bind_interface > + > + [ $enabled -eq 0 ] && return > + > + local broker_opts="" > + for address in $addresses; do > + append broker_opts "-b ${address}" > + done > + > + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}" > + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}" > + [ ! -z "${bind_interface}" ] && { > + # Resolve logical interface name. > + unset _bind_interface > + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" > + append broker_opts "-I ${_bind_interface}" > + } > + > + if [ -z "$uuid" ]; then > + missing uuid > + return > + elif [ -z "$interface" ]; then > + missing interface > + return > + fi > + > + echo "Starting tunneldigger on ${interface}" > + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} > + > + let tunnel_id++ > + ;; > + esac > +} > + > +start() { > + config_load tunneldigger > +} > + > +stop() { > + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do > + PID="$(cat ${PIDFILE})" > + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)" > + echo "Stopping tunneldigger for interface ${IFACE}" > + start-stop-daemon -K -q -p $PIDFILE > + while test -d "/proc/${PID}"; do > + echo " waiting for tunneldigger to stop" > + sleep 1 > + done > + echo " tunneldigger stopped" > + done > +} > + > +restart() { > + stop > + start > +}
Hi, ist ja quasi das Originalpaket mit der empfohlenen Commit-ID drin. Deshalb: Reviewed-by: Jan Kraus <mayosemmel@gmail.com> Wenn in der kommenden 2ten Beta alles gut läuft, sollten wir den Jungs von WlanSlovenia entsprechende Rückmeldung geben. Dann können wir anschließend auch wieder direkt den Upstrem verwenden. Grüße Jan Am Montag, den 31.10.2016, 19:21 +0100 schrieb Steffen Pankratz: > Because we want to test this tunneldigger version in order to move on > with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10 > > Signed-off-by: Steffen Pankratz <kratz00@gmx.de> > --- > buildscript | 7 +- > src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++ > src/packages/fff/tunneldigger/files/config.default | 8 +++ > .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++ > 4 files changed, 136 insertions(+), 6 deletions(-) > create mode 100644 src/packages/fff/tunneldigger/Makefile > create mode 100644 src/packages/fff/tunneldigger/files/config.default > create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init > > diff --git a/buildscript b/buildscript > index 0205bd0..03c7d23 100755 > --- a/buildscript > +++ b/buildscript > @@ -39,15 +39,10 @@ ROUTING=(routing > e870c3373eea80df852d42fac3f40aaffd7a0f58) > ROUTING_PKGS="alfred" > > -WLANSLOVENIJA=(wlanslovenija > - https://github.com/wlanslovenija/firmware-packages-opkg > - fec592e0540ef883bc8b27b77e7ff45d93ed3f24) > -WLANSLOVENIJA_PKGS="tunneldigger" > - > FFF=(fff) > FFF_PKGS="-a" > > -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF) > +FEEDS=(OPENWRT ROUTING GLUON FFF) > > checkout_git(){ > local DIRECTORY=$1 > diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile > new file mode 100644 > index 0000000..a8838f1 > --- /dev/null > +++ b/src/packages/fff/tunneldigger/Makefile > @@ -0,0 +1,47 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=tunneldigger > +PKG_VERSION:=0.4.5 > +PKG_RELEASE:=1 > +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052 > + > +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 +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread > + TITLE:=tunneldigger > +endef > + > +TARGET_CFLAGS += \ > + -I$(STAGING_DIR)/usr/include/libnl-tiny \ > + -I$(STAGING_DIR)/usr/include \ > + -DLIBNL_TINY > + > +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)/etc/config > + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger > +endef > + > +define Package/tunneldigger/conffiles > +/etc/config/tunneldigger > +endef > + > +$(eval $(call BuildPackage,tunneldigger)) > diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default > new file mode 100644 > index 0000000..571621a > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/config.default > @@ -0,0 +1,8 @@ > +config broker > + list address 'x.y.z.w:8942' > + list address 'x.y.z.w:53' > + list address 'x.y.z.w:123' > + option uuid 'abcd' > + option interface 'l2tp0' > + option limit_bw_down '1024' > + option enabled '0' > diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init > new file mode 100755 > index 0000000..875ecba > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init > @@ -0,0 +1,80 @@ > +#!/bin/sh /etc/rc.common > + > +. $IPKG_INSTROOT/lib/functions/network.sh > + > +START=90 > + > +PIDPATH=/var/run > +tunnel_id=1 > + > +missing() { > + echo "Not starting tunneldigger - missing $1" >&2 > +} > + > +config_cb() { > + local cfg="$CONFIG_SECTION" > + config_get configname "$cfg" TYPE > + case "$configname" in > + broker) > + config_get_bool enabled "$cfg" enabled 1 > + config_get addresses "$cfg" address > + config_get uuid "$cfg" uuid > + config_get interface "$cfg" interface > + config_get limit_bw_down "$cfg" limit_bw_down > + config_get hook_script "$cfg" hook_script > + config_get bind_interface "$cfg" bind_interface > + > + [ $enabled -eq 0 ] && return > + > + local broker_opts="" > + for address in $addresses; do > + append broker_opts "-b ${address}" > + done > + > + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}" > + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}" > + [ ! -z "${bind_interface}" ] && { > + # Resolve logical interface name. > + unset _bind_interface > + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" > + append broker_opts "-I ${_bind_interface}" > + } > + > + if [ -z "$uuid" ]; then > + missing uuid > + return > + elif [ -z "$interface" ]; then > + missing interface > + return > + fi > + > + echo "Starting tunneldigger on ${interface}" > + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} > + > + let tunnel_id++ > + ;; > + esac > +} > + > +start() { > + config_load tunneldigger > +} > + > +stop() { > + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do > + PID="$(cat ${PIDFILE})" > + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)" > + echo "Stopping tunneldigger for interface ${IFACE}" > + start-stop-daemon -K -q -p $PIDFILE > + while test -d "/proc/${PID}"; do > + echo " waiting for tunneldigger to stop" > + sleep 1 > + done > + echo " tunneldigger stopped" > + done > +} > + > +restart() { > + stop > + start > +} > -- > 2.10.1 >
Hi Und applied. Danke! Tim Am Montag, den 31.10.2016, 19:21 +0100 schrieb Steffen Pankratz: > Because we want to test this tunneldigger version in order to move on > with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10 > > Signed-off-by: Steffen Pankratz <kratz00@gmx.de> > --- > buildscript | 7 +- > src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++ > src/packages/fff/tunneldigger/files/config.default | 8 +++ > .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++ > 4 files changed, 136 insertions(+), 6 deletions(-) > create mode 100644 src/packages/fff/tunneldigger/Makefile > create mode 100644 src/packages/fff/tunneldigger/files/config.default > create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init > > diff --git a/buildscript b/buildscript > index 0205bd0..03c7d23 100755 > --- a/buildscript > +++ b/buildscript > @@ -39,15 +39,10 @@ ROUTING=(routing > e870c3373eea80df852d42fac3f40aaffd7a0f58) > ROUTING_PKGS="alfred" > > -WLANSLOVENIJA=(wlanslovenija > - https://github.com/wlanslovenija/firmware-packages-opkg > - fec592e0540ef883bc8b27b77e7ff45d93ed3f24) > -WLANSLOVENIJA_PKGS="tunneldigger" > - > FFF=(fff) > FFF_PKGS="-a" > > -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF) > +FEEDS=(OPENWRT ROUTING GLUON FFF) > > checkout_git(){ > local DIRECTORY=$1 > diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile > new file mode 100644 > index 0000000..a8838f1 > --- /dev/null > +++ b/src/packages/fff/tunneldigger/Makefile > @@ -0,0 +1,47 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=tunneldigger > +PKG_VERSION:=0.4.5 > +PKG_RELEASE:=1 > +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052 > + > +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 +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread > + TITLE:=tunneldigger > +endef > + > +TARGET_CFLAGS += \ > + -I$(STAGING_DIR)/usr/include/libnl-tiny \ > + -I$(STAGING_DIR)/usr/include \ > + -DLIBNL_TINY > + > +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)/etc/config > + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger > +endef > + > +define Package/tunneldigger/conffiles > +/etc/config/tunneldigger > +endef > + > +$(eval $(call BuildPackage,tunneldigger)) > diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default > new file mode 100644 > index 0000000..571621a > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/config.default > @@ -0,0 +1,8 @@ > +config broker > + list address 'x.y.z.w:8942' > + list address 'x.y.z.w:53' > + list address 'x.y.z.w:123' > + option uuid 'abcd' > + option interface 'l2tp0' > + option limit_bw_down '1024' > + option enabled '0' > diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init > new file mode 100755 > index 0000000..875ecba > --- /dev/null > +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init > @@ -0,0 +1,80 @@ > +#!/bin/sh /etc/rc.common > + > +. $IPKG_INSTROOT/lib/functions/network.sh > + > +START=90 > + > +PIDPATH=/var/run > +tunnel_id=1 > + > +missing() { > + echo "Not starting tunneldigger - missing $1" >&2 > +} > + > +config_cb() { > + local cfg="$CONFIG_SECTION" > + config_get configname "$cfg" TYPE > + case "$configname" in > + broker) > + config_get_bool enabled "$cfg" enabled 1 > + config_get addresses "$cfg" address > + config_get uuid "$cfg" uuid > + config_get interface "$cfg" interface > + config_get limit_bw_down "$cfg" limit_bw_down > + config_get hook_script "$cfg" hook_script > + config_get bind_interface "$cfg" bind_interface > + > + [ $enabled -eq 0 ] && return > + > + local broker_opts="" > + for address in $addresses; do > + append broker_opts "-b ${address}" > + done > + > + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}" > + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}" > + [ ! -z "${bind_interface}" ] && { > + # Resolve logical interface name. > + unset _bind_interface > + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" > + append broker_opts "-I ${_bind_interface}" > + } > + > + if [ -z "$uuid" ]; then > + missing uuid > + return > + elif [ -z "$interface" ]; then > + missing interface > + return > + fi > + > + echo "Starting tunneldigger on ${interface}" > + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} > + > + let tunnel_id++ > + ;; > + esac > +} > + > +start() { > + config_load tunneldigger > +} > + > +stop() { > + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do > + PID="$(cat ${PIDFILE})" > + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)" > + echo "Stopping tunneldigger for interface ${IFACE}" > + start-stop-daemon -K -q -p $PIDFILE > + while test -d "/proc/${PID}"; do > + echo " waiting for tunneldigger to stop" > + sleep 1 > + done > + echo " tunneldigger stopped" > + done > +} > + > +restart() { > + stop > + start > +} > -- > 2.10.1 >
Because we want to test this tunneldigger version in order to move on with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10 Signed-off-by: Steffen Pankratz <kratz00@gmx.de> --- buildscript | 7 +- src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++ src/packages/fff/tunneldigger/files/config.default | 8 +++ .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++ 4 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 src/packages/fff/tunneldigger/Makefile create mode 100644 src/packages/fff/tunneldigger/files/config.default create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init