diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile index c17d807..8852790 100644 --- a/src/packages/fff/fff-hoods/Makefile +++ b/src/packages/fff/fff-hoods/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-hoods -PKG_RELEASE:=17 +PKG_RELEASE:=18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -22,6 +22,7 @@ define Package/$(PKG_NAME) +fff-web-hood \ +fff-wireless \ +jshn \ + +owipcalc \ +@BUSYBOX_CONFIG_WGET \ +@BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT endef diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 1e6745f..e25db2e 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -189,12 +189,13 @@ if [ -s "$hoodfiletmp" ]; then json_get_var prefix ula_prefix # Set $prefix::MAC as IP if [ -n "$prefix" ] ; then - prefix="$(echo "$prefix" | sed -e 's,\\,,')" - mac="$(cat "/sys/class/net/br-client/address")" - addr="$(ipMacAssemble "$prefix" "$mac")" - addr="$(ipTidyColon "$addr")" - addr_eui="$(ipEUIAssemble "$prefix" "$mac")" - addr_eui="$(ipTidyColon "$addr_eui")" + # remove escape character + prefix=$(echo "$prefix" | sed -e 's,\\,,') + # create proper prefix + prefix=$(echo "$prefix" | sed -e 's,/,:/,') + mac=$(cat "/sys/class/net/br-client/address") + addr=$(owipcalc "$prefix" add "::$(ipMacSuffix "$mac")") + addr_eui=$(owipcalc "$prefix" add "::$(ipEUISuffix "$mac")") for ip in $(ip -6 addr show dev br-client | grep inet6 | grep -v -e " $addr" -e " $addr_eui" -e " fe80::" -e " fdff::" | cut -f6 -d " "); do ip -6 addr del "$ip" dev br-client done diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-network/Makefile index 0122a9a..dc1a70d 100644 --- a/src/packages/fff/fff-network/Makefile +++ b/src/packages/fff/fff-network/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-network -PKG_RELEASE:=27 +PKG_RELEASE:=28 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -12,7 +12,10 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:=Freifunk-Franken network configuration URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-boardname +fff-firewall + DEPENDS:= \ + +owipcalc \ + +fff-boardname \ + +fff-firewall endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network index 06a6a84..e17426a 100644 --- a/src/packages/fff/fff-network/files/lib/functions/fff/network +++ b/src/packages/fff/fff-network/files/lib/functions/fff/network @@ -29,62 +29,6 @@ ipEUISuffix() { return 0 } -ipAssemble() { - # Concatenates a prefix (1st argument) and a suffix (2nd argument) to a merged IPv6 address - # (The prefix has to bear the subnet: fdff::/64) - # (The prefix must only contain the higher 64 bits (correct: 0:0:0:0: or 0:: - wrong: 0:0:0:0::) - - [ $# -ne "2" ] && return 1 - - local prefix=$1 - local suffix=$2 - - echo "$prefix" | sed -e 's,/,'$suffix'/,' - return 0 -} - -ipMacAssemble() { - # Concatenates a prefix (1st argument) and a MAC-based suffix (MAC address as 2nd argument) to a merged IPv6 address - # (Details on prefix: Check ipAssemble(), details on suffix: Check ipMacSuffix()) - - [ $# -ne "2" ] && return 1 - - local prefix=$1 - local mac=$2 - - suffix="$(ipMacSuffix "$mac")" - ipAssemble "$prefix" "$suffix" - return 0 -} - -ipEUIAssemble() { - # Concatenates a prefix (1st argument) and an EUI-based suffix (MAC address as 2nd argument) to a merged IPv6 address - # (Details on prefix: Check ipAssemble(), details on suffix: Check ipEUISuffix()) - - [ $# -ne "2" ] && return 1 - - local prefix=$1 - local mac=$2 - - suffix="$(ipEUISuffix "$mac")" - ipAssemble "$prefix" "$suffix" - return 0 -} - -ipTidyColon() { - # Collapses zeros to :: to yield short but valid IPv6 addresses - # - # Argument: IPv6 address to be shortened - - [ $# -ne "1" ] && return 1 - - local addr=$1 - - echo "$addr" | grep -q "::" || addr="$(echo "$addr" | sed -e 's,:[0:]*:,::,')" - echo "$addr" - return 0 -} - macFlipLocalBit() { # Returns given MAC-address with locally administered bit flipped # diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork index d683e7d..c8a8ecc 100755 --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork @@ -195,9 +195,9 @@ else ip -6 addr del $ip dev br-client done - prefix="fdff:0::/64" + prefix="fdff::/64" # Set $prefix::MAC as IP - addr="$(ipMacAssemble "$prefix" "$ROUTERMAC")" + addr=$(owipcalc "$prefix" add "::$(ipMacSuffix "$ROUTERMAC")") ip -6 addr add $addr dev br-client uci -q del network.globals @@ -207,12 +207,12 @@ else uci -q set network.client.proto=static # Set $prefix::1 as IP - addr="$(ipAssemble "$prefix" "1")" + addr=$(owipcalc "$prefix" add ::1) ip -6 addr add $addr dev br-client uci -q add_list network.client.ip6addr=$addr # Set $prefix::link-local as IP - addr="$(ipEUIAssemble "$prefix" "$ROUTERMAC")" + addr=$(owipcalc "$prefix" add "::$(ipEUISuffix "$ROUTERMAC")") ip -6 addr add $addr dev br-client uci -q add_list network.client.ip6addr=$addr diff --git a/src/packages/fff/fff-wireguard/Makefile b/src/packages/fff/fff-wireguard/Makefile index 01c9acd..5914fe9 100644 --- a/src/packages/fff/fff-wireguard/Makefile +++ b/src/packages/fff/fff-wireguard/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-wireguard -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-wireguard @@ -12,9 +12,11 @@ define Package/fff-wireguard CATEGORY:=Freifunk TITLE:=Freifunk-Franken wireguard URL:=https://www.freifunk-franken.de - DEPENDS:=+wireguard \ - +fff-network \ - +fff-babeld + DEPENDS:= \ + +owipcalc \ + +wireguard \ + +fff-babeld \ + +fff-network endef define Package/fff-wireguard/description diff --git a/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard b/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard index d95d522..7f7d38c 100644 --- a/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard +++ b/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard @@ -116,7 +116,7 @@ configure() { uci -q del network.$prefixname.addresses # add link local address - uci add_list network.$prefixname.addresses="$(ipEUIAssemble "fe80::/64" "$ROUTERMAC")" + uci add_list network.$prefixname.addresses="$(owipcalc "fe80::/64" add "::$(ipEUISuffix "$ROUTERMAC")")" # add peer_ip babel_add_peeraddr "network.$prefixname.addresses"