Compare commits
46 commits
Author | SHA1 | Date | |
---|---|---|---|
|
df8c26442f | ||
|
4c702f767f | ||
|
f90ed57970 | ||
|
728b929aa4 | ||
|
39052e5892 | ||
|
0971a6125c | ||
|
d3a9b90192 | ||
|
32bd3430a4 | ||
|
6691d80454 | ||
|
bebf00c2ae | ||
|
e5bbdfdb5d | ||
|
afb92c49db | ||
|
ef8b330e32 | ||
|
af3b4c09ed | ||
|
a4e873bf09 | ||
|
0cb0709373 | ||
|
c25f21dc6a | ||
|
3d00c57e50 | ||
|
36c02b0081 | ||
|
7f5f4476bd | ||
|
8cc4ec82e3 | ||
|
985f728b7d | ||
|
2b08a670a2 | ||
|
ba35c11afa | ||
|
355b5e6f1d | ||
|
c877f452b5 | ||
|
346d6f7559 | ||
|
ba24c852fb | ||
|
c4aec4eaee | ||
|
3f89fe6df3 | ||
|
ebddb7d986 | ||
|
6e8ed79937 | ||
|
4ba875f5cd | ||
|
f427c1023a | ||
|
dbdde1f30a | ||
|
22fb01a84f | ||
|
a108efaf18 | ||
|
6afc2a9358 | ||
|
a8a7797831 | ||
|
19f81f9635 | ||
|
21842c39d0 | ||
|
ac9a0cd277 | ||
|
075459e28e | ||
|
374d91b8ea | ||
|
2ca0605cf4 | ||
|
7290bd7618 |
25 changed files with 772 additions and 638 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,3 +1,2 @@
|
||||||
*~
|
|
||||||
info
|
info
|
||||||
sites/
|
sites
|
||||||
|
|
31
Makefile
Normal file
31
Makefile
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
sites: clean info sites/ffhh-nowe sites/ffhh-ost sites/ffhh-sued sites/ffhh-west
|
||||||
|
|
||||||
|
info: config/defaults.erb template/info.erb
|
||||||
|
erb -T- config/defaults.erb template/$@.erb >$@
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf sites
|
||||||
|
rm -f info
|
||||||
|
|
||||||
|
sites/%: config/%.erb
|
||||||
|
mkdir -p $@
|
||||||
|
cd $@ && $(MAKE) -f ../../Makefile site SITE=$(@F)
|
||||||
|
|
||||||
|
site: siteclean site.mk site.conf modules i18n
|
||||||
|
|
||||||
|
.PHONY: siteclean
|
||||||
|
siteclean:
|
||||||
|
rm -f site.mk site.conf modules
|
||||||
|
|
||||||
|
modules:
|
||||||
|
erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@
|
||||||
|
|
||||||
|
site.conf:
|
||||||
|
erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@
|
||||||
|
|
||||||
|
site.mk:
|
||||||
|
erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@
|
||||||
|
|
||||||
|
i18n:
|
||||||
|
ln -s ../../i18n
|
41
README.md
41
README.md
|
@ -1,44 +1,19 @@
|
||||||
#### How to build the Freifunk Hamburg Firmware
|
#### How to build the Freifunk Hamburg Firmware
|
||||||
|
|
||||||
In the next two commands replace GLUON_VERSION and SITE_VERSION with the actual version numbers.
|
git clone https://github.com/freifunk-gluon/gluon.git # Get the official Gluon repository
|
||||||
$ git clone -b GLUON_VERSION https://github.com/freifunk-gluon/gluon.git
|
cd gluon
|
||||||
$ git clone -b SITE_VERSION https://git.hamburg.ccc.de/freifunk/site-ffhh.git
|
git clone https://github.com/freifunkhamburg/site-ffhh.git site # Get the Freifunk Hamburg site repository
|
||||||
$ cd site-ffhh
|
cd site
|
||||||
|
make
|
||||||
To build the firmware into the subdirectory firmware:
|
cd ..
|
||||||
$ ./build.sh -g ../gluon -o firmware
|
make update # Get other repositories used by Gluon
|
||||||
|
make GLUON_SITEDIR=site/sites/ffhh # Build Gluon
|
||||||
The build.sh supports the argument -b if you wish to also build firmware images marked as broken in gluon.
|
|
||||||
|
|
||||||
Please see [the official Gluon repository](https://github.com/freifunk-gluon/gluon) for an in-depth explanation of the build process.
|
Please see [the official Gluon repository](https://github.com/freifunk-gluon/gluon) for an in-depth explanation of the build process.
|
||||||
|
|
||||||
|
|
||||||
#### Gluon versions used for specific Hamburg Freifunk Firmware builds
|
#### Gluon versions used for specific Hamburg Freifunk Firmware builds
|
||||||
|
|
||||||
- v2023.2.4.0: site-ffhh: v2023.2.4.0, gluon: v2023.2.4
|
|
||||||
- v2023.2.2.1: site-ffhh: v2023.2.2.0, gluon: v2023.2.2 (add mediatek-filogic Routers)
|
|
||||||
- v2023.2.2.0: site-ffhh: v2023.2.2.0, gluon: v2023.2.2
|
|
||||||
- v2023.1.2.0: site-ffhh: v2023.1.2.0, gluon: v2023.1.2
|
|
||||||
- v2022.1.4.0: site-ffhh: v2022.1.4.0, gluon: v2022.1.4
|
|
||||||
- v2022.1.3.0: site-ffhh: v2022.1.3.0, gluon: v2022.1.3 (nur experimental verteilt)
|
|
||||||
- v2021.1.2.0: site-ffhh: v2021.1.2.0, gluon: v2021.1.2
|
|
||||||
- v2021.1.1.0: site-ffhh: v2021.1.1.0, gluon: v2021.1.1
|
|
||||||
- v2020.2.3.0: site-ffhh: v2020.2.3.0, gluon: v2020.2.3
|
|
||||||
- v2020.2.2.0: site-ffhh: v2020.2.2.0, gluon: v2020.2.2
|
|
||||||
- v2020.1.4.0: site-ffhh: v2020.1.4.0, gluon: v2020.1.4
|
|
||||||
- v2020.1.3.0: site-ffhh: v2020.1.3.0, gluon: v2020.1.3
|
|
||||||
- v2019.1.2.0: site-ffhh: v2019.1.2.0, gluon: v2019.1.2
|
|
||||||
- v2018.2.3.0: site-ffhh: v2018.2.3.0, gluon: v2018.2.3
|
|
||||||
- v2018.2.1.0: site-ffhh: v2018.2.1.0, gluon: v2018.2.1
|
|
||||||
- v2018.1.4.2: site-ffhh: v2018.1.4.2, gluon: v2018.1.4
|
|
||||||
- v2018.1.4.1: site-ffhh: v2018.1.4.1, gluon: v2018.1.4
|
|
||||||
- v2018.1.4.0: site-ffhh: v2018.1.4.0, gluon: v2018.1.4
|
|
||||||
- v2018.1.3.0: site-ffhh: v2018.1.3.0, gluon: v2018.1.3
|
|
||||||
- v2018.1.1.0: site-ffhh: v2018.1.1.0, gluon: v2018.1.1
|
|
||||||
- v2018.1.0.0: site-ffhh: v2018.1.0.0, gluon: v2018.1 (never rolled out due to issues with the auto updater in gluon)
|
|
||||||
- 0.9.2: site-ffhh: v0.9.2, gluon: v2017.1.8
|
|
||||||
- 0.9.1: site-ffhh: v0.9.1, gluon: v2017.1.5
|
|
||||||
- 0.9.0: site-ffhh: 60f30382209ffc050baa82be9bad3622a1d88d5b, gluon: v2017.1.x (9295abcea7b016b0fe4b05c534ea0731b48ef593) (never rolled out due to 0.9.1)
|
|
||||||
- 0.8.6: v2016.2.7 Fix gw01-new key, add 3.ntp.services.ffhh to NTP servers, add Firmware signing keys for Alexander and Olli, remove old domain
|
- 0.8.6: v2016.2.7 Fix gw01-new key, add 3.ntp.services.ffhh to NTP servers, add Firmware signing keys for Alexander and Olli, remove old domain
|
||||||
- 0.8.5: v2016.2.7 Domain split, new package: ffho-ebtables-net-rules
|
- 0.8.5: v2016.2.7 Domain split, new package: ffho-ebtables-net-rules
|
||||||
- 0.8.4: v2016.2.7 (updated openwrt/package/network/services/dnsmasq/Makefile: PKG\_VERSION:=2.78 & PKG\_MD5SUM:=6d0241b72c79d2b510776ccc4ed69ca4)
|
- 0.8.4: v2016.2.7 (updated openwrt/package/network/services/dnsmasq/Makefile: PKG\_VERSION:=2.78 & PKG\_MD5SUM:=6d0241b72c79d2b510776ccc4ed69ca4)
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
GLUON_RELEASE="v2023.2.4.0"
|
|
||||||
targets="ath79-generic ath79-nand ath79-mikrotik bcm27xx-bcm2708 bcm27xx-bcm2709 ipq40xx-generic ipq40xx-mikrotik ipq806x-generic lantiq-xrx200 lantiq-xway mediatek-filogic mediatek-mt7622 mpc85xx-p1010 mpc85xx-p1020 ramips-mt7620 ramips-mt7621 ramips-mt76x8 rockchip-armv8 sunxi-cortexa7 x86-generic x86-geode x86-legacy x86-64"
|
|
||||||
broken_images=(
|
|
||||||
'*dir*615*d*'
|
|
||||||
)
|
|
196
build.sh
196
build.sh
|
@ -1,138 +1,102 @@
|
||||||
#!/usr/bin/env bash
|
#!/bin/bash -e
|
||||||
set -e
|
|
||||||
|
|
||||||
function announce () {
|
function announce () {
|
||||||
echo '############################' "$@" >&2
|
echo '############################' $* >&2
|
||||||
}
|
|
||||||
function usage () {
|
|
||||||
echo "Usage: $0 -g GLUON_PATH" >&2
|
|
||||||
echo " -g GLUON_PATH Path to a checkout of the gluon repository." >&2
|
|
||||||
echo " -t TARGETS Comma separated list of gluon targets to build" >&2
|
|
||||||
echo " -a Automatically detect and build all targets." >&2
|
|
||||||
echo " -o OUT_PATH Path to the firmware output directory. Default: ${gluon_out}" >&2
|
|
||||||
echo " -s SIGNATURE Sign firmware with signature" >&2
|
|
||||||
echo " -stable Set GLUON_AUTOUPDATER_BRANCH=stable" >&2
|
|
||||||
echo " -b BROKEN=1" >&2
|
|
||||||
echo " -v verbose" >&2
|
|
||||||
echo " -j JOBS Run build with -jJOBS. Default: ${proc}" >&2
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc=$(nproc)
|
proc=$(nproc)
|
||||||
gluon_out="${HOME}/firmware"
|
gluon_out="${HOME}/firmware"
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
while getopts g:j:l:o:s:u:bmv opt; do
|
||||||
case "$1" in
|
case "$opt" in
|
||||||
-a)
|
g) gluon_path="$OPTARG" ;;
|
||||||
auto_targets=1
|
l) sites="$OPTARG" ;;
|
||||||
;;
|
o) gluon_out="$OPTARG" ;;
|
||||||
-g)
|
s) signature="$OPTARG" ;;
|
||||||
gluon_path="$2"
|
u) uploadscript="$OPTARG" ;;
|
||||||
shift
|
b) export BROKEN=1 ;;
|
||||||
;;
|
m) dont_make_sites=1 ;;
|
||||||
-t)
|
j) proc="$OPTARG" ;;
|
||||||
build_targets="$2"
|
v) verbose=V=s ;;
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-o)
|
|
||||||
gluon_out="$2"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-s)
|
|
||||||
signature="$2"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-stable)
|
|
||||||
export GLUON_AUTOUPDATER_BRANCH=stable
|
|
||||||
;;
|
|
||||||
-b)
|
|
||||||
export BROKEN=1
|
|
||||||
;;
|
|
||||||
-j)
|
|
||||||
proc="$2"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-v)
|
|
||||||
verbose=V=s
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo ERROR: Failed to parse: "${1}" >&2
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
shift
|
|
||||||
done
|
done
|
||||||
|
if [ -z "${gluon_path}" ]; then
|
||||||
if [ -z "$gluon_path" ]; then
|
echo "Usage: $0 -g GLUON_PATH" >&2
|
||||||
usage
|
echo " -g GLUON_PATH Path to a checkout of the gluon repository." >&2
|
||||||
|
echo " -l SITES Comma separated list of sites to build" >&2
|
||||||
|
echo " -o OUT_PATH Path to the firmware output directory. Default: ${gluon_out}" >&2
|
||||||
|
echo " -s SIGNATURE Sign firmware with signature" >&2
|
||||||
|
echo " -u UPLOADSCRIPT Run UPLOADSCRIPT after building. Argument: $gluon_out/<GLUON_RELEASE>" >&2
|
||||||
|
echo " -b BROKEN=1" >&2
|
||||||
|
echo " -m Do not regenerate the sites" >&2
|
||||||
|
echo " -v verbose" >&2
|
||||||
|
echo " -j JOBS Run build with -jJOBS. Default: ${proc}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
gluon_path=$(realpath "$gluon_path")
|
gluon_path=$(realpath $gluon_path)
|
||||||
gluon_out=$(realpath "$gluon_out")
|
gluon_out=$(realpath $gluon_out)
|
||||||
site_path=$(realpath "$(dirname "${BASH_SOURCE[0]}")")
|
site_path=$(realpath $(dirname $BASH_SOURCE))
|
||||||
|
|
||||||
announce GLUON: "$gluon_path" >&2
|
announce GLUON: $gluon_path >&2
|
||||||
announce FFHH SITE PATH: "$site_path" >&2
|
announce FFHH SITE PATH: $site_path >&2
|
||||||
|
|
||||||
pushd "$site_path"
|
pushd $site_path
|
||||||
# shellcheck source=/dev/null
|
if [ "$dont_make_sites" == "" ]; then
|
||||||
. ./build.conf
|
# Build the site repo and generate all site configs
|
||||||
GLUON_AUTOUPDATER_BRANCH="${GLUON_AUTOUPDATER_BRANCH:-experimental}"
|
announce Building site repo and reading data >&2
|
||||||
[ "${GLUON_AUTOUPDATER_BRANCH}" = "experimental" ] && GLUON_RELEASE="${GLUON_RELEASE}~exp${BUILD_DATE:-$(date +%Y%m%d)}"
|
make
|
||||||
|
fi
|
||||||
|
. ./info
|
||||||
export GLUON_RELEASE
|
export GLUON_RELEASE
|
||||||
export GLUON_AUTOUPDATER_BRANCH
|
export GLUON_BRANCH
|
||||||
export GLUON_SITEDIR="${site_path}"
|
# get the available sites...
|
||||||
export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_AUTOUPDATER_BRANCH}"
|
sites="$(echo "$sites" | sed -e 's_,_ _g')"
|
||||||
|
if [ "$sites" == "" ]; then
|
||||||
|
for s in sites/*; do sites="${sites} ${s##*/}"; done
|
||||||
|
fi
|
||||||
|
announce Gluon will be built for the following sites:$sites >&2
|
||||||
|
announce The following targets will be generated: $targets >&2
|
||||||
popd
|
popd
|
||||||
|
|
||||||
announce GLUON Variables:
|
|
||||||
env | egrep '^GLUON' | sort
|
|
||||||
|
|
||||||
pushd "${gluon_path}"
|
pushd "${gluon_path}"
|
||||||
announce Starting make update...
|
announce Starting make update...
|
||||||
mkdir -p "${GLUON_OUTPUTDIR}"
|
for s in $sites; do
|
||||||
make update
|
export GLUON_SITEDIR="${site_path}/sites/${s}"
|
||||||
# Try to install patches. I wasn't able to figure out how patches in gluon/site/patches work.
|
export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_BRANCH}/${s}"
|
||||||
for p in "${site_path}"/patches/*.patch; do
|
export GLUON_IMAGEDIR="${GLUON_OUTPUTDIR}/images"
|
||||||
if [ -e "$p" ] && [ ! -f "${gluon_path}/${p##*/}" ]; then
|
export GLUON_MODULEDIR="${GLUON_OUTPUTDIR}/modules"
|
||||||
announce "Installing patch $p"
|
rm -rf "${GLUON_OUTPUTDIR}"
|
||||||
patch -p1 < "$p"
|
mkdir -p "${GLUON_IMAGEDIR}" "${GLUON_MODULEDIR}"
|
||||||
touch "${gluon_path}/${p##*/}"
|
make update
|
||||||
|
# Try to install patches. I wasn't able to figure out how patches in gluon/site/patches work.
|
||||||
|
for p in ${site_path}/patches/*.patch; do
|
||||||
|
if [ -e "$p" -a ! -f "${gluon_path}/${p##*/}" ]; then
|
||||||
|
announce Installing patch $p
|
||||||
|
patch -p1 < $p
|
||||||
|
touch "${gluon_path}/${p##*/}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for t in $targets; do
|
||||||
|
announce make clean for $s/$t... >&2
|
||||||
|
make -j1 clean GLUON_TARGET=$t
|
||||||
|
announce Starting build for $s/$t... >&2
|
||||||
|
make -j$(nproc) GLUON_TARGET=$t $verbose
|
||||||
|
done
|
||||||
|
announce Building manifest...
|
||||||
|
make manifest
|
||||||
|
if [ -n "${signature}" ]; then
|
||||||
|
if [ "$GLUON_BRANCH" == "experimental" ]; then
|
||||||
|
announce Signing
|
||||||
|
"${gluon_path}/contrib/sign.sh" "${signature}" "${GLUON_IMAGEDIR}/sysupgrade/experimental.manifest"
|
||||||
|
else
|
||||||
|
echo ERROR: can only sign experimental branch >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$auto_targets" = "1" ]; then
|
|
||||||
# detect available targets
|
|
||||||
targets="$(make list-targets | sort | xargs)"
|
|
||||||
else
|
|
||||||
# if a list of build targets has been supplied, only build those
|
|
||||||
targets="$(echo "${build_targets:-$targets}" | sed -e 's_,_ _g')"
|
|
||||||
fi
|
|
||||||
announce "The following targets will be generated: $targets" >&2
|
|
||||||
|
|
||||||
for t in $targets; do
|
|
||||||
announce "Starting build for $t..." >&2
|
|
||||||
make "-j$(nproc)" "GLUON_TARGET=$t" $verbose
|
|
||||||
done
|
|
||||||
# Remove known-broken images
|
|
||||||
# shellcheck disable=SC2154
|
|
||||||
for broken_image in "${broken_images[@]}"; do
|
|
||||||
announce "Removing broken image ${broken_image}..."
|
|
||||||
find "${GLUON_OUTPUTDIR}/images" -iname "${broken_image}" \( -type f -o -type l \) -ls -exec rm -f {} \;
|
|
||||||
done
|
|
||||||
# Generate the images.list
|
|
||||||
# shellcheck disable=SC2094
|
|
||||||
( cd "${GLUON_OUTPUTDIR}/images" && ( echo "RELEASE=${GLUON_RELEASE}"; find . -type f ! -iname '*.manifest' ! -iname images.list; find . -type l ! -iname '*.manifest' ) | sed -e 's!^\./\(.*\)$!\1!' -e 's!/! !g' | sort > images.list )
|
|
||||||
announce Building manifest...
|
|
||||||
make manifest
|
|
||||||
if [ -n "${signature}" ]; then
|
|
||||||
if [ "$GLUON_AUTOUPDATER_BRANCH" == "experimental" ]; then
|
|
||||||
announce Signing...
|
|
||||||
"${gluon_path}/contrib/sign.sh" "${signature}" "${GLUON_OUTPUTDIR}/images/sysupgrade/experimental.manifest"
|
|
||||||
else
|
|
||||||
echo ERROR: can only sign experimental branch >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
popd
|
popd
|
||||||
|
if [ -n "$uploadscript" ]; then
|
||||||
|
announce Starting upload. Executing: $uploadscript $gluon_out/$GLUON_RELEASE
|
||||||
|
"$uploadscript" "$gluon_out/$GLUON_RELEASE"
|
||||||
|
fi
|
||||||
|
|
59
config/defaults.erb
Normal file
59
config/defaults.erb
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<%
|
||||||
|
gluon_branch = "stable"
|
||||||
|
#gluon_branch = "experimental"
|
||||||
|
gluon_release = "0.8.6"
|
||||||
|
|
||||||
|
# Add the +exp and current date if this is an experimental release
|
||||||
|
gluon_release += "+exp" + Time.new.strftime("%Y%m%d") if gluon_branch == "experimental"
|
||||||
|
|
||||||
|
gluon_targets = %w(
|
||||||
|
ar71xx-generic
|
||||||
|
ar71xx-nand
|
||||||
|
mpc85xx-generic
|
||||||
|
x86-generic
|
||||||
|
x86-64
|
||||||
|
)
|
||||||
|
|
||||||
|
gluon_site_packages = %w(
|
||||||
|
gluon-autoupdater
|
||||||
|
gluon-config-mode-autoupdater
|
||||||
|
gluon-config-mode-core
|
||||||
|
gluon-config-mode-hostname
|
||||||
|
gluon-config-mode-mesh-vpn
|
||||||
|
gluon-config-mode-reboot-ffhh
|
||||||
|
gluon-ebtables-filter-multicast
|
||||||
|
gluon-ebtables-filter-ra-dhcp
|
||||||
|
gluon-ebtables-segment-mld
|
||||||
|
gluon-luci-admin
|
||||||
|
gluon-luci-autoupdater
|
||||||
|
gluon-luci-portconfig
|
||||||
|
gluon-luci-private-wifi
|
||||||
|
gluon-luci-wifi-config
|
||||||
|
gluon-next-node
|
||||||
|
gluon-mesh-vpn-fastd
|
||||||
|
gluon-radvd
|
||||||
|
gluon-respondd
|
||||||
|
gluon-setup-mode
|
||||||
|
gluon-status-page
|
||||||
|
iwinfo
|
||||||
|
iptables
|
||||||
|
haveged
|
||||||
|
ffho-ebtables-net-rules
|
||||||
|
)
|
||||||
|
|
||||||
|
gluon_ath10k_mesh = "11s"
|
||||||
|
|
||||||
|
signing_keys = [
|
||||||
|
'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', # leo
|
||||||
|
'3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', # andre
|
||||||
|
'1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', # gernot
|
||||||
|
'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', # bjoern
|
||||||
|
'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', # daniel
|
||||||
|
'961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', # alexander
|
||||||
|
'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', # olli
|
||||||
|
]
|
||||||
|
signing_keys_experimental = [
|
||||||
|
'1a0112fe489860068480c611c5dc56196c2f1a645db651ea2ed19ae0f0e8e1d1', # 1.builder
|
||||||
|
]
|
||||||
|
|
||||||
|
-%>
|
42
config/ffhh-nowe.erb
Normal file
42
config/ffhh-nowe.erb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<%
|
||||||
|
site_name = 'Freifunk Hamburg Nordwest'
|
||||||
|
site_code = 'ffhh-nowe'
|
||||||
|
|
||||||
|
gluon_site_packages += %w( gluon-mesh-batman-adv-15 )
|
||||||
|
gluon_ath10k_mesh = "11s"
|
||||||
|
|
||||||
|
prefix4 = '10.112.192.0/19'
|
||||||
|
prefix6 = '2a03:2267:3::/64'
|
||||||
|
|
||||||
|
next_node_ipv4 = '10.112.192.1'
|
||||||
|
next_node_ipv6 = '2a03:2267:3::1'
|
||||||
|
|
||||||
|
mtu = 1312
|
||||||
|
|
||||||
|
gateways = {
|
||||||
|
"gateway01" => {
|
||||||
|
"key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b",
|
||||||
|
"remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10007' ]
|
||||||
|
},
|
||||||
|
"gateway02" => {
|
||||||
|
"key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0",
|
||||||
|
"remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10007' ]
|
||||||
|
},
|
||||||
|
"gateway03" => {
|
||||||
|
"key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546",
|
||||||
|
"remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10007' ]
|
||||||
|
},
|
||||||
|
"gateway04" => {
|
||||||
|
"key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669",
|
||||||
|
"remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10008' ]
|
||||||
|
},
|
||||||
|
"gateway05" => {
|
||||||
|
"key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f",
|
||||||
|
"remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10008' ]
|
||||||
|
},
|
||||||
|
"gateway06" => {
|
||||||
|
"key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43",
|
||||||
|
"remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10008' ]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-%>
|
42
config/ffhh-ost.erb
Normal file
42
config/ffhh-ost.erb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<%
|
||||||
|
site_name = 'Freifunk Hamburg Ost'
|
||||||
|
site_code = 'ffhh-ost'
|
||||||
|
|
||||||
|
gluon_site_packages += %w( gluon-mesh-batman-adv-15 )
|
||||||
|
gluon_ath10k_mesh = "11s"
|
||||||
|
|
||||||
|
prefix4 = '10.112.224.0/19'
|
||||||
|
prefix6 = '2a03:2267:4::/64'
|
||||||
|
|
||||||
|
next_node_ipv4 = '10.112.224.1'
|
||||||
|
next_node_ipv6 = '2a03:2267:4::1'
|
||||||
|
|
||||||
|
mtu = 1312
|
||||||
|
|
||||||
|
gateways = {
|
||||||
|
"gateway01" => {
|
||||||
|
"key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b",
|
||||||
|
"remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10009' ]
|
||||||
|
},
|
||||||
|
"gateway02" => {
|
||||||
|
"key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0",
|
||||||
|
"remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10009' ]
|
||||||
|
},
|
||||||
|
"gateway03" => {
|
||||||
|
"key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546",
|
||||||
|
"remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10009' ]
|
||||||
|
},
|
||||||
|
"gateway04" => {
|
||||||
|
"key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669",
|
||||||
|
"remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10010' ]
|
||||||
|
},
|
||||||
|
"gateway05" => {
|
||||||
|
"key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f",
|
||||||
|
"remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10010' ]
|
||||||
|
},
|
||||||
|
"gateway06" => {
|
||||||
|
"key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43",
|
||||||
|
"remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10010' ]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-%>
|
42
config/ffhh-sued.erb
Normal file
42
config/ffhh-sued.erb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<%
|
||||||
|
site_name = 'Freifunk Hamburg Sued'
|
||||||
|
site_code = 'ffhh-sued'
|
||||||
|
|
||||||
|
gluon_site_packages += %w( gluon-mesh-batman-adv-15 )
|
||||||
|
gluon_ath10k_mesh = "11s"
|
||||||
|
|
||||||
|
prefix4 = '10.112.64.0/19'
|
||||||
|
prefix6 = '2a03:2267:1::/64'
|
||||||
|
|
||||||
|
next_node_ipv4 = '10.112.64.1'
|
||||||
|
next_node_ipv6 = '2a03:2267:1::1'
|
||||||
|
|
||||||
|
mtu = 1312
|
||||||
|
|
||||||
|
gateways = {
|
||||||
|
"gateway01" => {
|
||||||
|
"key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b",
|
||||||
|
"remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10003' ]
|
||||||
|
},
|
||||||
|
"gateway02" => {
|
||||||
|
"key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0",
|
||||||
|
"remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10003' ]
|
||||||
|
},
|
||||||
|
"gateway03" => {
|
||||||
|
"key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546",
|
||||||
|
"remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10003' ]
|
||||||
|
},
|
||||||
|
"gateway04" => {
|
||||||
|
"key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669",
|
||||||
|
"remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10004' ]
|
||||||
|
},
|
||||||
|
"gateway05" => {
|
||||||
|
"key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f",
|
||||||
|
"remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10004' ]
|
||||||
|
},
|
||||||
|
"gateway06" => {
|
||||||
|
"key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43",
|
||||||
|
"remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10004' ]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-%>
|
42
config/ffhh-west.erb
Normal file
42
config/ffhh-west.erb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<%
|
||||||
|
site_name = 'Freifunk Hamburg West'
|
||||||
|
site_code = 'ffhh-west'
|
||||||
|
|
||||||
|
gluon_site_packages += %w( gluon-mesh-batman-adv-15 )
|
||||||
|
gluon_ath10k_mesh = "11s"
|
||||||
|
|
||||||
|
prefix4 = '10.112.96.0/19'
|
||||||
|
prefix6 = '2a03:2267:2::/64'
|
||||||
|
|
||||||
|
next_node_ipv4 = '10.112.96.1'
|
||||||
|
next_node_ipv6 = '2a03:2267:2::1'
|
||||||
|
|
||||||
|
mtu = 1312
|
||||||
|
|
||||||
|
gateways = {
|
||||||
|
"gateway01" => {
|
||||||
|
"key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b",
|
||||||
|
"remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10005' ]
|
||||||
|
},
|
||||||
|
"gateway02" => {
|
||||||
|
"key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0",
|
||||||
|
"remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10005' ]
|
||||||
|
},
|
||||||
|
"gateway03" => {
|
||||||
|
"key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546",
|
||||||
|
"remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10005' ]
|
||||||
|
},
|
||||||
|
"gateway04" => {
|
||||||
|
"key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669",
|
||||||
|
"remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10006' ]
|
||||||
|
},
|
||||||
|
"gateway05" => {
|
||||||
|
"key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f",
|
||||||
|
"remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10006' ]
|
||||||
|
},
|
||||||
|
"gateway06" => {
|
||||||
|
"key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43",
|
||||||
|
"remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10006' ]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-%>
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
domain_names = {
|
|
||||||
ffhh_nowe = "Hamburg Nordwest",
|
|
||||||
},
|
|
||||||
domain_seed = '666668682D6E6F776548616D6275726748616D6275726748616D627572674861',
|
|
||||||
|
|
||||||
prefix4 = '10.112.192.0/19',
|
|
||||||
prefix6 = '2a03:2267:3::/64',
|
|
||||||
|
|
||||||
next_node = {
|
|
||||||
ip4 = '10.112.192.1',
|
|
||||||
ip6 = '2a03:2267:3::1',
|
|
||||||
mac = '16:41:95:40:f7:dc',
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi24 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D6E6F7765',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi5 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D6E6F7765',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh = {
|
|
||||||
vxlan = false,
|
|
||||||
batman_adv = {
|
|
||||||
routing_algo = "BATMAN_IV",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh_vpn = {
|
|
||||||
fastd = {
|
|
||||||
groups = {
|
|
||||||
backbone = {
|
|
||||||
peers = {
|
|
||||||
gateway01 = {
|
|
||||||
remotes = { '"gw01-new.hamburg.freifunk.net" port 10007' },
|
|
||||||
key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b',
|
|
||||||
},
|
|
||||||
gateway02 = {
|
|
||||||
remotes = { '"gw02-new.hamburg.freifunk.net" port 10007' },
|
|
||||||
key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0',
|
|
||||||
},
|
|
||||||
gateway03 = {
|
|
||||||
remotes = { '"gw03-new.hamburg.freifunk.net" port 10007' },
|
|
||||||
key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546',
|
|
||||||
},
|
|
||||||
gateway04 = {
|
|
||||||
remotes = { '"gw04-new.hamburg.freifunk.net" port 10008' },
|
|
||||||
key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669',
|
|
||||||
},
|
|
||||||
gateway05 = {
|
|
||||||
remotes = { '"gw05-new.hamburg.freifunk.net" port 10008' },
|
|
||||||
key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f',
|
|
||||||
},
|
|
||||||
gateway06 = {
|
|
||||||
remotes = { '"gw06-new.hamburg.freifunk.net" port 10008' },
|
|
||||||
key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
domain_names = {
|
|
||||||
ffhh_ost = "Hamburg Ost",
|
|
||||||
},
|
|
||||||
domain_seed = '666668682D6F737448616D6275726748616D6275726748616D6275726748616D',
|
|
||||||
|
|
||||||
prefix4 = '10.112.224.0/19',
|
|
||||||
prefix6 = '2a03:2267:4::/64',
|
|
||||||
|
|
||||||
next_node = {
|
|
||||||
ip4 = '10.112.224.1',
|
|
||||||
ip6 = '2a03:2267:4::1',
|
|
||||||
mac = '16:41:95:40:f7:dc',
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi24 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '666668682D6F7374',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi5 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '666668682D6F7374',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh = {
|
|
||||||
vxlan = false,
|
|
||||||
batman_adv = {
|
|
||||||
routing_algo = "BATMAN_IV",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh_vpn = {
|
|
||||||
fastd = {
|
|
||||||
groups = {
|
|
||||||
backbone = {
|
|
||||||
peers = {
|
|
||||||
gateway01 = {
|
|
||||||
remotes = { '"gw01-new.hamburg.freifunk.net" port 10009' },
|
|
||||||
key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b',
|
|
||||||
},
|
|
||||||
gateway02 = {
|
|
||||||
remotes = { '"gw02-new.hamburg.freifunk.net" port 10009' },
|
|
||||||
key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0',
|
|
||||||
},
|
|
||||||
gateway03 = {
|
|
||||||
remotes = { '"gw03-new.hamburg.freifunk.net" port 10009' },
|
|
||||||
key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546',
|
|
||||||
},
|
|
||||||
gateway04 = {
|
|
||||||
remotes = { '"gw04-new.hamburg.freifunk.net" port 10010' },
|
|
||||||
key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669',
|
|
||||||
},
|
|
||||||
gateway05 = {
|
|
||||||
remotes = { '"gw05-new.hamburg.freifunk.net" port 10010' },
|
|
||||||
key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f',
|
|
||||||
},
|
|
||||||
gateway06 = {
|
|
||||||
key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43',
|
|
||||||
remotes = { '"gw06-new.hamburg.freifunk.net" port 10010' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
domain_names = {
|
|
||||||
ffhh_sued = "Hamburg Süd",
|
|
||||||
},
|
|
||||||
domain_seed = '666668682D7375656448616D6275726748616D6275726748616D627572674861',
|
|
||||||
|
|
||||||
prefix4 = '10.112.64.0/19',
|
|
||||||
prefix6 = '2a03:2267:1::/64',
|
|
||||||
|
|
||||||
next_node = {
|
|
||||||
ip4 = '10.112.64.1',
|
|
||||||
ip6 = '2a03:2267:1::1',
|
|
||||||
mac = '16:41:95:40:f7:dc',
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi24 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D73756564',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi5 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D73756564',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh = {
|
|
||||||
vxlan = false,
|
|
||||||
batman_adv = {
|
|
||||||
routing_algo = "BATMAN_IV",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh_vpn = {
|
|
||||||
fastd = {
|
|
||||||
groups = {
|
|
||||||
backbone = {
|
|
||||||
peers = {
|
|
||||||
gateway01 = {
|
|
||||||
remotes = { '"gw01-new.hamburg.freifunk.net" port 10003' },
|
|
||||||
key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b',
|
|
||||||
},
|
|
||||||
gateway02 = {
|
|
||||||
key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0',
|
|
||||||
remotes = { '"gw02-new.hamburg.freifunk.net" port 10003' },
|
|
||||||
},
|
|
||||||
gateway03 = {
|
|
||||||
remotes = { '"gw03-new.hamburg.freifunk.net" port 10003' },
|
|
||||||
key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546',
|
|
||||||
},
|
|
||||||
gateway04 = {
|
|
||||||
remotes = { '"gw04-new.hamburg.freifunk.net" port 10004' },
|
|
||||||
key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669',
|
|
||||||
},
|
|
||||||
gateway05 = {
|
|
||||||
remotes = { '"gw05-new.hamburg.freifunk.net" port 10004' },
|
|
||||||
key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f',
|
|
||||||
},
|
|
||||||
gateway06 = {
|
|
||||||
remotes = { '"gw06-new.hamburg.freifunk.net" port 10004' },
|
|
||||||
key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
domain_names = {
|
|
||||||
ffhh_west = "Hamburg West",
|
|
||||||
},
|
|
||||||
domain_seed = '666668682D7765737448616D6275726748616D6275726748616D627572674861',
|
|
||||||
|
|
||||||
prefix4 = '10.112.96.0/19',
|
|
||||||
prefix6 = '2a03:2267:2::/64',
|
|
||||||
|
|
||||||
next_node = {
|
|
||||||
ip4 = '10.112.96.1',
|
|
||||||
ip6 = '2a03:2267:2::1',
|
|
||||||
mac = '16:41:95:40:f7:dc',
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi24 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D77657374',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi5 = {
|
|
||||||
ap = {
|
|
||||||
ssid = "hamburg.freifunk.net",
|
|
||||||
},
|
|
||||||
mesh = {
|
|
||||||
id = '6668682D77657374',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh = {
|
|
||||||
vxlan = false,
|
|
||||||
batman_adv = {
|
|
||||||
routing_algo = "BATMAN_IV",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh_vpn = {
|
|
||||||
fastd = {
|
|
||||||
groups = {
|
|
||||||
backbone = {
|
|
||||||
peers = {
|
|
||||||
gateway01 = {
|
|
||||||
remotes = { '"gw01-new.hamburg.freifunk.net" port 10005' },
|
|
||||||
key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b',
|
|
||||||
},
|
|
||||||
gateway02 = {
|
|
||||||
key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0',
|
|
||||||
remotes = { '"gw02-new.hamburg.freifunk.net" port 10005' },
|
|
||||||
},
|
|
||||||
gateway03 = {
|
|
||||||
remotes = { '"gw03-new.hamburg.freifunk.net" port 10005' },
|
|
||||||
key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546',
|
|
||||||
},
|
|
||||||
gateway04 = {
|
|
||||||
remotes = { '"gw04-new.hamburg.freifunk.net" port 10006' },
|
|
||||||
key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669',
|
|
||||||
},
|
|
||||||
gateway05 = {
|
|
||||||
remotes = { '"gw05-new.hamburg.freifunk.net" port 10006' },
|
|
||||||
key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f',
|
|
||||||
},
|
|
||||||
gateway06 = {
|
|
||||||
remotes = { '"gw06-new.hamburg.freifunk.net" port 10006' },
|
|
||||||
key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
20
i18n/de.po
20
i18n/de.po
|
@ -17,23 +17,15 @@ msgstr ""
|
||||||
"entsprechend aus und sende es ab. "
|
"entsprechend aus und sende es ab. "
|
||||||
"Den unten anzugebenden Knotennamen kannst du beliebig wählen. Denke Dir also etwas schönes aus. Er ist der Name des Knotens im Netzwerk und hat nichts mit dem ausgestrahlten Netzwerknamen (SSID) zu tun. Letzterer ist immer hamburg.freifunk.net."
|
"Den unten anzugebenden Knotennamen kannst du beliebig wählen. Denke Dir also etwas schönes aus. Er ist der Name des Knotens im Netzwerk und hat nichts mit dem ausgestrahlten Netzwerknamen (SSID) zu tun. Letzterer ist immer hamburg.freifunk.net."
|
||||||
|
|
||||||
msgid "gluon-config-mode:domain"
|
|
||||||
msgstr "Domäne"
|
|
||||||
|
|
||||||
msgid "gluon-config-mode:domain-select"
|
|
||||||
msgstr ""
|
|
||||||
"Hier kannst du Domäne auswählen, in dem sich dein Knoten befindet. "
|
|
||||||
"Bitte bedenke, dass sich dein Knoten nur mit Routern in der gleichen Domäne verbinden kann."
|
|
||||||
|
|
||||||
msgid "gluon-config-mode:pubkey"
|
msgid "gluon-config-mode:pubkey"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<p>Dies ist der öffentliche Schlüssel deines Freifunkknotens. Erst nachdem "
|
"<p>Dies ist der öffentliche Schlüssel deines Freifunkknotens. Erst nachdem "
|
||||||
"er auf den Servern des Hamburger Freifunk-Projektes eingetragen wurde, "
|
"er auf den Servern des Hamburger Freifunk-Projektes eingetragen wurde, "
|
||||||
"kann sich dein Knoten mit dem Hamburger Mesh-VPN verbinden. "
|
"kann sich dein Knoten mit dem Hamburger Mesh-VPN verbinden. "
|
||||||
"Bitte trage dazu diesen Schlüssel, den Namen deines Knotens (<em><%=pcdata(hostname)%></em>) und ein paar andere Informationen unter "
|
"Bitte trage dazu diesen Schlüssel, den Namen deines Knotens (<em><%=escape(hostname)%></em>) und ein paar andere Informationen unter "
|
||||||
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=pcdata(hostname)%>&key=<%=pubkey%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> ein.</p>"
|
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=escape(hostname)%>&key=<%=pubkey%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> ein.</p>"
|
||||||
"<div class=\"the-key\">"
|
"<div class=\"the-key\">"
|
||||||
" # <%= pcdata(hostname) %>"
|
" # <%= escape(hostname) %>"
|
||||||
" <br/>"
|
" <br/>"
|
||||||
"<%= pubkey %>"
|
"<%= pubkey %>"
|
||||||
"</div>"
|
"</div>"
|
||||||
|
@ -47,9 +39,9 @@ msgstr ""
|
||||||
"<a href=\"https://hamburg.freifunk.net/\">unserer Webseite</a>.</p>"
|
"<a href=\"https://hamburg.freifunk.net/\">unserer Webseite</a>.</p>"
|
||||||
"<p>Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!</p>"
|
"<p>Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!</p>"
|
||||||
|
|
||||||
msgid "gluon-config-mode:novpn"
|
msgid "gluon-config-mode:nopubkey"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte trage nun den Namen deines Knotens "
|
"Bitte trage nun den Namen deines Knotens "
|
||||||
"(<em><%=pcdata(hostname)%></em>) und ein paar andere Informationen unter "
|
"(<em><%=escape(hostname)%></em>) und ein paar andere Informationen unter "
|
||||||
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=pcdata(hostname)%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> "
|
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=escape(hostname)%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> "
|
||||||
"ein."
|
"ein."
|
||||||
|
|
19
i18n/en.po
19
i18n/en.po
|
@ -19,24 +19,15 @@ msgstr ""
|
||||||
"the network and has nothing to do with the broadcast network name (SSID). "
|
"the network and has nothing to do with the broadcast network name (SSID). "
|
||||||
"The latter is always hamburg.freifunk.net."
|
"The latter is always hamburg.freifunk.net."
|
||||||
|
|
||||||
msgid "gluon-config-mode:domain"
|
|
||||||
msgstr "Domain"
|
|
||||||
|
|
||||||
msgid "gluon-config-mode:domain-select"
|
|
||||||
msgstr ""
|
|
||||||
"Here you have the possibility of selecting the mesh domain in which your node "
|
|
||||||
"is placed. Please keep in mind that your router only connects with the nodes "
|
|
||||||
"of the selected domain"
|
|
||||||
|
|
||||||
msgid "gluon-config-mode:pubkey"
|
msgid "gluon-config-mode:pubkey"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<p>This is the public key for your Freifunk node. You can only "
|
"<p>This is the public key for your Freifunk node. You can only "
|
||||||
"connect the node to the Hamburg mesh VPN after the key has been registered on "
|
"connect the node to the Hamburg mesh VPN after the key has been registered on "
|
||||||
"the Freifunk Hamburg servers. "
|
"the Freifunk Hamburg servers. "
|
||||||
"Please register your key, the name of your node (<em><%=pcdata(hostname)%></em>), and a bit of additional info at "
|
"Please register your key, the name of your node (<em><%=escape(hostname)%></em>), and a bit of additional info at "
|
||||||
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=pcdata(hostname)%>&key=<%=pubkey%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a>.</p>"
|
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=escape(hostname)%>&key=<%=pubkey%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a>.</p>"
|
||||||
"<div class=\"the-key\">"
|
"<div class=\"the-key\">"
|
||||||
" # <%= pcdata(hostname) %>"
|
" # <%= escape(hostname) %>"
|
||||||
" <br/>"
|
" <br/>"
|
||||||
"<%= pubkey %>"
|
"<%= pubkey %>"
|
||||||
"</div>"
|
"</div>"
|
||||||
|
@ -49,9 +40,9 @@ msgstr ""
|
||||||
"<a href=\"https://hamburg.freifunk.net/\">our homepage</a>.</p>"
|
"<a href=\"https://hamburg.freifunk.net/\">our homepage</a>.</p>"
|
||||||
"<p>Have fun with your node and exploring the Freifunk network!</p>"
|
"<p>Have fun with your node and exploring the Freifunk network!</p>"
|
||||||
|
|
||||||
msgid "gluon-config-mode:novpn"
|
msgid "gluon-config-mode:nopubkey"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Please enter the name of your node "
|
"Please enter the name of your node "
|
||||||
"(<em><%=hostname%></em>) and some additional information at "
|
"(<em><%=hostname%></em>) and some additional information at "
|
||||||
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=pcdata(hostname)%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> "
|
"<a href=\"https://formular.hamburg.freifunk.net/#/new?hostname=<%=escape(hostname)%>&mac=<%= sysconfig.primary_mac %>\" target=\"_blank\">https://formular.hamburg.freifunk.net/</a> "
|
||||||
"."
|
"."
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
features({
|
|
||||||
'autoupdater',
|
|
||||||
'config-mode-domain-select',
|
|
||||||
'ebtables-filter-multicast',
|
|
||||||
'ebtables-filter-ra-dhcp',
|
|
||||||
'mesh-batman-adv-15',
|
|
||||||
'mesh-vpn-fastd',
|
|
||||||
'web-private-wifi',
|
|
||||||
'radv-filterd',
|
|
||||||
'respondd',
|
|
||||||
'status-page',
|
|
||||||
'web-advanced',
|
|
||||||
'web-wizard',
|
|
||||||
})
|
|
||||||
|
|
||||||
if not device_class('tiny') then
|
|
||||||
features({
|
|
||||||
'wireless-encryption-wpa3',
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
packages({
|
|
||||||
'-gluon-config-mode-geo-location',
|
|
||||||
'-gluon-config-mode-contact-info',
|
|
||||||
'gluon-ebtables-source-filter',
|
|
||||||
'gluon-web-mesh-vpn-fastd',
|
|
||||||
'iwinfo',
|
|
||||||
})
|
|
||||||
|
|
||||||
if target('x86') then
|
|
||||||
packages({
|
|
||||||
'nano',
|
|
||||||
'htop',
|
|
||||||
'ethtool',
|
|
||||||
})
|
|
||||||
end
|
|
5
modules
5
modules
|
@ -1,5 +0,0 @@
|
||||||
GLUON_SITE_FEEDS='ffhh_packages'
|
|
||||||
|
|
||||||
PACKAGES_FFHH_PACKAGES_REPO=https://github.com/freifunkhamburg/ffhh-packages.git
|
|
||||||
PACKAGES_FFHH_PACKAGES_COMMIT=ef9fcc1222f74c3c045b1450537a4b8b80efb56c
|
|
||||||
|
|
236
patches/0001-dnsmasq2.78.patch
Normal file
236
patches/0001-dnsmasq2.78.patch
Normal file
|
@ -0,0 +1,236 @@
|
||||||
|
diff -Naur a/openwrt/package/network/services/dnsmasq/Makefile b/openwrt/package/network/services/dnsmasq/Makefile
|
||||||
|
--- a/openwrt/package/network/services/dnsmasq/Makefile 2017-10-18 22:57:32.713534131 +0200
|
||||||
|
+++ b/openwrt/package/network/services/dnsmasq/Makefile 2017-10-18 22:58:50.228018635 +0200
|
||||||
|
@@ -8,12 +8,12 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=dnsmasq
|
||||||
|
-PKG_VERSION:=2.73
|
||||||
|
+PKG_VERSION:=2.78
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
|
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
||||||
|
-PKG_MD5SUM:=b8bfe96d22945c8cf4466826ba9b21bd
|
||||||
|
+PKG_MD5SUM:=6d0241b72c79d2b510776ccc4ed69ca4
|
||||||
|
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
diff -Naur a/openwrt/package/network/services/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch b/openwrt/package/network/services/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch
|
||||||
|
--- a/openwrt/package/network/services/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch 2017-10-18 22:57:32.713534131 +0200
|
||||||
|
+++ b/openwrt/package/network/services/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
@@ -1,47 +0,0 @@
|
||||||
|
---- a/src/dhcp.c
|
||||||
|
-+++ b/src/dhcp.c
|
||||||
|
-@@ -146,7 +146,7 @@ void dhcp_packet(time_t now, int pxe_fd)
|
||||||
|
- struct iovec iov;
|
||||||
|
- ssize_t sz;
|
||||||
|
- int iface_index = 0, unicast_dest = 0, is_inform = 0;
|
||||||
|
-- struct in_addr iface_addr;
|
||||||
|
-+ struct in_addr iface_addr, *addrp = NULL;
|
||||||
|
- struct iface_param parm;
|
||||||
|
- #ifdef HAVE_LINUX_NETWORK
|
||||||
|
- struct arpreq arp_req;
|
||||||
|
-@@ -272,11 +272,9 @@ void dhcp_packet(time_t now, int pxe_fd)
|
||||||
|
- {
|
||||||
|
- ifr.ifr_addr.sa_family = AF_INET;
|
||||||
|
- if (ioctl(daemon->dhcpfd, SIOCGIFADDR, &ifr) != -1 )
|
||||||
|
-- iface_addr = ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr;
|
||||||
|
-- else
|
||||||
|
- {
|
||||||
|
-- my_syslog(MS_DHCP | LOG_WARNING, _("DHCP packet received on %s which has no address"), ifr.ifr_name);
|
||||||
|
-- return;
|
||||||
|
-+ addrp = &iface_addr;
|
||||||
|
-+ iface_addr = ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- for (tmp = daemon->dhcp_except; tmp; tmp = tmp->next)
|
||||||
|
-@@ -295,7 +293,7 @@ void dhcp_packet(time_t now, int pxe_fd)
|
||||||
|
- parm.relay_local.s_addr = 0;
|
||||||
|
- parm.ind = iface_index;
|
||||||
|
-
|
||||||
|
-- if (!iface_check(AF_INET, (struct all_addr *)&iface_addr, ifr.ifr_name, NULL))
|
||||||
|
-+ if (!iface_check(AF_INET, (struct all_addr *)addrp, ifr.ifr_name, NULL))
|
||||||
|
- {
|
||||||
|
- /* If we failed to match the primary address of the interface, see if we've got a --listen-address
|
||||||
|
- for a secondary */
|
||||||
|
-@@ -315,6 +313,12 @@ void dhcp_packet(time_t now, int pxe_fd)
|
||||||
|
- complete_context(match.addr, iface_index, NULL, match.netmask, match.broadcast, &parm);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-+ if (!addrp)
|
||||||
|
-+ {
|
||||||
|
-+ my_syslog(MS_DHCP | LOG_WARNING, _("DHCP packet received on %s which has no address"), ifr.ifr_name);
|
||||||
|
-+ return;
|
||||||
|
-+ }
|
||||||
|
-+
|
||||||
|
- if (!iface_enumerate(AF_INET, &parm, complete_context))
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
diff -Naur a/openwrt/package/network/services/dnsmasq/patches/110-ipset-remove-old-kernel-support.patch b/openwrt/package/network/services/dnsmasq/patches/110-ipset-remove-old-kernel-support.patch
|
||||||
|
--- a/openwrt/package/network/services/dnsmasq/patches/110-ipset-remove-old-kernel-support.patch 2017-10-18 22:57:32.713534131 +0200
|
||||||
|
+++ b/openwrt/package/network/services/dnsmasq/patches/110-ipset-remove-old-kernel-support.patch 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
@@ -1,110 +0,0 @@
|
||||||
|
---- a/src/ipset.c
|
||||||
|
-+++ b/src/ipset.c
|
||||||
|
-@@ -22,7 +22,6 @@
|
||||||
|
- #include <errno.h>
|
||||||
|
- #include <sys/types.h>
|
||||||
|
- #include <sys/socket.h>
|
||||||
|
--#include <sys/utsname.h>
|
||||||
|
- #include <arpa/inet.h>
|
||||||
|
- #include <linux/version.h>
|
||||||
|
- #include <linux/netlink.h>
|
||||||
|
-@@ -72,7 +71,7 @@ struct my_nfgenmsg {
|
||||||
|
-
|
||||||
|
- #define NL_ALIGN(len) (((len)+3) & ~(3))
|
||||||
|
- static const struct sockaddr_nl snl = { .nl_family = AF_NETLINK };
|
||||||
|
--static int ipset_sock, old_kernel;
|
||||||
|
-+static int ipset_sock;
|
||||||
|
- static char *buffer;
|
||||||
|
-
|
||||||
|
- static inline void add_attr(struct nlmsghdr *nlh, uint16_t type, size_t len, const void *data)
|
||||||
|
-@@ -87,25 +86,7 @@ static inline void add_attr(struct nlmsg
|
||||||
|
-
|
||||||
|
- void ipset_init(void)
|
||||||
|
- {
|
||||||
|
-- struct utsname utsname;
|
||||||
|
-- int version;
|
||||||
|
-- char *split;
|
||||||
|
--
|
||||||
|
-- if (uname(&utsname) < 0)
|
||||||
|
-- die(_("failed to find kernel version: %s"), NULL, EC_MISC);
|
||||||
|
--
|
||||||
|
-- split = strtok(utsname.release, ".");
|
||||||
|
-- version = (split ? atoi(split) : 0);
|
||||||
|
-- split = strtok(NULL, ".");
|
||||||
|
-- version = version * 256 + (split ? atoi(split) : 0);
|
||||||
|
-- split = strtok(NULL, ".");
|
||||||
|
-- version = version * 256 + (split ? atoi(split) : 0);
|
||||||
|
-- old_kernel = (version < KERNEL_VERSION(2,6,32));
|
||||||
|
--
|
||||||
|
-- if (old_kernel && (ipset_sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) != -1)
|
||||||
|
-- return;
|
||||||
|
--
|
||||||
|
-- if (!old_kernel &&
|
||||||
|
-+ if (
|
||||||
|
- (buffer = safe_malloc(BUFF_SZ)) &&
|
||||||
|
- (ipset_sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_NETFILTER)) != -1 &&
|
||||||
|
- (bind(ipset_sock, (struct sockaddr *)&snl, sizeof(snl)) != -1))
|
||||||
|
-@@ -168,62 +149,16 @@ static int new_add_to_ipset(const char *
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-
|
||||||
|
--static int old_add_to_ipset(const char *setname, const struct all_addr *ipaddr, int remove)
|
||||||
|
--{
|
||||||
|
-- socklen_t size;
|
||||||
|
-- struct ip_set_req_adt_get {
|
||||||
|
-- unsigned op;
|
||||||
|
-- unsigned version;
|
||||||
|
-- union {
|
||||||
|
-- char name[IPSET_MAXNAMELEN];
|
||||||
|
-- uint16_t index;
|
||||||
|
-- } set;
|
||||||
|
-- char typename[IPSET_MAXNAMELEN];
|
||||||
|
-- } req_adt_get;
|
||||||
|
-- struct ip_set_req_adt {
|
||||||
|
-- unsigned op;
|
||||||
|
-- uint16_t index;
|
||||||
|
-- uint32_t ip;
|
||||||
|
-- } req_adt;
|
||||||
|
--
|
||||||
|
-- if (strlen(setname) >= sizeof(req_adt_get.set.name))
|
||||||
|
-- {
|
||||||
|
-- errno = ENAMETOOLONG;
|
||||||
|
-- return -1;
|
||||||
|
-- }
|
||||||
|
--
|
||||||
|
-- req_adt_get.op = 0x10;
|
||||||
|
-- req_adt_get.version = 3;
|
||||||
|
-- strcpy(req_adt_get.set.name, setname);
|
||||||
|
-- size = sizeof(req_adt_get);
|
||||||
|
-- if (getsockopt(ipset_sock, SOL_IP, 83, &req_adt_get, &size) < 0)
|
||||||
|
-- return -1;
|
||||||
|
-- req_adt.op = remove ? 0x102 : 0x101;
|
||||||
|
-- req_adt.index = req_adt_get.set.index;
|
||||||
|
-- req_adt.ip = ntohl(ipaddr->addr.addr4.s_addr);
|
||||||
|
-- if (setsockopt(ipset_sock, SOL_IP, 83, &req_adt, sizeof(req_adt)) < 0)
|
||||||
|
-- return -1;
|
||||||
|
--
|
||||||
|
-- return 0;
|
||||||
|
--}
|
||||||
|
--
|
||||||
|
--
|
||||||
|
--
|
||||||
|
- int add_to_ipset(const char *setname, const struct all_addr *ipaddr, int flags, int remove)
|
||||||
|
- {
|
||||||
|
- int af = AF_INET;
|
||||||
|
-
|
||||||
|
- #ifdef HAVE_IPV6
|
||||||
|
- if (flags & F_IPV6)
|
||||||
|
-- {
|
||||||
|
- af = AF_INET6;
|
||||||
|
-- /* old method only supports IPv4 */
|
||||||
|
-- if (old_kernel)
|
||||||
|
-- return -1;
|
||||||
|
-- }
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
-- return old_kernel ? old_add_to_ipset(setname, ipaddr, remove) : new_add_to_ipset(setname, ipaddr, af, remove);
|
||||||
|
-+ return new_add_to_ipset(setname, ipaddr, af, remove);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #endif
|
||||||
|
diff -Naur a/openwrt/package/network/services/dnsmasq/patches/210-dnssec-improve-timestamp-heuristic.patch b/openwrt/package/network/services/dnsmasq/patches/210-dnssec-improve-timestamp-heuristic.patch
|
||||||
|
--- a/openwrt/package/network/services/dnsmasq/patches/210-dnssec-improve-timestamp-heuristic.patch 2017-10-18 22:57:32.713534131 +0200
|
||||||
|
+++ b/openwrt/package/network/services/dnsmasq/patches/210-dnssec-improve-timestamp-heuristic.patch 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
@@ -1,49 +0,0 @@
|
||||||
|
-From 79e60e145f8a595bca5a784c00b437216d51de68 Mon Sep 17 00:00:00 2001
|
||||||
|
-From: Steven Barth <steven@midlink.org>
|
||||||
|
-Date: Mon, 13 Apr 2015 09:45:20 +0200
|
||||||
|
-Subject: [PATCH] dnssec: improve timestamp heuristic
|
||||||
|
-
|
||||||
|
-Signed-off-by: Steven Barth <steven@midlink.org>
|
||||||
|
----
|
||||||
|
- src/dnssec.c | 15 +++++++++++----
|
||||||
|
- 1 file changed, 11 insertions(+), 4 deletions(-)
|
||||||
|
-
|
||||||
|
---- a/src/dnssec.c
|
||||||
|
-+++ b/src/dnssec.c
|
||||||
|
-@@ -432,17 +432,24 @@ static int back_to_the_future;
|
||||||
|
- int setup_timestamp(void)
|
||||||
|
- {
|
||||||
|
- struct stat statbuf;
|
||||||
|
--
|
||||||
|
-+ time_t now;
|
||||||
|
-+ time_t base = 1420070400; /* 1-1-2015 */
|
||||||
|
-+
|
||||||
|
- back_to_the_future = 0;
|
||||||
|
-
|
||||||
|
- if (!daemon->timestamp_file)
|
||||||
|
- return 0;
|
||||||
|
--
|
||||||
|
-+
|
||||||
|
-+ now = time(NULL);
|
||||||
|
-+
|
||||||
|
-+ if (!stat("/proc/self/exe", &statbuf) && difftime(statbuf.st_mtime, base) > 0)
|
||||||
|
-+ base = statbuf.st_mtime;
|
||||||
|
-+
|
||||||
|
- if (stat(daemon->timestamp_file, &statbuf) != -1)
|
||||||
|
- {
|
||||||
|
- timestamp_time = statbuf.st_mtime;
|
||||||
|
- check_and_exit:
|
||||||
|
-- if (difftime(timestamp_time, time(0)) <= 0)
|
||||||
|
-+ if (difftime(now, base) >= 0 && difftime(timestamp_time, now) <= 0)
|
||||||
|
- {
|
||||||
|
- /* time already OK, update timestamp, and do key checking from the start. */
|
||||||
|
- if (utime(daemon->timestamp_file, NULL) == -1)
|
||||||
|
-@@ -463,7 +470,7 @@ int setup_timestamp(void)
|
||||||
|
-
|
||||||
|
- close(fd);
|
||||||
|
-
|
||||||
|
-- timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */
|
||||||
|
-+ timestamp_time = timbuf.actime = timbuf.modtime = base;
|
||||||
|
- if (utime(daemon->timestamp_file, &timbuf) == 0)
|
||||||
|
- goto check_and_exit;
|
||||||
|
- }
|
102
site.conf
102
site.conf
|
@ -1,102 +0,0 @@
|
||||||
{
|
|
||||||
hostname_prefix = 'GibMirEinenNamen',
|
|
||||||
config_mode = {
|
|
||||||
hostname = {
|
|
||||||
optional = false,
|
|
||||||
prefill = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
site_name = 'Freifunk Hamburg',
|
|
||||||
site_code = 'ffhh',
|
|
||||||
default_domain = 'ffhh_nowe',
|
|
||||||
|
|
||||||
opkg = {
|
|
||||||
extra = {
|
|
||||||
modules = 'http://updates.hamburg.freifunk.net/multi/archive/%GR/packages/gluon-%GS-%GR/%S',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin
|
|
||||||
ntp_servers = {'1.ntp.services.ffhh','2.ntp.services.ffhh','3.ntp.services.ffhh'},
|
|
||||||
regdom = 'DE',
|
|
||||||
|
|
||||||
wifi24 = {
|
|
||||||
channel = 1,
|
|
||||||
|
|
||||||
mesh = {
|
|
||||||
mcast_rate = 12000,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
wifi5 = {
|
|
||||||
channel = 44,
|
|
||||||
outdoor_chanlist = "100-140",
|
|
||||||
mesh = {
|
|
||||||
mcast_rate = 12000,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
mesh_vpn = {
|
|
||||||
enabled = true,
|
|
||||||
fastd = {
|
|
||||||
configurable = true,
|
|
||||||
mtu = 1312,
|
|
||||||
methods = {'salsa2012+umac'},
|
|
||||||
groups = {
|
|
||||||
backbone = {
|
|
||||||
limit = 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
bandwidth_limit = {
|
|
||||||
enabled = false,
|
|
||||||
ingress = 8096,
|
|
||||||
egress = 1024,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
autoupdater = {
|
|
||||||
branch = 'stable',
|
|
||||||
branches = {
|
|
||||||
stable = {
|
|
||||||
name = 'stable',
|
|
||||||
mirrors = {'http://updates-a.hamburg.freifunk.net/multi/stable/images/sysupgrade','http://updates-b.hamburg.freifunk.net/multi/stable/images/sysupgrade'},
|
|
||||||
good_signatures = 2,
|
|
||||||
pubkeys = {
|
|
||||||
'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', -- leo
|
|
||||||
'3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', -- andre
|
|
||||||
'1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', -- gernot
|
|
||||||
'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', -- bjoern
|
|
||||||
'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', -- daniel
|
|
||||||
'961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', -- alexander
|
|
||||||
'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', -- olli
|
|
||||||
},
|
|
||||||
},
|
|
||||||
beta = {
|
|
||||||
name = 'beta',
|
|
||||||
mirrors = {'http://updates-a.hamburg.freifunk.net/multi/stable/images/sysupgrade','http://updates-b.hamburg.freifunk.net/multi/stable/images/sysupgrade'},
|
|
||||||
good_signatures = 2,
|
|
||||||
pubkeys = {
|
|
||||||
'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', -- leo
|
|
||||||
'3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', -- andre
|
|
||||||
'1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', -- gernot
|
|
||||||
'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', -- bjoern
|
|
||||||
'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', -- daniel
|
|
||||||
'961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', -- alexander
|
|
||||||
'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', -- olli
|
|
||||||
},
|
|
||||||
},
|
|
||||||
experimental = {
|
|
||||||
name = 'experimental',
|
|
||||||
mirrors = {'http://updates-a.hamburg.freifunk.net/multi/experimental/images/sysupgrade','http://updates-b.hamburg.freifunk.net/multi/experimental/images/sysupgrade'},
|
|
||||||
good_signatures = 1,
|
|
||||||
pubkeys = {
|
|
||||||
'1a0112fe489860068480c611c5dc56196c2f1a645db651ea2ed19ae0f0e8e1d1', -- builder1/2
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
poe_passthrough = false,
|
|
||||||
}
|
|
11
site.mk
11
site.mk
|
@ -1,11 +0,0 @@
|
||||||
GLUON_MULTIDOMAIN := 1
|
|
||||||
GLUON_DEPRECATED := upgrade
|
|
||||||
|
|
||||||
GLUON_AUTOUPDATER_ENABLED ?= 1
|
|
||||||
|
|
||||||
GLUON_PRIORITY ?= 7
|
|
||||||
|
|
||||||
# Region code required for some images; supported values: us eu
|
|
||||||
GLUON_REGION ?= eu
|
|
||||||
|
|
||||||
GLUON_LANGS ?= en de
|
|
3
template/info.erb
Normal file
3
template/info.erb
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GLUON_RELEASE="<%= gluon_release %>"
|
||||||
|
GLUON_BRANCH="<%= gluon_branch %>"
|
||||||
|
targets="<%= gluon_targets.join(" ") %>"
|
8
template/modules.erb
Normal file
8
template/modules.erb
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
GLUON_SITE_FEEDS='ffhh_packages ffho_packages'
|
||||||
|
|
||||||
|
PACKAGES_FFHH_PACKAGES_REPO=git://github.com/freifunkhamburg/ffhh-packages.git
|
||||||
|
PACKAGES_FFHH_PACKAGES_COMMIT=ef9fcc1222f74c3c045b1450537a4b8b80efb56c
|
||||||
|
|
||||||
|
PACKAGES_FFHO_PACKAGES_REPO=git://github.com/FreifunkHochstift/ffho-packages.git
|
||||||
|
PACKAGES_FFHO_PACKAGES_COMMIT=72ba236324fb538dc304695285fae059489365b9
|
||||||
|
PACKAGES_FFHO_PACKAGES_BRANCH=v2016.2.x
|
130
template/site.conf.erb
Normal file
130
template/site.conf.erb
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
{
|
||||||
|
hostname_prefix = 'GibMirEinenNamen',
|
||||||
|
site_name = '<%= site_name %>',
|
||||||
|
site_code = '<%= site_code %>',
|
||||||
|
|
||||||
|
opkg = {
|
||||||
|
openwrt = 'http://opkg.services.ffhh/%n/%v/%S/packages',
|
||||||
|
extra = {
|
||||||
|
modules = 'http://updates.hamburg.freifunk.net/%GS/stable/archive/modules/gluon-%GS-%GR/%S',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
prefix4 = '<%= prefix4 %>',
|
||||||
|
prefix6 = '<%= prefix6 %>',
|
||||||
|
|
||||||
|
timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin
|
||||||
|
ntp_servers = {'1.ntp.services.ffhh','2.ntp.services.ffhh','3.ntp.services.ffhh'},
|
||||||
|
regdom = 'DE',
|
||||||
|
|
||||||
|
wifi24 = {
|
||||||
|
channel = 1,
|
||||||
|
|
||||||
|
supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000},
|
||||||
|
basic_rate = {6000, 9000, 18000, 36000, 54000},
|
||||||
|
|
||||||
|
ap = {
|
||||||
|
ssid = 'hamburg.freifunk.net',
|
||||||
|
},
|
||||||
|
<% if gluon_ath10k_mesh == "11s" -%>
|
||||||
|
mesh = {
|
||||||
|
id = '<%= ("00000000" + site_code)[-8..-1].each_byte.map { |b| b.to_s(16) }.join.upcase %>',
|
||||||
|
mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
<% else -%>
|
||||||
|
ibss = {
|
||||||
|
ssid = 'f8:d1:11:87:52:2e',
|
||||||
|
bssid = 'f8:d1:11:87:52:2e',
|
||||||
|
mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
|
||||||
|
wifi5 = {
|
||||||
|
channel = 44,
|
||||||
|
ap = {
|
||||||
|
ssid = 'hamburg.freifunk.net',
|
||||||
|
},
|
||||||
|
<% if gluon_ath10k_mesh == "11s" -%>
|
||||||
|
mesh = {
|
||||||
|
id = '<%= ("00000000" + site_code)[-8..-1].each_byte.map { |b| b.to_s(16) }.join.upcase %>',
|
||||||
|
mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
<% else -%>
|
||||||
|
ibss = {
|
||||||
|
ssid = 'f8:d1:11:87:52:2e',
|
||||||
|
bssid = 'f8:d1:11:87:52:2e',
|
||||||
|
mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
|
||||||
|
next_node = {
|
||||||
|
ip4 = '<%= next_node_ipv4 %>',
|
||||||
|
ip6 = '<%= next_node_ipv6 %>',
|
||||||
|
|
||||||
|
mac = '16:41:95:40:f7:dc',
|
||||||
|
},
|
||||||
|
|
||||||
|
fastd_mesh_vpn = {
|
||||||
|
enabled = true,
|
||||||
|
methods = {'salsa2012+umac'},
|
||||||
|
mtu = <%= mtu %>,
|
||||||
|
groups = {
|
||||||
|
backbone = {
|
||||||
|
limit = 1,
|
||||||
|
peers = {
|
||||||
|
<% gateways.each_pair do | name, gw_data | -%>
|
||||||
|
<%= name %> = {
|
||||||
|
key = '<%= gw_data['key'] %>',
|
||||||
|
remotes = { '<%= gw_data['remotes'].join("', '") %>' },
|
||||||
|
},
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
bandwidth_limit = {
|
||||||
|
enabled = false,
|
||||||
|
ingress = 8096,
|
||||||
|
egress = 1024,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
autoupdater = {
|
||||||
|
branch = '<%= gluon_branch %>',
|
||||||
|
branches = {
|
||||||
|
stable = {
|
||||||
|
name = 'stable',
|
||||||
|
mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/stable/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/stable/sysupgrade'},
|
||||||
|
good_signatures = 2,
|
||||||
|
pubkeys = {
|
||||||
|
<% signing_keys.each do | key | -%>
|
||||||
|
'<%= key %>',
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
},
|
||||||
|
beta = {
|
||||||
|
name = 'beta',
|
||||||
|
mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/beta/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/beta/sysupgrade'},
|
||||||
|
good_signatures = 2,
|
||||||
|
pubkeys = {
|
||||||
|
<% signing_keys.each do | key | -%>
|
||||||
|
'<%= key %>',
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
},
|
||||||
|
experimental = {
|
||||||
|
name = 'experimental',
|
||||||
|
mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/experimental/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/experimental/sysupgrade'},
|
||||||
|
good_signatures = 1,
|
||||||
|
pubkeys = {
|
||||||
|
<% signing_keys_experimental.each do | key | -%>
|
||||||
|
'<%= key %>',
|
||||||
|
<% end -%>
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
poe_passthrough = false,
|
||||||
|
}
|
37
template/site.mk.erb
Normal file
37
template/site.mk.erb
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
GLUON_SITE_PACKAGES :=<% gluon_site_packages.each do | p | -%>
|
||||||
|
<%= " " + p -%>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
|
|
||||||
|
# EXTRA_SOFTWARE_TOOLS_01
|
||||||
|
EXTRA_SOFTWARE_TOOLS_01 := \
|
||||||
|
nano \
|
||||||
|
htop \
|
||||||
|
ethtool
|
||||||
|
|
||||||
|
# x86
|
||||||
|
ifeq ($(GLUON_TARGET),x86-generic)
|
||||||
|
GLUON_SITE_PACKAGES += \
|
||||||
|
$(EXTRA_SOFTWARE_TOOLS_01)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# x86-64
|
||||||
|
ifeq ($(GLUON_TARGET),x86-64)
|
||||||
|
GLUON_SITE_PACKAGES += \
|
||||||
|
$(EXTRA_SOFTWARE_TOOLS_01)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
DEFAULT_GLUON_RELEASE := <%= gluon_release %>
|
||||||
|
|
||||||
|
# Allow overriding the release number from the command line
|
||||||
|
GLUON_RELEASE ?= $(DEFAULT_GLUON_RELEASE)
|
||||||
|
|
||||||
|
GLUON_PRIORITY ?= 0
|
||||||
|
|
||||||
|
# Region code required for some images; supported values: us eu
|
||||||
|
GLUON_REGION ?= eu
|
||||||
|
|
||||||
|
GLUON_ATH10K_MESH ?= <%= gluon_ath10k_mesh %>
|
||||||
|
|
||||||
|
GLUON_LANGS ?= en de
|
Loading…
Reference in a new issue