diff --git a/bmx6/Makefile b/bmx6/Makefile index dea2c5d..212c971 100644 --- a/bmx6/Makefile +++ b/bmx6/Makefile @@ -31,8 +31,8 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=git://bmx6.net/bmx6.git #PKG_SOURCE_URL:=git://github.com/axn/bmx6.git -PKG_REV:=c0076183ce28fe15285c8faa51920e74633776fe -PKG_VERSION:=r2013041901 +PKG_REV:=60adcbd4655ccf36a407bae58d66914e33f05a41 +PKG_VERSION:=r2013060803 PKG_RELEASE:=4 PKG_SOURCE_VERSION:=$(PKG_REV) @@ -61,7 +61,7 @@ define Package/bmx6/Default TITLE:=BMX6 layer 3 routing daemon URL:=http://bmx6.net/ MAINTAINER:=Axel Neumann - DEPENDS:=+kmod-ip6-tunnel +kmod-iptunnel6 + DEPENDS:=+kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun endef define Package/bmx6/description diff --git a/nodogsplash/Makefile b/nodogsplash/Makefile new file mode 100644 index 0000000..d1d9212 --- /dev/null +++ b/nodogsplash/Makefile @@ -0,0 +1,56 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=nodogsplash +PKG_FIXUP:=autoreconf +PKG_VERSION:=0.9_beta9.9.9-pre +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=git://github.com/nodogsplash/nodogsplash.git +PKG_SOURCE_VERSION:=master +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + + +define Package/nodogsplash + SUBMENU:=Captive Portals + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libpthread +iptables-mod-ipopt + TITLE:=Open public network gateway daemon + URL:=https://github.com/nodogsplash/nodogsplash +endef + +define Package/nodogsplash/description + Nodogsplash offers a simple way to open a free hotspot providing + restricted access to an internet connection. +endef + +define Package/nodogsplash/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/nodogsplash $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/ndsctl $(1)/usr/bin/ + + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) files/nodogsplash.init $(1)/etc/init.d/$(PKG_NAME) + + $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/htdocs/images + $(CP) $(PKG_BUILD_DIR)/resources/nodogsplash.conf $(1)/etc/$(PKG_NAME)/ + $(CP) $(PKG_BUILD_DIR)/resources/splash.html $(1)/etc/$(PKG_NAME)/htdocs/ + $(CP) $(PKG_BUILD_DIR)/resources/infoskel.html $(1)/etc/$(PKG_NAME)/htdocs/ + $(CP) $(PKG_BUILD_DIR)/resources/splash.jpg $(1)/etc/$(PKG_NAME)/htdocs/images/ +endef + + +$(eval $(call BuildPackage,nodogsplash)) + diff --git a/nodogsplash/files/nodogsplash.init b/nodogsplash/files/nodogsplash.init new file mode 100644 index 0000000..7eba60b --- /dev/null +++ b/nodogsplash/files/nodogsplash.init @@ -0,0 +1,176 @@ +#!/bin/sh /etc/rc.common +# +# description: Startup/shutdown script for nodogsplash captive portal +# +# P. Kube 2007 +# +# (Based on wifidog startup script +# Date : 2004-08-25 +# Version : 1.0 +# Comment by that author: Could be better, but it's working as expected) +# + + +IPT=/usr/sbin/iptables +WD_DIR=/usr/bin +OPTIONS="" +START=65 +STOP=65 +# -s -d 5 runs in background, with level 5 (not so verbose) messages to syslog +# -f -d 7 runs in foreground, with level 7 (verbose) debug messages to terminal +# N.B.: -f will fail if starting at boot from rcS +#OPTIONS="-s -d 5" + +start() { + echo "Starting nodogsplash ... " + if $WD_DIR/ndsctl status 2> /dev/null; then + echo "FAILED: nodogsplash already running" + else + if test_module && $WD_DIR/nodogsplash $OPTIONS; then + echo "OK: nodogsplash started" + else + echo "FAILED: nodogsplash exited with non 0 status" + fi + fi +} + +stop() { + echo "Stopping nodogsplash ... " + if $WD_DIR/ndsctl status 2> /dev/null; then + if $WD_DIR/ndsctl stop; then + echo "OK: nodogsplash stopped" + else + echo "FAILED: ndsctl stop exited with non 0 status" + fi + else + echo "FAILED: nodogsplash was not running" + fi +} + +status() { + $WD_DIR/ndsctl status +} + +test_module() { + + ### Test ipt_mark with iptables + test_ipt_mark () { + ($IPT -A FORWARD -m mark --mark 2 -j ACCEPT 2>&1) > /dev/null + IPTABLES_OK=$? + if [ "$IPTABLES_OK" -eq 0 ]; then + ($IPT -D FORWARD -m mark --mark 2 -j ACCEPT 2>&1) > /dev/null + return 0 + else + return 1 + fi + } + ### Test ipt_mac with iptables + test_ipt_mac () { + ($IPT -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT 2>&1) > /dev/null + IPTABLES_OK=$? + if [ "$IPTABLES_OK" -eq 0 ]; then + ($IPT -D INPUT -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT 2>&1) > /dev/null + return 0 + else + return 1 + fi + } + + ### Test ipt_IMQ with iptables + test_ipt_IMQ () { + ($IPT -t mangle -A PREROUTING -j IMQ --todev 0 2>&1) > /dev/null + IPTABLES_OK=$? + if [ "$IPTABLES_OK" -eq 0 ]; then + ($IPT -t mangle -D PREROUTING -j IMQ --todev 0 2>&1) > /dev/null + return 0 + else + return 1 + fi + } + + ### Test imq with ip + test_imq () { + (ip link set imq0 up 2>&1) > /dev/null + IMQ0_OK=$? + (ip link set imq1 up 2>&1) > /dev/null + IMQ1_OK=$? + if [ "$IMQ0_OK" -eq 0 -a "$IMQ1_OK" -eq 0 ]; then + (ip link set imq0 down 2>&1) > /dev/null + (ip link set imq1 down 2>&1) > /dev/null + return 0 + else + return 1 + fi + } + + ### Test sch_htb with tc; requires imq0 + test_sch_htb () { + (tc qdisc del dev imq0 root 2>&1) > /dev/null + (tc qdisc add dev imq0 root htb 2>&1) > /dev/null + TC_OK=$? + if [ "$TC_OK" -eq 0 ]; then + (tc qdisc del dev imq0 root 2>&1) > /dev/null + return 0 + else + return 1 + fi + } + + + ### Find a module on disk + module_exists () { + EXIST=$(find /lib/modules/`uname -r` -name $1.*o 2> /dev/null) + if [ -n "$EXIST" ]; then + return 0 + else + return 1 + fi + } + + ### Test if a module is in memory + module_in_memory () { + MODULE=$(lsmod | grep $1 | awk '{print $1}') + if [ "$MODULE" = "$1" ]; then + return 0 + else + return 1 + fi + } + + ### Test functionality of a module; load if necessary + do_module_tests () { + echo " Testing module $1 $2" + "test_$1" + if [ $? -ne 0 ]; then + echo " Module $1 $2 needed" + echo " Scanning disk for $1 module" + module_exists $1 + if [ $? -ne 0 ]; then + echo " $1 module missing: please install it" + exit 1 + else + echo " $1 exists, trying to load" + insmod $1 $2 > /dev/null + if [ $? -ne 0 ]; then + echo " Error: insmod $1 $2 failed" + exit 1 + else + echo " $1 $2 loaded successfully" + fi + fi + else + echo " $1 is working" + fi + + } + + echo " Testing required modules" + + do_module_tests "ipt_mac" + do_module_tests "ipt_mark" + # if not using traffic control, + # you can comment out the following 3 lines: + do_module_tests "imq" "numdevs=2" + do_module_tests "ipt_IMQ" + do_module_tests "sch_htb" +} diff --git a/olsrd/Makefile b/olsrd/Makefile index 04cd44a..c1ca224 100644 --- a/olsrd/Makefile +++ b/olsrd/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=olsrd -PKG_VERSION:=0.6.5.3 +PKG_VERSION:=0.6.5.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.olsr.org/releases/0.6 -PKG_MD5SUM:=c99a6800e152dbc08436c0c36c61e9e0 +PKG_MD5SUM:=44689e790359f9363e5ebb924c548730 PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk