Merge pull request #173 from HRogge/master
authorBastian Bittorf <bittorf@bluebottle.com>
Sat, 23 Apr 2016 15:28:10 +0000 (17:28 +0200)
committerBastian Bittorf <bittorf@bluebottle.com>
Sat, 23 Apr 2016 15:28:10 +0000 (17:28 +0200)
Update to OONF 0.11.3

33 files changed:
ahcpd/Makefile
alfred/Makefile
alfred/files/alfred.init
babeld/Makefile
babeld/files/babeld.config
babeld/files/babeld.init
batctl/Makefile
batman-adv/Makefile
batman-adv/patches/0001-batman-adv-Add-lower-layer-header-length-to-headroom.patch [deleted file]
bird/Makefile
bmx7/Makefile
bmx7/files/etc/config/bmx6 [deleted file]
bmx7/files/etc/config/bmx7 [new file with mode: 0644]
bmx7/files/etc/init.d/bmx6 [deleted file]
bmx7/files/etc/init.d/bmx7 [new file with mode: 0755]
bmx7/patches/001-json-c.patch
cjdns/Makefile
hnetd/Makefile
hnetd/files/hnet.config
hnetd/files/hnetd.defaults
hnetd/files/hnetd.init
hnetd/files/ohp-script [deleted file]
hnetd/files/pcp-script [deleted file]
luci-app-bmx6/files/usr/lib/lua/luci/model/bmx6json.lua
luci-app-bmx6/files/usr/lib/lua/luci/model/cbi/bmx6/main.lua
miniupnpd/Makefile
nodogsplash/files/nodogsplash.init
ohybridproxy/Makefile
olsrd/Makefile
olsrd/files/olsrd.init
pimbd/Makefile [new file with mode: 0644]
pimbd/files/firewall-uci.sh [new file with mode: 0644]
pimbd/files/pimbd.init [new file with mode: 0644]

index d4f87443fc2d553ccc4c197f334c18ff6adb164f..96b84753486399a9f4c0de2fc86edde1893903ea 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # Copyright (C) 2007-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -25,7 +25,7 @@ define Package/ahcpd
   TITLE:=Ad-Hoc Configuration Protocol daemon
   URL:=http://www.pps.univ-paris-diderot.fr/~jch/software/ahcp/
   MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>
-  DEPENDS:=+kmod-ipv6 +ip +librt
+  DEPENDS:=+@IPV6 +ip +librt
 endef
 
 define Package/ahcpd/description
index 8f49b5af5eb4a03e36f1dcbdc0f8b0cdb70a71b4..2e117b3c9608f64db8e2bc7bbdf9433e42fdbda6 100644 (file)
@@ -8,15 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 #
-# The latest alfred git hash in PKG_REV can be obtained from http://git.open-mesh.org/alfred.git
+# The latest alfred git hash in PKG_REV can be obtained from https://git.open-mesh.org/alfred.git
 #
 PKG_NAME:=alfred
-PKG_VERSION:=2015.1
+PKG_VERSION:=2016.1
 PKG_RELEASE:=0
-PKG_MD5SUM:=fcce70cd8da764ee91c8cd2cbfa14362
+PKG_MD5SUM:=0caefc13ba631cba93b84d7f5685e8d0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk
@@ -24,7 +24,7 @@ include $(INCLUDE_DIR)/package.mk
 init-y := alfred
 
 define Package/alfred
-  URL:=http://www.open-mesh.org/
+  URL:=https://www.open-mesh.org/
   SECTION:=net
   CATEGORY:=Network
   TITLE:=A.L.F.R.E.D. - Almighty Lightweight Fact Remote Exchange Daemon
index 5ce06c000fc81b6094c1c7f984f29cf32b7e7351..4c9a9e195ada75d8f7b9d42e2b852cc855552bfb 100755 (executable)
@@ -37,6 +37,31 @@ wait_for_dir()
        fi
 }
 
+wait_for_ll_address()
+{
+       local iface="$1"
+       local timeout=30
+
+       echo "${initscript}: waiting $timeout secs for $iface address..."
+       for i in $(seq $timeout); do
+               # We look for
+               # - the link-local address (starts with fe80)
+               # - without tentative flag (bit 0x40 in the flags field; the first char of the flags field begins 38 columns after the fe80 prefix
+               # - on interface $iface
+               if awk '
+                       BEGIN { RET=1 }
+                       /^fe80.{37} [012389ab]/ { if ($6 == "'"$iface"'") RET=0 }
+                       END { exit RET }
+               ' /proc/net/if_inet6; then
+                       return
+               fi
+               sleep 1
+       done
+
+       echo "${initscript}: $iface address not detected, alfred not starting."
+       exit 1
+}
+
 alfred_start()
 {
        local args=""
@@ -62,7 +87,7 @@ alfred_start()
                wait_for_dir "$batmanif" "/sys/class/net/$batmanif/mesh"
        fi
 
-       wait_for_dir "$interface" "/sys/class/net/$interface/"
+       wait_for_ll_address "$interface"
 
        append alfred_args "$args"
        enable=1
index ec1d247a53de254a700cc0f327a0cc9ff9853b45..88a7886cf53629bc041ceead07925f1d16f8fb8b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=babeld
-PKG_VERSION:=1.6.1
+PKG_VERSION:=1.7.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.pps.univ-paris-diderot.fr/~jch/software/files/
-PKG_MD5SUM:=74290f6c3678f314c79bdc0ab99d9f22
+PKG_MD5SUM:=2f71794d4e67f8a5352164ce33611549
 PKG_LICENSE:=MIT
 
 include $(INCLUDE_DIR)/package.mk
@@ -25,7 +25,7 @@ define Package/babeld
   TITLE:=A loop-free distance-vector routing protocol
   URL:=http://www.pps.univ-paris-diderot.fr/~jch/software/babel/
   MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>
-  DEPENDS:=+kmod-ipv6
+  DEPENDS:=+@IPV6
 endef
 
 define Package/babeld/description
index cb2a131150677fef2fb5655842f2948c4d53cdcd..0073f73f5667a49137a49fb48eb7f0edcde94a38 100644 (file)
@@ -16,8 +16,6 @@ config general
        ## Enable ipv6-subtrees by default since OpenWrt should ship with a
        ## recent enough kernel for it to work.
        option 'ipv6_subtrees' 'true'
-       ## This seems somewhat buggy on BB.  If you need only one
-       ## import-table statement, "option import_table 42" should work.
        # list 'import_table' '42'
        # list 'import_table' '100'
        ## Alternative configuration file and directory.
index 6796a34296c176faf0b1bd56721abb9fc02dda04..21ae4be3349b2f271fd285a7a4acfff623fedf89 100755 (executable)
@@ -166,6 +166,9 @@ babel_config_cb() {
                        local value="$2"
                        # Ignore old options
                        list_contains ignored_options "$option" && return
+                       # Skip lists. They will be taken care of by list_cb
+                       test "${option#*_ITEM}" != "$option" && return
+                       test "${option#*_LENGTH}" != "$option" && return
                        cfg_append "${option//_/-} $value"
                }
        ;;
index 8cf2d177529722c91e599e4309a99378223cdd7f..9efec3ec5003cc9c7b11f53305d1e72c02c494ea 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=batctl
 
-PKG_VERSION:=2015.1
+PKG_VERSION:=2016.0
 PKG_RELEASE:=1
-PKG_MD5SUM:=3db00af0b3cf55136babe06aa666e15f
+PKG_MD5SUM:=03c9192ec52a01035602706f08b24740
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
 PKG_LICENSE:=GPL-2.0
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
@@ -22,7 +22,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
 include $(INCLUDE_DIR)/package.mk
 
 define Package/batctl
-  URL:=http://www.open-mesh.org/
+  URL:=https://www.open-mesh.org/
   SECTION:=net
   CATEGORY:=Network
   DEPENDS:=+kmod-batman-adv +libnl-tiny +libc
index 7e43de43c5ee8e8311e4354182d967c8afd1c963..1eb6bbe7dc0b9976e6a6041fbca534705353bf62 100644 (file)
@@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=batman-adv
 
-PKG_VERSION:=2015.1
+PKG_VERSION:=2016.0
 PKG_RELEASE:=1
-PKG_MD5SUM:=45f98d315b4290dc208e01190193c514
+PKG_MD5SUM:=5ab2b29a386d02c16019e469d3981d41
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
 PKG_LICENSE:=GPL-2.0
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
@@ -24,7 +24,7 @@ include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 define KernelPackage/batman-adv
-  URL:=http://www.open-mesh.org/
+  URL:=https://www.open-mesh.org/
   MAINTAINER:=Marek Lindner <mareklindner@neomailbox.ch>
   SUBMENU:=Network Support
   DEPENDS:=+KMOD_BATMAN_ADV_BLA:kmod-lib-crc16 +kmod-crypto-core +kmod-crypto-crc32c +kmod-lib-crc32c
diff --git a/batman-adv/patches/0001-batman-adv-Add-lower-layer-header-length-to-headroom.patch b/batman-adv/patches/0001-batman-adv-Add-lower-layer-header-length-to-headroom.patch
deleted file mode 100644 (file)
index c5adedb..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-batman-adv: Add lower layer header length to headroom
-
-The maximum of hard_header_len and needed_headroom of all slave interfaces
-of a batman-adv device must be used to define the batman-adv device
-headroom/header_len. This is required to avoid too small headroom problems
-when these slave devices try to send the encapsulated packet.
-
-The batman-adv therefore uses:
-
-       needed_headroom = max(0, dev[0].needed_headroom, ...,
-                             dev[n].needed_headroom)
-       hard_header_len = max(ETH_HLEN, dev[0].hard_header_len, ...,
-                             dev[n].hard_header_len) + ETH_HLEN +
-                         max(sizeof(batadv_*cast_packet))
-
-Signed-off-by: Sven Eckelmann <sven@narfation.org>
----
- net/batman-adv/hard-interface.c | 33 +++++++++++++++++++++++++++++++++
- net/batman-adv/soft-interface.c |  2 +-
- 2 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
-index f4a15d2e5eaf..a501aae1077b 100644
---- a/net/batman-adv/hard-interface.c
-+++ b/net/batman-adv/hard-interface.c
-@@ -252,12 +252,45 @@ static void batadv_check_known_mac_addr(const struct net_device *net_dev)
-       rcu_read_unlock();
- }
-+/**
-+ * batadv_hardif_recalc_headroom() - Recalculate skbuff headroom parameters
-+ * @soft_iface: netdev struct of the mesh interface
-+ */
-+static void batadv_hardif_recalc_headroom(struct net_device *soft_iface)
-+{
-+      const struct batadv_hard_iface *hard_iface;
-+      unsigned short hard_header_len = ETH_HLEN;
-+      unsigned short needed_headroom = 0;
-+
-+      rcu_read_lock();
-+      list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) {
-+              if ((hard_iface->if_status != BATADV_IF_ACTIVE) &&
-+                  (hard_iface->if_status != BATADV_IF_TO_BE_ACTIVATED))
-+                      continue;
-+
-+              if (hard_iface->soft_iface != soft_iface)
-+                      continue;
-+
-+              hard_header_len = max_t(unsigned short, hard_header_len,
-+                                      hard_iface->net_dev->hard_header_len);
-+
-+              needed_headroom = max_t(unsigned short, needed_headroom,
-+                                      hard_iface->net_dev->needed_headroom);
-+      }
-+      rcu_read_unlock();
-+
-+      soft_iface->needed_headroom = needed_headroom;
-+      soft_iface->hard_header_len = hard_header_len + batadv_max_header_len();
-+}
-+
- int batadv_hardif_min_mtu(struct net_device *soft_iface)
- {
-       struct batadv_priv *bat_priv = netdev_priv(soft_iface);
-       const struct batadv_hard_iface *hard_iface;
-       int min_mtu = INT_MAX;
-+      batadv_hardif_recalc_headroom(soft_iface);
-+
-       rcu_read_lock();
-       list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) {
-               if ((hard_iface->if_status != BATADV_IF_ACTIVE) &&
-diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
-index 36b23f31df2a..b4c110791203 100644
---- a/net/batman-adv/soft-interface.c
-+++ b/net/batman-adv/soft-interface.c
-@@ -948,7 +948,7 @@ static void batadv_softif_init_early(struct net_device *dev)
-        */
-       dev->mtu = ETH_DATA_LEN;
-       /* reserve more space in the skbuff for our header */
--      dev->hard_header_len = batadv_max_header_len();
-+      dev->hard_header_len = ETH_HLEN + batadv_max_header_len();
-       /* generate random address */
-       eth_hw_addr_random(dev);
--- 
-2.5.0
-
-
index 5f8200c8a94fdbfca81e9bd1fadbc73cf9faef57..04c43efa2ef075c5e528cfd0ca9dabb8a20382ac 100644 (file)
@@ -7,13 +7,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bird
-PKG_VERSION:=1.4.5
-PKG_RELEASE:=2
+PKG_VERSION:=1.5.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird
-PKG_MD5SUM:=a8e5e0a9129ce30fe6102c593bafb763
+PKG_MD5SUM:=330bde6372afa106abfe5a9737e471c1
 PKG_BUILD_DEPENDS:=libncurses libreadline
+PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
+
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk
@@ -161,6 +163,8 @@ endef
 
 CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
 
+TARGET_CFLAGS+=-std=gnu89
+
 define Build/Template
 
 $(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
index 9f2e937bc55ebad8f87297dd714ded504e477c06..665956a58c42f00b6bd9ae96c9a37de0c971ad1e 100644 (file)
@@ -28,12 +28,12 @@ PKG_NAME:=bmx7
 
 PKG_SOURCE_PROTO:=git
 
+#PKG_SOURCE_URL:=file:///usr/src/bmx6/bmx6.git
 #PKG_SOURCE_URL:=git://bmx6.net/bmx6.git
 PKG_SOURCE_URL:=git://github.com/axn/bmx6.git
-#PKG_SOURCE_URL:=file:///home/neumann/bmx6/bmx6.git
 
-PKG_REV:=c893847b458294e4559b8523f3397fbee4b32a8f
-PKG_VERSION:=r2015080722
+PKG_REV:=60143a195478a98e73089566bbfde78cf193ed67
+PKG_VERSION:=r2016021505
 PKG_RELEASE:=4
 PKG_LICENSE:=GPL-2.0
 
@@ -47,12 +47,11 @@ include $(INCLUDE_DIR)/package.mk
 TARGET_CFLAGS += $(FPIC)
 
 MAKE_ARGS += \
-        EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=POLARSSL_1_3_4 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DDEBUG_MALLOC" \
+        EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=POLARSSL_1_3_4 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DNO_TRACE_FUNCTION_CALLS" \
         EXTRA_LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib " \
         GIT_REV="$(PKG_REV)" \
         CC="$(TARGET_CC)" \
         INSTALL_DIR="$(PKG_INSTALL_DIR)" \
-        STRIP="/bin/false" \
         build_all
 
 define Package/bmx7/Default
@@ -62,11 +61,11 @@ define Package/bmx7/Default
   TITLE:=BMX7 layer 3 routing daemon
   URL:=http://bmx6.net/
   MAINTAINER:=Axel Neumann <neumann@cgws.de>
-  DEPENDS:=+zlib +libpolarssl +kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun @!bmx6
+  DEPENDS:=+zlib +libpolarssl
 endef
 
 define Package/bmx7/description
-BMX7 layer 3 routing daemon supporting IPv6, and IPv4 over IPv6
+BMX7 routing daemon supporting securely-entrusted IPv6 (and IPv4in6) routing
 endef
 
 define Package/bmx7
@@ -92,16 +91,16 @@ define Package/bmx7-sms
   TITLE:=sms plugin
 endef
 
-#define Package/bmx7-quagga
-#  $(call Package/bmx7/Default)
-#  DEPENDS:=bmx7 +qmp-quagga @BROKEN
-#  TITLE:=bmx7 quagga plugin to redistribute/export routes (needs manet/bmx patched quagga 0.99.21)
-#endef
+define Package/bmx7-tun
+  $(call Package/bmx7/Default)
+  DEPENDS:=bmx7 +kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun
+  TITLE:=ipip-based tunnel plugin (recommended!)
+endef
 
 define Package/bmx7-table
   $(call Package/bmx7/Default)
-  DEPENDS:=bmx7
-  TITLE:=bmx7 table plugin to automatically announce routing-table routes via ip6ip tunnels
+  DEPENDS:=bmx7 +bmx7-tun
+  TITLE:=plugin to announce routes from tables via tunnels
 endef
 
 define Build/Configure
@@ -114,43 +113,55 @@ endef
 
 define Package/bmx7/install
        $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bmx6 $(1)/usr/sbin/bmx6
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bmx7 $(1)/usr/sbin/bmx7
+endef
+
+define Package/bmx7/postinst
+#!/bin/sh
+# # check if we are on real system
+if [ -z "$${IPKG_INSTROOT}" ]; then
+       if [ -f /etc/sysupgrade.conf ] && ! grep bmx7 /etc/sysupgrade.conf; then
+               echo /etc/bmx7 >> /etc/sysupgrade.conf
+        fi
+fi
 endef
 
+
 define Package/bmx7-uci-config/conffiles
-/etc/config/bmx6
+/etc/config/bmx7
 endef
 
 define Package/bmx7-uci-config/install
        $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/config $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_uci_config/bmx6_config.so $(1)/usr/lib/bmx6_config.so
-       $(INSTALL_BIN) ./files/etc/init.d/bmx6 $(1)/etc/init.d/bmx6
-       $(INSTALL_DATA) ./files/etc/config/bmx6 $(1)/etc/config/bmx6
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx7_uci_config/bmx7_config.so $(1)/usr/lib/bmx7_config.so
+       $(INSTALL_BIN) ./files/etc/init.d/bmx7 $(1)/etc/init.d/bmx7
+       $(INSTALL_DATA) ./files/etc/config/bmx7 $(1)/etc/config/bmx7
 endef
 
 define Package/bmx7-json/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_json/bmx6_json.so $(1)/usr/lib/bmx6_json.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx7_json/bmx7_json.so $(1)/usr/lib/bmx7_json.so
 endef
 
 define Package/bmx7-sms/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_sms/bmx6_sms.so $(1)/usr/lib/bmx6_sms.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx7_sms/bmx7_sms.so $(1)/usr/lib/bmx7_sms.so
+endef
+
+define Package/bmx7-tun/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx7_tun/bmx7_tun.so $(1)/usr/lib/bmx7_tun.so
 endef
 
 define Package/bmx7-table/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_table/bmx6_table.so $(1)/usr/lib/bmx6_table.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx7_table/bmx7_table.so $(1)/usr/lib/bmx7_table.so
 endef
 
-#define Package/bmx7-quagga/install
-#      $(INSTALL_DIR) $(1)/usr/lib
-#      $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_quagga/bmx6_quagga.so $(1)/usr/lib/bmx6_quagga.so
-#endef
 
 $(eval $(call BuildPackage,bmx7))
 $(eval $(call BuildPackage,bmx7-uci-config))
 $(eval $(call BuildPackage,bmx7-json))
 $(eval $(call BuildPackage,bmx7-sms))
-#$(eval $(call BuildPackage,bmx7-quagga))
 $(eval $(call BuildPackage,bmx7-table))
+$(eval $(call BuildPackage,bmx7-tun))
diff --git a/bmx7/files/etc/config/bmx6 b/bmx7/files/etc/config/bmx6
deleted file mode 100644 (file)
index 5f7af9d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-
-# for more information:
-# http://bmx6.net/projects/bmx6/wiki
-# options execute: bmx6 --help
-
-config 'bmx6' 'general'
-#       option 'runtimeDir' '/var/run/bmx6'
-
-
-#config 'plugin'
-#        option 'plugin' 'bmx6_config.so'
-
-#config 'plugin'
-#        option 'plugin' 'bmx6_json.so'
-
-#config 'plugin'
-#        option 'plugin' 'bmx6_table.so'
-
-#config 'plugin'
-#        option 'plugin' 'bmx6_sms.so'
-
-
-config 'dev' 'mesh_1'
-        option 'dev' 'br-lan'
-
-config 'dev' 'mesh_2'
-        option 'dev' 'wlan0'
-
-config 'tunDev' default
-        option 'tunDev' 'default'
-        option 'tun6Address' '2012:0:0:6666::1/64'
-        option 'tun4Address' '10.66.66.1/24'
-
-
-#config 'tunOut'
-#        option 'tunOut' 'ip6'
-#        option 'network' '2012::/16'
-#        option 'exportDistance' '0'
-
-#config 'tunOut'
-#        option 'tunOut' 'ip4'
-#        option 'network' '10.0.0.0/9'
-#        option 'minPrefixLen' '27'
-
-
-
-
-
diff --git a/bmx7/files/etc/config/bmx7 b/bmx7/files/etc/config/bmx7
new file mode 100644 (file)
index 0000000..7593ede
--- /dev/null
@@ -0,0 +1,54 @@
+
+# for more information:
+# http://bmx6.net/projects/bmx6/wiki
+# options execute: bmx7 --help
+
+config 'bmx7' 'general'
+#       option 'runtimeDir' '/var/run/bmx7'
+#      option 'trustedNodesDir' '/etc/bmx7/trustedNodes'
+
+#config 'plugin'
+#        option 'plugin' 'bmx7_config.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx7_json.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx7_sms.so'
+
+
+config 'dev' 'mesh_1'
+        option 'dev' 'br-lan'
+
+config 'dev' 'mesh_2'
+        option 'dev' 'wlan0'
+
+
+
+#config 'plugin'
+#        option 'plugin' 'bmx7_tun.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx7_table.so'
+
+
+#config 'tunDev' default
+#        option 'tunDev' 'default'
+#        option 'tun6Address' '2012:0:0:6666::1/64'
+#        option 'tun4Address' '10.66.66.1/24'
+
+
+#config 'tunOut'
+#        option 'tunOut' 'ip6'
+#        option 'network' '2012::/16'
+#        option 'exportDistance' '0'
+
+#config 'tunOut'
+#        option 'tunOut' 'ip4'
+#        option 'network' '10.0.0.0/9'
+#        option 'minPrefixLen' '27'
+
+
+
+
+
diff --git a/bmx7/files/etc/init.d/bmx6 b/bmx7/files/etc/init.d/bmx6
deleted file mode 100755 (executable)
index cb2d5b3..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh /etc/rc.common
-#    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
-#
-#    This program is free software; you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation; either version 2 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License along
-#    with this program; if not, write to the Free Software Foundation, Inc.,
-#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-#    The full GNU General Public License is included in this distribution in
-#    the file called "COPYING".
-
-START=91
-
-BIN=/usr/sbin/bmx6
-CONF=/etc/config/bmx6
-PID=/var/run/bmx6/pid
-
-
-start() {
-       cd /root/
-       while pgrep -f mac80211.sh ; do sleep 1; done
-       ulimit -c 20000
-       $BIN -f $CONF -d0 > /dev/null &
-}
-
-stop() {
-       start-stop-daemon -p $PID -K
-}
-
-restart() {
-       stop; sleep 3; start
-}
diff --git a/bmx7/files/etc/init.d/bmx7 b/bmx7/files/etc/init.d/bmx7
new file mode 100755 (executable)
index 0000000..6886739
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+#    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License along
+#    with this program; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#    The full GNU General Public License is included in this distribution in
+#    the file called "COPYING".
+
+START=91
+
+BIN=/usr/sbin/bmx7
+CONF=/etc/config/bmx7
+PID=/var/run/bmx7/pid
+
+
+start() {
+       cd /root/
+       while pgrep -f mac80211.sh ; do sleep 1; done
+       ulimit -c 20000
+       $BIN -f $CONF -d0 > /dev/null &
+}
+
+stop() {
+       start-stop-daemon -p $PID -K
+}
+
+restart() {
+       stop; sleep 3; start
+}
index 5d29dae43cc624e4cccf00bf4941bd47890fd4ff..794bd9e87fac73ea47f1863bc5fac75e43b9c37a 100644 (file)
@@ -1,7 +1,7 @@
-Index: bmx6-r2014112401/lib/bmx6_json/json.c
+Index: bmx7-r2014112401/lib/bmx7_json/json.c
 ===================================================================
---- bmx6-r2014112401.orig/lib/bmx6_json/json.c
-+++ bmx6-r2014112401/lib/bmx6_json/json.c
+--- bmx7-r2014112401.orig/lib/bmx7_json/json.c
++++ bmx7-r2014112401/lib/bmx7_json/json.c
 @@ -27,7 +27,7 @@
  #include <unistd.h>
  #include <fcntl.h>
index 36772cd0c423524b0dc1a234af98a6baa48aebc3..a81b49144cfe66598ccbddcd68088c09ffa49edf 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cjdns
-PKG_VERSION:=0.16
-PKG_RELEASE:=15
+PKG_VERSION:=0.17
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://github.com/hyperboria/cjdns.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=951581191997db0188b56d8b21c5216f7e6e2ee1
+PKG_SOURCE_VERSION:=40e87d9419c19063e772e39c7c59a8a8771c5ee8
 PKG_LICENSE:=GPL-3.0
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
@@ -38,7 +38,7 @@ define Package/cjdns
        TITLE:=Encrypted near-zero-conf mesh routing protocol
        URL:=https://github.com/hyperboria/cjdns
        MAINTAINER:=Lars Gierth <larsg@systemli.org>
-       DEPENDS:=+kmod-tun +kmod-ipv6 +libnl-tiny +libpthread +librt \
+       DEPENDS:=@IPV6 +kmod-tun +libnl-tiny +libpthread +librt \
                +libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2
 endef
 
@@ -66,7 +66,7 @@ endef
 define Build/Configure
 endef
 
-PKG_DO_VARS:=
+PKG_DO_VARS:=CJDNS_RELEASE_VERSION=$(PKG_SOURCE_VERSION)
 
 ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER),y)
 PKG_DO_VARS+= Seccomp_NO=1
index 03e3fb93e547c101f90da82cddecafa42b3b2084..89953f473c1c938a3cb9d33f6738fb70003312a7 100644 (file)
@@ -7,8 +7,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hnetd
-PKG_SOURCE_VERSION:=a6b4b6f1f5d38646fa11064cf7394719e048bc87
-PKG_VERSION:=2015-07-28-$(PKG_SOURCE_VERSION)
+PKG_SOURCE_VERSION:=a67835f479ca9d756128c3554e8d4c21feb03b1f
+PKG_VERSION:=2015-09-29-$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
@@ -54,7 +54,7 @@ define Package/hnet-full
   # Routing
   DEPENDS+=+babeld
   # Service discovery
-  DEPENDS+=+ohybridproxy
+  DEPENDS+=+ohybridproxy +zonestitcher
   # Distributed PCP support
   DEPENDS+=+miniupnpd +minimalist-pcproxy
 endef
@@ -68,7 +68,7 @@ define Package/hnet-full-secure
   # Routing
   DEPENDS+=+babeld
   # Service discovery
-  DEPENDS+=+ohybridproxy
+  DEPENDS+=+ohybridproxy +zonestitcher
   # Distributed PCP support
   DEPENDS+=+miniupnpd +minimalist-pcproxy
 endef
@@ -82,7 +82,7 @@ define Package/hnet-full-l2tp
   # Routing
   DEPENDS+=+babeld
   # Service discovery
-  DEPENDS+=+ohybridproxy
+  DEPENDS+=+ohybridproxy +zonestitcher
   # Distributed PCP support
   DEPENDS+=+miniupnpd +minimalist-pcproxy
 endef
@@ -115,11 +115,14 @@ define Package/hnetd-$(BUILD_VARIANT)/install
        $(INSTALL_BIN) ./files/hnetd.init $(1)/etc/init.d/hnetd
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_DATA) ./files/hnet.config $(1)/etc/config/hnet
-       $(INSTALL_BIN) ./files/ohp-script $(1)/usr/sbin/hnetd-ohp-script
-       $(INSTALL_BIN) ./files/pcp-script $(1)/usr/sbin/hnetd-pcp-script
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/ohp.script $(1)/usr/sbin/hnetd-ohp-script
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/ddz.script $(1)/usr/sbin/hnetd-ddz-script
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/pcp.script $(1)/usr/sbin/hnetd-pcp-script
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/hnetd-routing $(1)/usr/sbin/hnetd-routing
        $(INSTALL_DIR) $(1)/etc/uci-defaults
        $(INSTALL_BIN) ./files/hnetd.defaults $(1)/etc/uci-defaults/x-hnetd.defaults
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/multicast.script $(1)/usr/sbin/hnet-multicast
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/openwrt/autowifi.script $(1)/usr/sbin/autowifi
 endef
 
 define Package/hnet-full/install
index 6ac396f769a99922e50e3a2c49369071004a671d..aba765f734529da7d03f9828195134377fbbcf2e 100644 (file)
@@ -18,3 +18,11 @@ config pa pa
 config sd sd
 #      option router_name openwrt
 #      option domain_name home.
+
+
+# Wifi allows for very basic wifi autoconfiguration
+# Warning: This feature is unstable
+config wifi wifi
+#      option enable 0
+#       option ssid ssidtest
+#       option password test
index 8dc7871a3b4f58f20567e00e33cff58de13d46fc..5ca7388fdc6bd0d5ad6040134b63826df8aa6e11 100644 (file)
@@ -1,7 +1,12 @@
 #!/bin/sh
 
+# Why we tune dnsmasq?
+# localservice=0 => other hnetd instances can query for local names
+# boguspriv=0 => allow reverse resolution of RFC1918 w/o local hosts entries
+
 uci batch <<EOF
 set dhcp.odhcpd.maindhcp=1
 set dhcp.@dnsmasq[0].localservice=0
+set dhcp.@dnsmasq[0].boguspriv=0
 commit dhcp
 EOF
index 6b98b8c790b6dc269e3263a5bcb24c33a5757ad6..3ca2c2e063cfe7a10f011cb2b33f2096550b33c8 100644 (file)
@@ -12,8 +12,12 @@ DNSMASQ_DIR=/tmp/dnsmasq.d
 DNSMASQ_SCRIPT=/etc/init.d/dnsmasq
 OHP_SCRIPT=/usr/sbin/hnetd-ohp-script
 OHP_BINARY=/usr/sbin/ohybridproxy
+DDZ_SCRIPT=/usr/sbin/hnetd-ddz-script
+DDZ_BINARY=/usr/sbin/zonestitcher
 PCP_SCRIPT=/usr/sbin/hnetd-pcp-script
 PCP_BINARY=/usr/sbin/minimalist-pcproxy
+MULTICAST_SCRIPT=/usr/sbin/hnet-multicast
+WIFI_SCRIPT=/usr/sbin/autowifi
 
 start_service() {
     . /lib/functions.sh
@@ -36,6 +40,27 @@ start_service() {
         then
             procd_append_param command -n "$HOSTNAME"
         fi
+        if [ -f $DDZ_BINARY ]
+        then
+            procd_append_param command -z $DDZ_SCRIPT
+        fi
+    fi
+       
+    # Enable multicast if present and installed
+    if [ -f "$MULTICAST_SCRIPT" ]
+    then
+        $MULTICAST_SCRIPT status && procd_append_param command -M "$MULTICAST_SCRIPT"
+    fi
+
+    config_get enableval wifi enable
+    if [ -f "$WIFI_SCRIPT" -a "$enableval" = "1" ]; then
+        wifiopt=$WIFI_SCRIPT
+        config_get ssidval wifi ssid
+        config_get passval wifi password
+        if [ -n "$ssidval" -a -n "$passval"  ]; then
+            wifiopt=${wifiopt},${ssidval}:${passval}
+        fi
+        procd_append_param command -w "$wifiopt"
     fi
 
     # Enable PCP, if it's present
diff --git a/hnetd/files/ohp-script b/hnetd/files/ohp-script
deleted file mode 100644 (file)
index aebaa1d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh 
-#-*-sh-*-
-#
-# $Id: ohp-script $
-#
-# Author: Markus Stenberg <mstenber@cisco.com>
-#
-# Copyright (c) 2014 cisco Systems, Inc.
-#
-# Created:       Fri Jan 17 11:46:30 2014 mstenber
-# Last modified: Mon Feb  3 14:39:15 2014 mstenber
-# Edit time:     15 min
-#
-
-# This is minimalist init.d-like start/stop script for
-# ohybridproxy. However, as ohybridproxy receives it's configuration
-# via command line, the 'start' command is also equivalent to
-# 'restart', and has bunch of extra arguments..
-
-OHP=ohybridproxy
-
-start() {
-    $OHP $* &
-}
-
-stop() {
-    killall -9 $OHP
-}
-
-
-CMD=$1
-# For debugging purposes
-LOGNAME=`basename $0`
-echo "$*" | logger -t "$LOGNAME"
-case $CMD in
-  start)
-    shift
-    stop
-    start $*
-    ;;
-  stop)
-  stop
-    ;;
-  *)
-    echo "Only start [config]/stop supported"
-    exit 1
-  ;;
-esac
diff --git a/hnetd/files/pcp-script b/hnetd/files/pcp-script
deleted file mode 100644 (file)
index 88648d2..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-#-*-sh-*-
-#
-# $Id: pcp-script $
-#
-# Author: Markus Stenberg <mstenber@cisco.com>
-#
-# Copyright (c) 2014 cisco Systems, Inc.
-#
-# Created:       Fri Jan 17 11:46:30 2014 mstenber
-# Last modified: Fri May 30 13:27:57 2014 mstenber
-# Edit time:     16 min
-#
-
-# Copied from ohp-script.. Same idea. Just prod minimalist-pcproxy as
-# needed, hoping the miniupnpd is taken care of by the system.
-
-PCP=minimalist-pcproxy
-
-start() {
-    $PCP $* &
-}
-
-stop() {
-    killall -9 $PCP
-}
-
-
-CMD=$1
-# For debugging purposes
-LOGNAME=`basename $0`
-echo "$*" | logger -t "$LOGNAME"
-case $CMD in
-  start)
-    shift
-    stop
-    start $*
-    ;;
-  stop)
-  stop
-    ;;
-  *)
-    echo "Only start [config]/stop supported"
-    exit 1
-  ;;
-esac
index dfe9ab1f393453fee018bd88f044bbe1719ee946..a4a8e438ef5d63acafb2458f18ffc1afbdee8f8e 100644 (file)
@@ -112,12 +112,16 @@ function wget(url, timeout)
        if pid == 0 then
                rfd:close()
                nixio.dup(wfd, nixio.stdout)
-
-               local candidates = { "/usr/bin/wget", "/bin/wget" }
+               -- candidates for wget, try first ones with SSL support
+               local candidates = {{"/usr/bin/wget-ssl",1},{"/usr/bin/wget",0},{"/bin/wget",0}}
                local _, bin
                for _, bin in ipairs(candidates) do
-                       if nixiofs.access(bin, "x") then
-                               nixio.exec(bin, "-q", "-O", "-", url)
+                       if nixiofs.access(bin[1], "x") then
+                               if bin[2] == 0 then
+                                       nixio.exec(bin[1], "-q", "-O", "-", url)
+                               else
+                                       nixio.exec(bin[1], "--no-check-certificate", "-q", "-O", "-", url)
+                               end
                        end
                end
                return
index d4e0745aa668058e2976ac669e132455eb5ebe6a..8ff35202f5f9536f0f28b42226f82b312f6cc182 100644 (file)
@@ -27,7 +27,8 @@ m = Map("bmx6", "bmx6")
 -- Getting json and Checking if bmx6-json is avaiable
 local options = bmx6json.get("options")
 if options == nil or options.OPTIONS == nil then
-        m.message = "bmx6-json plugin is not running or some mistake in luci-bmx6 configuration, check /etc/config/luci-bmx6"
+       m.message = "bmx6-json plugin is not running or some mistake in luci-bmx6 configuration, check /etc/config/luci-bmx6"
+       return m
 else
        options = options.OPTIONS
 end
index 18229267ef42e971c61adbd0a2c77f9137f00143..1000929e04fc772d086bb0c5f33cc32a034ec493 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miniupnpd
-PKG_VERSION:=1.9.20150609
+PKG_VERSION:=1.9.20151212
 PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=http://miniupnp.free.fr/files
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=01ee891286683891240a29b7272d790e
+PKG_MD5SUM:=86465b35f711ca9982d48b34c094033a
 
 PKG_MAINTAINER:=Markus Stenberg <fingon@iki.fi>
 PKG_LICENSE:=BSD-3-Clause
index 0712fa9ef130af71b93166d506d86a88f6fcebf8..1fa0c792d49c2545b122d88818fd8a48b7d28089 100755 (executable)
@@ -69,13 +69,13 @@ setup_user_authentication() {
 
   config_get val "$cfg" username
   if [ -n "$val" ] ; then
-    echo "UsernameAuthentication" >> $CONFIGFILE
+    echo "UsernameAuthentication 1" >> $CONFIGFILE
     echo "Username $val" >> $CONFIGFILE
   fi
 
   config_get val "$cfg" password
   if [ -n "$val" ] ; then
-    echo "PasswordAuthentication" >> $CONFIGFILE
+    echo "PasswordAuthentication 1" >> $CONFIGFILE
     echo "Password $val" >> $CONFIGFILE
   fi
 }
index 1d968046a277a094a099c9408d480c307c0431d4..fd99c3e9947f29835d22d3fe9fbe907ae27b5e3b 100644 (file)
@@ -7,8 +7,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ohybridproxy
-PKG_SOURCE_VERSION:=f2ba152799c481471ddc0213b3f98b1c143d97a3
-PKG_VERSION:=2015-01-12-$(PKG_SOURCE_VERSION)
+PKG_SOURCE_VERSION:=b14767d48225aad9ea56ff3e5d6883550e0cf249
+PKG_VERSION:=2015-09-29-$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
@@ -51,3 +51,24 @@ define Package/ohybridproxy/install
 endef
 
 $(eval $(call BuildPackage,ohybridproxy))
+
+define Package/zonestitcher
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=IP Addresses and Names
+  TITLE:=dynamically combine multiple DNS zones into one
+  URL:=https://github.com/sbyx/ohybridproxy
+  DEPENDS+=+libubox
+endef
+
+define Package/zonestitcher/description
+ This package provides a statically configured daemon for translating DNS
+ requests to Multicast DNS and back again.
+endef
+
+define Package/zonestitcher/install
+       $(INSTALL_DIR) $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/zonestitcher $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,zonestitcher))
index 4e8c7b0de4a16d0bb95969a7b8ba55340a291365..e6f85f7638800af1335ad64b0f59223e88910137 100644 (file)
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2009-2012 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,13 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=olsrd
-PKG_VERSION:=0.9.0.2
-PKG_RELEASE:=4
+PKG_VERSION:=0.9.0.3
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.olsr.org/releases/0.9
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/OLSR/olsrd.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=v0.9.0.3
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_MIRROR_MD5SUM:=
 
-PKG_MD5SUM:=8a2675c33990706cc291b59934024783
 PKG_BUILD_PARALLEL:=1
 PKG_LICENSE:=BSD-3-Clause
 
index 3ced9118197176adfb50ab7f855dcff9dd29c191..43c7e67311cd488a3edd965bf9a6a159d2030a28 100644 (file)
@@ -397,7 +397,7 @@ olsrd_write_olsrd() {
        [ "$OLSRD_COUNT" -gt 0 ] && return 0
 
        config_get ipversion "$cfg" IpVersion
-       if [ "$UCI_CONF_NAME" == "olsrd6" ]; then
+       if [ "$UCI_CONF_NAME" = "olsrd6" ]; then
                OLSRD_OLSRD_SCHEMA="$OLSRD_OLSRD_SCHEMA IpVersion=6"
                if [ "$ipversion" = "6and4" ]; then
                        error "IpVersion 6and4 not supported in olsrd6"
@@ -703,21 +703,29 @@ olsrd_setup_smartgw_rules() {
        IP6T=$(which ip6tables)
 
        # Delete smartgw firewall rules first
-       for IPT in $IP4T $IP6T; do
-               while $IPT -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done
+       if [ "$UCI_CONF_NAME" = "olsrd6" ]; then
+               while $IP6T -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done
                for IFACE in $wanifnames; do
-                       while $IPT -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done
+                       while $IP6T -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done
                done
                for IFACE in $ifsglobal; do
-                       while $IPT -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done
+                       while $IP6T -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done
                done
-       done
-       while $IP4T -t nat -D postrouting_rule -o tnl_+ -j MASQUERADE 2> /dev/null; do :;done
+       else
+               while $IP4T -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done
+               for IFACE in $wanifnames; do
+                       while $IP4T -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done
+               done
+               for IFACE in $ifsglobal; do
+                       while $IP4T -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done
+               done
+               while $IP4T -t nat -D postrouting_rule -o tnl_+ -j MASQUERADE 2> /dev/null; do :;done
+       fi
 
-       if [ "$smartgateway" == "yes" ]; then
+       if [ "$smartgateway" = "yes" ]; then
                log "$funcname() Notice: Inserting firewall rules for SmartGateway"
-               if [ ! "$smartgatewayuplink" == "none" ]; then
-                       if [ "$smartgatewayuplink" == "ipv4" ]; then
+               if [ ! "$smartgatewayuplink" = "none" ]; then
+                       if [ "$smartgatewayuplink" = "ipv4" ]; then
                                # Allow everything to be forwarded to tnl_+ and use NAT for it
                                $IP4T -I forwarding_rule -o tnl_+ -j ACCEPT
                                $IP4T -t nat -I postrouting_rule -o tnl_+ -j MASQUERADE
@@ -731,7 +739,7 @@ olsrd_setup_smartgw_rules() {
                                for IFACE in $ifsglobal; do
                                        $IP4T -I input_rule -i $IFACE -p 4 -j ACCEPT
                                done
-                       elif [ "$smartgatewayuplink" == "ipv6" ]; then
+                       elif [ "$smartgatewayuplink" = "ipv6" ]; then
                                $IP6T -I forwarding_rule -o tnl_+ -j ACCEPT
                                if [ "$nowan"="0" ]; then
                                        for IFACE in $wanifnames; do
diff --git a/pimbd/Makefile b/pimbd/Makefile
new file mode 100644 (file)
index 0000000..55aec74
--- /dev/null
@@ -0,0 +1,48 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pimbd
+PKG_SOURCE_VERSION:=68f5fc803119e4b33a88b35c096f4d6ac28b6de5
+PKG_VERSION:=2015-08-18-$(PKG_SOURCE_VERSION)
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/Oryon/pimbd.git
+PKG_MAINTAINER:=Pierre Pfister <pierre.pfister@darou.fr>
+PKG_LICENSE:=Apache-2.0
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+# Spammy debug builds for now
+CMAKE_OPTIONS += -DL_LEVEL=7
+
+define Package/pimbd
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=PIM BIDIR daemon
+  URL:=https://github.com/Oryon/pimbd.git
+  DEPENDS+=+@IPV6
+  DEPENDS+=netifd
+endef
+
+define Package/pimbd/description
+This package provides a daemon which implements the Protocol Independent
+Multicast BIDIR routing protocol. Note that a routing protocol must be 
+installed and running in order for PIM to function.
+endef
+
+define Package/pimbd/install
+       $(INSTALL_DIR) $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/pimbd $(1)/usr/sbin/pimbd
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/pimbc.sh $(1)/usr/sbin/pimbc
+       ln -s pimbd $(1)/usr/sbin/pimb-ipc
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/pimbd.init $(1)/etc/init.d/pimbd
+       $(INSTALL_DIR) $(1)/etc/uci-defaults
+       $(INSTALL_BIN) files/firewall-uci.sh $(1)/etc/uci-defaults/99_pimbd_firewall
+endef
+
+$(eval $(call BuildPackage,pimbd))
diff --git a/pimbd/files/firewall-uci.sh b/pimbd/files/firewall-uci.sh
new file mode 100644 (file)
index 0000000..5ee20b3
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+pim_rule () {
+uci -q batch <<-EOT
+       delete firewall.$1
+       set firewall.$1=rule
+       set firewall.$1.name='$2 multicast forward for $3'
+       set firewall.$1.src='*'
+       set firewall.$1.dest='*'
+       set firewall.$1.family='$2'
+       set firewall.$1.proto='udp'
+       set firewall.$1.dest_ip='$3'
+       set firewall.$1.target='ACCEPT'
+EOT
+}
+
+pim_rule pimbd4 ipv4 224.0.0.0/4
+pim_rule pimbd6 ipv6 ff00::/8
+uci commit firewall
+
+exit 0
+
diff --git a/pimbd/files/pimbd.init b/pimbd/files/pimbd.init
new file mode 100644 (file)
index 0000000..20b27bd
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh /etc/rc.common
+
+START=90
+STOP=10
+USE_PROCD=1
+
+start_service() {
+    . /lib/functions.sh
+    . /lib/functions/network.sh
+    config_load pimb
+
+    procd_open_instance
+    procd_set_param command /usr/sbin/pimbd
+    procd_append_param command -S
+    procd_append_param command -L 6
+
+    procd_set_param respawn
+    procd_close_instance
+}
+
+