Compare commits
62 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b7ab3d2067 | ||
|
3085e02e89 | ||
|
28e43ce40a | ||
|
1d5b6f0404 | ||
|
86831203ca | ||
|
9bd5ae5455 | ||
|
08717766a6 | ||
|
d984f2785e | ||
|
bcf6777655 | ||
|
f516ced49d | ||
|
655da5ffdd | ||
|
1f5525076b | ||
|
9003006053 | ||
|
5ad4ebda36 | ||
|
3d1decc6fe | ||
|
3ef69c96cf | ||
|
e1e7ce3fe6 | ||
|
eacf5b9e4c | ||
|
bf27a736df | ||
|
e285ccd2e9 | ||
|
fc4bc6fd53 | ||
|
5a17b81999 | ||
|
a346b8f8f8 | ||
|
792a93b4dd | ||
|
5a7ac058eb | ||
|
c4033f4ede | ||
|
1b459dc5cd | ||
|
7c27701a3b | ||
|
3e66935ab9 | ||
|
f55c965cad | ||
|
9d996c495a | ||
|
58fc1aae63 | ||
|
2381290a74 | ||
|
9a6d26df99 | ||
|
8b7446a54f | ||
|
9d015a55de | ||
|
7f3a30423b | ||
|
4bfcd6ae61 | ||
|
08d860a2e2 | ||
|
50fe6a962a | ||
|
07a8aea93f | ||
|
303e473690 | ||
|
60f81d7bd5 | ||
|
4d5c0d1958 | ||
|
fe69fa515c | ||
|
81d6b9c1d1 | ||
|
54cb06ad77 | ||
|
9f29aa7d05 | ||
|
3751a61384 | ||
|
352293b148 | ||
|
02e213a718 | ||
|
f7d0db69f9 | ||
|
45b277bbd7 | ||
|
8d405dce69 | ||
|
536cb00330 | ||
|
567a7497ec | ||
|
7669aea60e | ||
|
c4d38a2ea9 | ||
|
447595f0bb | ||
|
1566324fd3 | ||
|
c219d3c1dc | ||
|
653730a5e7 |
498
.github/workflows/build-gluon.yml
vendored
Normal file
498
.github/workflows/build-gluon.yml
vendored
Normal file
@ -0,0 +1,498 @@
|
||||
|
||||
# Update this file after adding/removing/renaming a target by running
|
||||
# `make list-targets BROKEN=1 | ./contrib/actions/generate-actions.py > ./.github/workflows/build-gluon.yml`
|
||||
|
||||
name: Build Gluon
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
- v20*
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
jobs:
|
||||
|
||||
ar71xx-generic:
|
||||
name: ar71xx-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ar71xx-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-generic_output
|
||||
path: output
|
||||
|
||||
ar71xx-tiny:
|
||||
name: ar71xx-tiny
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ar71xx-tiny
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-tiny_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-tiny_output
|
||||
path: output
|
||||
|
||||
ar71xx-nand:
|
||||
name: ar71xx-nand
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ar71xx-nand
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-nand_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-nand_output
|
||||
path: output
|
||||
|
||||
ath79-generic:
|
||||
name: ath79-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ath79-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ath79-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ath79-generic_output
|
||||
path: output
|
||||
|
||||
brcm2708-bcm2708:
|
||||
name: brcm2708-bcm2708
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh brcm2708-bcm2708
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2708_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2708_output
|
||||
path: output
|
||||
|
||||
brcm2708-bcm2709:
|
||||
name: brcm2708-bcm2709
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh brcm2708-bcm2709
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2709_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2709_output
|
||||
path: output
|
||||
|
||||
ipq40xx-generic:
|
||||
name: ipq40xx-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ipq40xx-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ipq40xx-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ipq40xx-generic_output
|
||||
path: output
|
||||
|
||||
ipq806x-generic:
|
||||
name: ipq806x-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ipq806x-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ipq806x-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ipq806x-generic_output
|
||||
path: output
|
||||
|
||||
lantiq-xrx200:
|
||||
name: lantiq-xrx200
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh lantiq-xrx200
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: lantiq-xrx200_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: lantiq-xrx200_output
|
||||
path: output
|
||||
|
||||
lantiq-xway:
|
||||
name: lantiq-xway
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh lantiq-xway
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: lantiq-xway_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: lantiq-xway_output
|
||||
path: output
|
||||
|
||||
mpc85xx-generic:
|
||||
name: mpc85xx-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh mpc85xx-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mpc85xx-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mpc85xx-generic_output
|
||||
path: output
|
||||
|
||||
mpc85xx-p1020:
|
||||
name: mpc85xx-p1020
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh mpc85xx-p1020
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mpc85xx-p1020_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mpc85xx-p1020_output
|
||||
path: output
|
||||
|
||||
ramips-mt7620:
|
||||
name: ramips-mt7620
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ramips-mt7620
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt7620_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt7620_output
|
||||
path: output
|
||||
|
||||
ramips-mt7621:
|
||||
name: ramips-mt7621
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ramips-mt7621
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt7621_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt7621_output
|
||||
path: output
|
||||
|
||||
ramips-mt76x8:
|
||||
name: ramips-mt76x8
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ramips-mt76x8
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt76x8_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-mt76x8_output
|
||||
path: output
|
||||
|
||||
ramips-rt305x:
|
||||
name: ramips-rt305x
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ramips-rt305x
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-rt305x_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ramips-rt305x_output
|
||||
path: output
|
||||
|
||||
sunxi-cortexa7:
|
||||
name: sunxi-cortexa7
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh sunxi-cortexa7
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: sunxi-cortexa7_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: sunxi-cortexa7_output
|
||||
path: output
|
||||
|
||||
x86-generic:
|
||||
name: x86-generic
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh x86-generic
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-generic_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-generic_output
|
||||
path: output
|
||||
|
||||
x86-geode:
|
||||
name: x86-geode
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh x86-geode
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-geode_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-geode_output
|
||||
path: output
|
||||
|
||||
x86-64:
|
||||
name: x86-64
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh x86-64
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-64_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: x86-64_output
|
||||
path: output
|
||||
|
||||
ar71xx-mikrotik:
|
||||
name: ar71xx-mikrotik
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh ar71xx-mikrotik
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-mikrotik_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ar71xx-mikrotik_output
|
||||
path: output
|
||||
|
||||
brcm2708-bcm2710:
|
||||
name: brcm2708-bcm2710
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh brcm2708-bcm2710
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2710_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: brcm2708-bcm2710_output
|
||||
path: output
|
||||
|
||||
mvebu-cortexa9:
|
||||
name: mvebu-cortexa9
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh mvebu-cortexa9
|
||||
- name: Archive build logs
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mvebu-cortexa9_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: mvebu-cortexa9_output
|
||||
path: output
|
||||
|
3
Makefile
3
Makefile
@ -40,10 +40,11 @@ $(eval $(call mkabspath,GLUON_TARGETSDIR))
|
||||
$(eval $(call mkabspath,GLUON_PATCHESDIR))
|
||||
|
||||
GLUON_MULTIDOMAIN ?= 0
|
||||
GLUON_AUTOREMOVE ?= 0
|
||||
GLUON_DEBUG ?= 0
|
||||
|
||||
export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_DEBUG GLUON_DEPRECATED GLUON_DEVICES \
|
||||
GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR
|
||||
GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR GLUON_AUTOREMOVE
|
||||
|
||||
show-release:
|
||||
@echo '$(GLUON_RELEASE)'
|
||||
|
@ -21,7 +21,7 @@ the future development of Gluon.
|
||||
|
||||
Please refrain from using the `master` branch for anything else but development purposes!
|
||||
Use the most recent release instead. You can list all releases by running `git tag`
|
||||
and switch to one by running `git checkout v2020.1 && make update`.
|
||||
and switch to one by running `git checkout v2020.1.4 && make update`.
|
||||
|
||||
If you're using the autoupdater, do not autoupdate nodes with anything but releases.
|
||||
If you upgrade using random master commits the nodes *will break* eventually.
|
||||
|
49
contrib/actions/generate-actions.py
Executable file
49
contrib/actions/generate-actions.py
Executable file
@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
ACTIONS_HEAD = """
|
||||
# Update this file after adding/removing/renaming a target by running
|
||||
# `make list-targets BROKEN=1 | ./contrib/actions/generate-actions.py > ./.github/workflows/build-gluon.yml`
|
||||
|
||||
name: Build Gluon
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
- v20*
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
jobs:
|
||||
"""
|
||||
|
||||
ACTIONS_TARGET="""
|
||||
{target_name}:
|
||||
name: {target_name}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Dependencies
|
||||
run: sudo contrib/actions/install-dependencies.sh
|
||||
- name: Build
|
||||
run: contrib/actions/run-build.sh {target_name}
|
||||
- name: Archive build logs
|
||||
if: ${{{{ !cancelled() }}}}
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: {target_name}_logs
|
||||
path: openwrt/logs
|
||||
- name: Archive build output
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: {target_name}_output
|
||||
path: output
|
||||
"""
|
||||
|
||||
output = ACTIONS_HEAD
|
||||
|
||||
for target in sys.stdin:
|
||||
output += ACTIONS_TARGET.format(target_name=target.strip())
|
||||
|
||||
print(output)
|
10
contrib/actions/install-dependencies.sh
Executable file
10
contrib/actions/install-dependencies.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cp contrib/actions/sources.list /etc/apt/sources.list
|
||||
rm -rf /etc/apt/sources.list.d
|
||||
apt update
|
||||
apt install git subversion build-essential python gawk unzip libncurses5-dev zlib1g-dev libssl-dev wget time
|
||||
apt clean
|
||||
rm -rf /var/lib/apt/lists/*
|
13
contrib/actions/run-build.sh
Executable file
13
contrib/actions/run-build.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
export BROKEN=1
|
||||
export GLUON_AUTOREMOVE=1
|
||||
export GLUON_DEPRECATED=1
|
||||
export GLUON_SITEDIR="contrib/ci/minimal-site"
|
||||
export GLUON_TARGET=$1
|
||||
export BUILD_LOG=1
|
||||
|
||||
make update
|
||||
make -j2 V=s
|
2
contrib/actions/sources.list
Normal file
2
contrib/actions/sources.list
Normal file
@ -0,0 +1,2 @@
|
||||
deb http://mirror.netcologne.de/ubuntu/ bionic main restricted
|
||||
deb http://mirror.netcologne.de/ubuntu/ bionic-updates main restricted
|
@ -24,7 +24,7 @@ copyright = '2015-2020, Project Gluon'
|
||||
author = 'Project Gluon'
|
||||
|
||||
# The short X.Y version
|
||||
version = '2020.1+'
|
||||
version = '2020.1.4'
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = version
|
||||
|
||||
|
@ -74,6 +74,10 @@ Several Freifunk communities in Germany use Gluon as the foundation of their Fre
|
||||
:caption: Releases
|
||||
:maxdepth: 1
|
||||
|
||||
releases/v2020.1.4
|
||||
releases/v2020.1.3
|
||||
releases/v2020.1.2
|
||||
releases/v2020.1.1
|
||||
releases/v2020.1
|
||||
releases/v2019.1.2
|
||||
releases/v2019.1.1
|
||||
|
59
docs/releases/v2020.1.1.rst
Normal file
59
docs/releases/v2020.1.1.rst
Normal file
@ -0,0 +1,59 @@
|
||||
Gluon 2020.1.1
|
||||
==============
|
||||
|
||||
This is the first service release for the Gluon 2020.1.x line, fixing regressions reported by
|
||||
the community.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fixed non-working LEDs on TP-Link Archer C5 v1 and Archer C7 v2 after an upgrade to Gluon 2020.1.
|
||||
|
||||
- Fixed an issue which leads to AVM FRITZ!WLAN Repeater 450E devices being stuck in failsafe mode
|
||||
ater an upgrade to Gluon 2020.1.
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
- Linux kernel has been updated to 4.14.171
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
- Out of memory situations with high client count on ath9k.
|
||||
(`#1768 <https://github.com/freifunk-gluon/gluon/issues/1768>`_)
|
||||
|
||||
- The integration of the BATMAN_V routing algorithm is incomplete.
|
||||
|
||||
- | Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
|
||||
| Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
|
||||
| metric.
|
||||
|
||||
- | Throughput values are not correctly acquired for different interface types.
|
||||
| (`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
|
||||
| This affects virtual interface types like bridges and VXLAN.
|
||||
|
||||
- Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
|
||||
(`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
|
||||
|
||||
Reducing the TX power in the Advanced Settings is recommended.
|
||||
|
||||
- The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
|
||||
(`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
|
||||
|
||||
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is
|
||||
disallowed).
|
||||
|
||||
- Inconsistent respondd API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
|
||||
|
||||
The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.
|
||||
|
||||
- Frequent reboots due to out-of-memory or high load due to memory pressure on weak hardware especially in larger
|
||||
meshes (`#1243 <https://github.com/freifunk-gluon/gluon/issues/1243>`_)
|
||||
|
||||
Optimizations in Gluon 2018.1 have significantly improved memory usage.
|
||||
There are still known bugs leading to unreasonably high load that we hope to
|
||||
solve in future releases.
|
||||
|
||||
- High chance of ending in a soft-bricked state for Ubiquiti EdgeRouter-X. Workaround is to
|
||||
repeat initial installation using the serial console. (`#1937 <https://github.com/freifunk-gluon/gluon/issues/1937>`_)
|
82
docs/releases/v2020.1.2.rst
Normal file
82
docs/releases/v2020.1.2.rst
Normal file
@ -0,0 +1,82 @@
|
||||
Gluon 2020.1.2
|
||||
==============
|
||||
|
||||
Removed hardware support
|
||||
------------------------
|
||||
|
||||
lantiq-xway
|
||||
~~~~~~~~~~~
|
||||
|
||||
- AVM FRITZ!Box 7320 [#switchports_not_working]_
|
||||
- AVM FRITZ!Box 7330 [#switchports_not_working]_
|
||||
- AVM FRITZ!Box 7330 SL [#switchports_not_working]_
|
||||
|
||||
.. [#switchports_not_working]
|
||||
The switchports on these devices are not working properly (`#1943 <https://github.com/freifunk-gluon/gluon/issues/1943>`_)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fixes a bug in the tunneldigger watchdog where the watchdog would incorrectly find itself while looking up the running tunneldigger process. It then went on and assumed a PID mismatch between the tunneldigger service and its PID file and therefore caused an unnecessary restart of the tunnel. (`#1952 <https://github.com/freifunk-gluon/gluon/issues/1952>`_)
|
||||
|
||||
- Fixes an oversight in the firewalling of the respondd service where queries from prefix listed in ``extra_prefixes6`` would be dropped. (`#1941 <https://github.com/freifunk-gluon/gluon/issues/1941>`_)
|
||||
|
||||
- Fixes a bug in ``gluon-web`` where forms would not correctly update their field visibility on reset. This affected, for example, the private wifi page in the config mode. (`#1970 <https://github.com/freifunk-gluon/gluon/pull/1970>`_)
|
||||
|
||||
- Fixes RX buffer sizing in the ath10k driver to allow for frames larger than 1528 Bytes. (`#1992 <https://github.com/freifunk-gluon/gluon/pull/1992>`_)
|
||||
|
||||
- Fixes a regression in the v4.14 kernel where spurious data bus errors on ar71xx devices would cause a reboot. (`#1994 <https://github.com/freifunk-gluon/gluon/pull/1994>`_)
|
||||
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
- Linux kernel has been updated to 4.14.176
|
||||
|
||||
|
||||
Internals
|
||||
---------
|
||||
|
||||
- OpenWrt 19.07 introduced the urgnd entropy daemon that serves the same function as the haveged service, which we have been recommending. To not have two redundant entropy daemons in this release we remove urngd in favor of haveged in the v2020.1 release series.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
- High chance of ending in a soft-bricked state for Ubiquiti EdgeRouter-X. Workaround is to
|
||||
repeat initial installation using the serial console. (`#1937 <https://github.com/freifunk-gluon/gluon/issues/1937>`_)
|
||||
|
||||
- Out of memory situations with high client count on ath9k.
|
||||
(`#1768 <https://github.com/freifunk-gluon/gluon/issues/1768>`_)
|
||||
|
||||
- The integration of the BATMAN_V routing algorithm is incomplete.
|
||||
|
||||
- | Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
|
||||
| Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
|
||||
| metric.
|
||||
|
||||
- | Throughput values are not correctly acquired for different interface types.
|
||||
| (`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
|
||||
| This affects virtual interface types like bridges and VXLAN.
|
||||
|
||||
- Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
|
||||
(`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
|
||||
|
||||
Reducing the TX power in the Advanced Settings is recommended.
|
||||
|
||||
- The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
|
||||
(`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
|
||||
|
||||
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is
|
||||
disallowed).
|
||||
|
||||
- Inconsistent respondd API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
|
||||
|
||||
The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.
|
||||
|
||||
- Frequent reboots due to out-of-memory or high load due to memory pressure on weak hardware especially in larger
|
||||
meshes (`#1243 <https://github.com/freifunk-gluon/gluon/issues/1243>`_)
|
||||
|
||||
Optimizations in Gluon 2018.1 have significantly improved memory usage.
|
||||
There are still known bugs leading to unreasonably high load that we hope to
|
||||
solve in future releases.
|
||||
|
55
docs/releases/v2020.1.3.rst
Normal file
55
docs/releases/v2020.1.3.rst
Normal file
@ -0,0 +1,55 @@
|
||||
Gluon 2020.1.3
|
||||
==============
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fixes a bug in musl which can lead to spurious crashes in fastd and other programs, which alternate between single-
|
||||
and multi-threaded operation. (`#2029 <https://github.com/freifunk-gluon/gluon/issues/2029>`_)
|
||||
|
||||
- Fixes a regression which led to around 2.5 MiB higher memory usage for ar71xx-tiny and ramips-rt305x targets.
|
||||
While this decreases the memory usage, the image will become around 64KiB larger. (`#2032 <https://github.com/freifunk-gluon/gluon/issues/2032>`_)
|
||||
|
||||
- Fixes a bug which can cause the TP-Link TL-MR3020 v1 to become stuck in failsafe mode.
|
||||
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
- Linux kernel has been updated to 4.14.180
|
||||
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
- High chance of ending in a soft-bricked state for Ubiquiti EdgeRouter-X. Workaround is to
|
||||
repeat initial installation using the serial console. (`#1937 <https://github.com/freifunk-gluon/gluon/issues/1937>`_)
|
||||
|
||||
- Out of memory situations with high client count on ath9k.
|
||||
(`#1768 <https://github.com/freifunk-gluon/gluon/issues/1768>`_)
|
||||
|
||||
- The integration of the BATMAN_V routing algorithm is incomplete.
|
||||
|
||||
- | Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
|
||||
| Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
|
||||
| metric.
|
||||
|
||||
- | Throughput values are not correctly acquired for different interface types.
|
||||
| (`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
|
||||
| This affects virtual interface types like bridges and VXLAN.
|
||||
|
||||
- Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
|
||||
(`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
|
||||
|
||||
Reducing the TX power in the Advanced Settings is recommended.
|
||||
|
||||
- The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
|
||||
(`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
|
||||
|
||||
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is
|
||||
disallowed).
|
||||
|
||||
- Inconsistent respondd API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
|
||||
|
||||
The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.
|
||||
|
47
docs/releases/v2020.1.4.rst
Normal file
47
docs/releases/v2020.1.4.rst
Normal file
@ -0,0 +1,47 @@
|
||||
Gluon 2020.1.4
|
||||
==============
|
||||
|
||||
Added hardware support
|
||||
----------------------
|
||||
|
||||
- Added support for TP-Link CPE210 3.20 (`#2080 <https://github.com/freifunk-gluon/gluon/issues/2080>`_)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fixed a rare race-condition during mesh interface teardown (`#2057 <https://github.com/freifunk-gluon/gluon/pull/2057>`_)
|
||||
|
||||
- Fixed handling of mesh interfaces together with outdoor mode, site.conf defaults and config mode (`#2049 <https://github.com/freifunk-gluon/gluon/pull/2049>`_) (`#2054 <https://github.com/freifunk-gluon/gluon/pull/2054>`_)
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
- Linux kernel has been updated to 4.14.193
|
||||
- Backports of batman-adv bugfixes
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
* Upgrading EdgeRouter-X from versions before v2020.1.x may lead to a soft-bricked state due to bad blocks on the
|
||||
NAND flash which the NAND driver before this release does not handle well.
|
||||
(`#1937 <https://github.com/freifunk-gluon/gluon/issues/1937>`_)
|
||||
|
||||
* The integration of the BATMAN_V routing algorithm is incomplete.
|
||||
|
||||
- Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
|
||||
Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
|
||||
metric.
|
||||
- Throughput values are not correctly acquired for different interface types.
|
||||
(`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
|
||||
This affects virtual interface types like bridges and VXLAN.
|
||||
|
||||
* Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
|
||||
(`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
|
||||
|
||||
Reducing the TX power in the Advanced Settings is recommended.
|
||||
|
||||
* The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
|
||||
(`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
|
||||
|
||||
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is
|
||||
disallowed).
|
@ -189,3 +189,50 @@ still builds and warnings are highlighted, and that Gluon still
|
||||
compiles, by testing a build on the ``x86_64`` target. We expect this to
|
||||
significantly improve the feedback cycle and quality of contributions.
|
||||
|
||||
Known issues
|
||||
************
|
||||
|
||||
* Upgrading EdgeRouter-X from versions before v2020.1.x may lead to a soft-bricked state due to bad blocks on the
|
||||
NAND flash which the NAND driver before this release does not handle well.
|
||||
(`#1937 <https://github.com/freifunk-gluon/gluon/issues/1937>`_)
|
||||
|
||||
* LEDs on TP-Link Archer C5 v1 and Archer C7 v2 are not working after Upgrade to v2020.1
|
||||
(`#1941 <https://github.com/freifunk-gluon/gluon/issues/1941>`_)
|
||||
|
||||
* AVM FRITZ!WLAN Repeater 450E is stuck in failsafe mode. (`#1940 <https://github.com/freifunk-gluon/gluon/issues/1940>`_)
|
||||
|
||||
* Out of memory situations with high client count on ath9k.
|
||||
(`#1768 <https://github.com/freifunk-gluon/gluon/issues/1768>`_)
|
||||
|
||||
* The integration of the BATMAN_V routing algorithm is incomplete.
|
||||
|
||||
- | Mesh neighbors don't appear on the status page. (`#1726 <https://github.com/freifunk-gluon/gluon/issues/1726>`_)
|
||||
| Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput
|
||||
| metric.
|
||||
|
||||
- | Throughput values are not correctly acquired for different interface types.
|
||||
| (`#1728 <https://github.com/freifunk-gluon/gluon/issues/1728>`_)
|
||||
| This affects virtual interface types like bridges and VXLAN.
|
||||
|
||||
* Default TX power on many Ubiquiti devices is too high, correct offsets are unknown
|
||||
(`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
|
||||
|
||||
Reducing the TX power in the Advanced Settings is recommended.
|
||||
|
||||
* The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled
|
||||
(`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
|
||||
|
||||
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is
|
||||
disallowed).
|
||||
|
||||
* Inconsistent respondd API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
|
||||
|
||||
The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.
|
||||
|
||||
* Frequent reboots due to out-of-memory or high load due to memory pressure on weak hardware especially in larger
|
||||
meshes (`#1243 <https://github.com/freifunk-gluon/gluon/issues/1243>`_)
|
||||
|
||||
Optimizations in Gluon 2018.1 have significantly improved memory usage.
|
||||
There are still known bugs leading to unreasonably high load that we hope to
|
||||
solve in future releases.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
-- This is an example site configuration for Gluon v2020.1
|
||||
-- This is an example site configuration for Gluon v2020.1.4
|
||||
--
|
||||
-- Take a look at the documentation located at
|
||||
-- https://gluon.readthedocs.io/ for details.
|
||||
|
@ -8,7 +8,7 @@ Gluon's releases are managed using `Git tags`_. If you are just getting
|
||||
started with Gluon we recommend to use the latest stable release of Gluon.
|
||||
|
||||
Take a look at the `list of gluon releases`_ and notice the latest release,
|
||||
e.g. *v2020.1*. Always get Gluon using git and don't try to download it
|
||||
e.g. *v2020.1.4*. Always get Gluon using git and don't try to download it
|
||||
as a Zip archive as the archive will be missing version information.
|
||||
|
||||
Please keep in mind that there is no "default Gluon" build; a site configuration
|
||||
@ -44,7 +44,7 @@ Building the images
|
||||
-------------------
|
||||
|
||||
To build Gluon, first check out the repository. Replace *RELEASE* with the
|
||||
version you'd like to checkout, e.g. *v2020.1*.
|
||||
version you'd like to checkout, e.g. *v2020.1.4*.
|
||||
|
||||
::
|
||||
|
||||
@ -208,6 +208,12 @@ GLUON_TARGET
|
||||
Special variables
|
||||
.................
|
||||
|
||||
GLUON_AUTOREMOVE
|
||||
Setting ``GLUON_AUTOREMOVE=1`` enables the ``CONFIG_AUTOREMOVE`` OpenWrt setting, which will delete package build
|
||||
directories after a package build has finished to save space. This is mostly useful for CI builds from scratch. Do
|
||||
not set this flag during development (or generally, when you want you reuse your build tree for subsequent builds),
|
||||
as it significantly increases incremental build times.
|
||||
|
||||
GLUON_DEBUG
|
||||
Setting ``GLUON_DEBUG=1`` will provide firmware images including debugging symbols usable with GDB or
|
||||
similar tools. Requires a device or target with at least 16 MB of flash space, e.g. `x86-64`. Unset by default.
|
||||
|
@ -218,6 +218,11 @@ brcm2708-bcm2709
|
||||
ipq40xx-generic
|
||||
---------------
|
||||
|
||||
* Aruba
|
||||
|
||||
- AP-303
|
||||
- Instant On AP11
|
||||
|
||||
* AVM
|
||||
|
||||
- FRITZ!Box 4040 [#avmflash]_
|
||||
@ -265,9 +270,6 @@ lantiq-xway
|
||||
* AVM
|
||||
|
||||
- FRITZ!Box 7312 [#avmflash]_
|
||||
- FRITZ!Box 7320 [#avmflash]_ [#lan_as_wan]_
|
||||
- FRITZ!Box 7330 [#avmflash]_ [#lan_as_wan]_
|
||||
- FRITZ!Box 7330 SL [#avmflash]_ [#lan_as_wan]_
|
||||
|
||||
mpc85xx-generic
|
||||
---------------
|
||||
|
6
modules
6
modules
@ -2,15 +2,15 @@ GLUON_FEEDS='packages routing gluon'
|
||||
|
||||
OPENWRT_REPO=https://git.openwrt.org/openwrt/openwrt.git
|
||||
OPENWRT_BRANCH=openwrt-19.07
|
||||
OPENWRT_COMMIT=aed6632d31ff5d29045dc904dedc840d902aad97
|
||||
OPENWRT_COMMIT=5af8da37870dc05dbe2e57e04be714b80f4aa21d
|
||||
|
||||
PACKAGES_PACKAGES_REPO=https://github.com/openwrt/packages.git
|
||||
PACKAGES_PACKAGES_BRANCH=openwrt-19.07
|
||||
PACKAGES_PACKAGES_COMMIT=03b412db2e3f9b42c4a55e13ce0c6de3c757895b
|
||||
PACKAGES_PACKAGES_COMMIT=59d39c09d84fb08675cc58d4ec32837e9163b017
|
||||
|
||||
PACKAGES_ROUTING_REPO=https://github.com/openwrt-routing/packages.git
|
||||
PACKAGES_ROUTING_BRANCH=openwrt-19.07
|
||||
PACKAGES_ROUTING_COMMIT=8d5ee29f088e9dfaa49dc74573edb1919f14dbf4
|
||||
PACKAGES_ROUTING_COMMIT=b77498bd56d5e45ab4577a1f4ad6ffc55b4a86b7
|
||||
|
||||
PACKAGES_GLUON_REPO=https://github.com/freifunk-gluon/packages.git
|
||||
PACKAGES_GLUON_COMMIT=12e41d0ff07ec54bbd67a31ab50d12ca04f2238c
|
||||
|
@ -21,9 +21,27 @@ return function(form, uci)
|
||||
if data ~= outdoor_mode then
|
||||
uci:set('gluon', 'wireless', 'outdoor', data)
|
||||
uci:save('gluon')
|
||||
|
||||
if data == false then
|
||||
local mesh_ifaces_5ghz = {}
|
||||
uci:foreach('wireless', 'wifi-device', function(config)
|
||||
if config.hwmode ~= '11a' and config.hwmode ~= '11na' then
|
||||
return
|
||||
end
|
||||
|
||||
local radio_name = config['.name']
|
||||
local mesh_iface = 'mesh_' .. radio_name
|
||||
table.insert(mesh_ifaces_5ghz, mesh_iface)
|
||||
end)
|
||||
for _, mesh_iface in ipairs(mesh_ifaces_5ghz) do
|
||||
uci:delete('wireless', mesh_iface)
|
||||
end
|
||||
uci:save('wireless')
|
||||
end
|
||||
|
||||
os.execute('/lib/gluon/upgrade/200-wireless')
|
||||
end
|
||||
end
|
||||
|
||||
return {'gluon', 'wireless'}
|
||||
return {'gluon', 'network', 'wireless'}
|
||||
end
|
||||
|
@ -279,6 +279,16 @@ config KERNEL_NETFILTER_XT_MATCH_CONNTRACK
|
||||
select KERNEL_NETFILTER_XTABLES
|
||||
select KERNEL_NF_CONNTRACK
|
||||
|
||||
config KERNEL_IP_NF_RAW
|
||||
bool
|
||||
select KERNEL_IP_NF_IPTABLES
|
||||
|
||||
config KERNEL_NETFILTER_XT_TARGET_CT
|
||||
bool
|
||||
select KERNEL_NETFILTER_XTABLES
|
||||
select KERNEL_NF_CONNTRACK
|
||||
select KERNEL_IP_NF_RAW
|
||||
|
||||
|
||||
# kmod-ipt-nat
|
||||
|
||||
@ -344,6 +354,7 @@ config GLUON_SPECIALIZE_KERNEL
|
||||
select KERNEL_NETFILTER_XT_TARGET_TCPMSS
|
||||
select KERNEL_NETFILTER_XT_MATCH_STATE
|
||||
select KERNEL_NETFILTER_XT_MATCH_CONNTRACK
|
||||
select KERNEL_NETFILTER_XT_TARGET_CT
|
||||
select KERNEL_IP_NF_NAT
|
||||
select KERNEL_IP_NF_TARGET_MASQUERADE
|
||||
select KERNEL_IP_NF_TARGET_REDIRECT
|
||||
|
@ -84,7 +84,7 @@ local function is_disabled(name)
|
||||
if uci:get('wireless', name) then
|
||||
return uci:get_bool('wireless', name, 'disabled')
|
||||
else
|
||||
return false
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
@ -161,12 +161,13 @@ local function fixup_wan(radio, index)
|
||||
uci:set('wireless', name, 'macaddr', macaddr)
|
||||
end
|
||||
|
||||
local function configure_mesh_wireless(radio, index, config)
|
||||
local function configure_mesh_wireless(radio, index, config, disabled)
|
||||
local radio_name = radio['.name']
|
||||
local suffix = radio_name:match('^radio(%d+)$')
|
||||
|
||||
configure_mesh(config.mesh(), radio, index, suffix,
|
||||
first_non_nil(
|
||||
disabled,
|
||||
is_disabled('mesh_' .. radio_name),
|
||||
config.mesh.disabled(false)
|
||||
)
|
||||
@ -213,7 +214,7 @@ util.foreach_radio(uci, function(radio, index, config)
|
||||
util.add_to_set(hostapd_options, 'country3=0x4f')
|
||||
uci:set_list('wireless', radio_name, 'hostapd_options', hostapd_options)
|
||||
|
||||
uci:delete('wireless', 'mesh_' .. radio_name)
|
||||
configure_mesh_wireless(radio, index, config, true)
|
||||
else
|
||||
uci:delete('wireless', radio_name, 'channels')
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
lock /var/lock/gluon_bat0.lock
|
||||
batctl interface del "$IFNAME" 2>/dev/null
|
||||
batctl interface -M del "$IFNAME" 2>/dev/null
|
||||
lock -u /var/lock/gluon_bat0.lock
|
||||
|
@ -33,7 +33,7 @@ local function has_mesh_vpn_neighbours()
|
||||
end
|
||||
|
||||
if uci:get_bool('tunneldigger', 'mesh_vpn', 'enabled') then
|
||||
if io.popen('pgrep tunneldigger'):read('*l') ~= read_pid_file() then
|
||||
if io.popen('pgrep -x /usr/bin/tunneldigger'):read('*l') ~= read_pid_file() then
|
||||
os.execute('logger -t tunneldigger-watchdog "Process-Pid does not match with pid-File."')
|
||||
restart_tunneldigger()
|
||||
return
|
||||
|
@ -25,6 +25,7 @@ uci:section('firewall', 'rule', 'client_respondd', {
|
||||
target = 'ACCEPT',
|
||||
})
|
||||
|
||||
-- Allow respondd-access from within the mesh
|
||||
uci:section('firewall', 'rule', 'mesh_respondd_ll', {
|
||||
name = 'mesh_respondd_ll',
|
||||
src = 'mesh',
|
||||
@ -43,4 +44,19 @@ uci:section('firewall', 'rule', 'mesh_respondd_siteprefix', {
|
||||
target = 'ACCEPT',
|
||||
})
|
||||
|
||||
uci:delete_all('firewall', 'rule', function(rule)
|
||||
return rule['.name']:find('^mesh_respondd_extraprefix')
|
||||
end)
|
||||
|
||||
for idx, prefix in ipairs(site.extra_prefixes6({})) do
|
||||
uci:section('firewall', 'rule', 'mesh_respondd_extraprefix' .. idx, {
|
||||
name = 'mesh_respondd_extraprefix' .. idx,
|
||||
src = 'mesh',
|
||||
src_ip = prefix,
|
||||
dest_port = '1001',
|
||||
proto = 'udp',
|
||||
target = 'ACCEPT',
|
||||
})
|
||||
end
|
||||
|
||||
uci:save('firewall')
|
||||
|
@ -1,4 +1,4 @@
|
||||
<form method="post" enctype="multipart/form-data" action="<%|url(request)%>">
|
||||
<form method="post" enctype="multipart/form-data" action="<%|url(request)%>" data-update="reset">
|
||||
<input type="hidden" name="token" value="<%=token%>" />
|
||||
<input type="hidden" name="<%=id%>" value="1" />
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -517,7 +517,7 @@
|
||||
for (var i = 0, node; (node = nodes[i]) !== undefined; i++) {
|
||||
var events = node.getAttribute('data-update').split(' ');
|
||||
for (var j = 0, event; (event = events[j]) !== undefined; j++) {
|
||||
bind(node, event, update);
|
||||
bind(node, event, function () {setTimeout(update, 0);});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
local iwinfo = require 'iwinfo'
|
||||
local uci = require("simple-uci").cursor()
|
||||
local site = require 'gluon.site'
|
||||
local util = require 'gluon.util'
|
||||
|
||||
|
||||
@ -47,13 +48,18 @@ f:section(Section, nil, translate(
|
||||
))
|
||||
|
||||
|
||||
local mesh_vifs_5ghz = {}
|
||||
|
||||
|
||||
uci:foreach('wireless', 'wifi-device', function(config)
|
||||
local radio = config['.name']
|
||||
|
||||
local is_5ghz = false
|
||||
local title
|
||||
if config.hwmode == '11g' or config.hwmode == '11ng' then
|
||||
title = translate("2.4GHz WLAN")
|
||||
elseif config.hwmode == '11a' or config.hwmode == '11na' then
|
||||
is_5ghz = true
|
||||
title = translate("5GHz WLAN")
|
||||
else
|
||||
return
|
||||
@ -72,10 +78,16 @@ uci:foreach('wireless', 'wifi-device', function(config)
|
||||
function o:write(data)
|
||||
uci:set('wireless', t .. '_' .. radio, 'disabled', not data)
|
||||
end
|
||||
|
||||
return o
|
||||
end
|
||||
|
||||
vif_option('client', translate('Enable client network (access point)'))
|
||||
vif_option('mesh', translate("Enable mesh network (802.11s)"))
|
||||
|
||||
local mesh_vif = vif_option('mesh', translate("Enable mesh network (802.11s)"))
|
||||
if is_5ghz then
|
||||
table.insert(mesh_vifs_5ghz, mesh_vif)
|
||||
end
|
||||
|
||||
local phy = util.find_phy(config)
|
||||
if not phy then
|
||||
@ -119,6 +131,13 @@ if has_5ghz_radio() then
|
||||
local outdoor = r:option(Flag, 'outdoor', translate("Node will be installed outdoors"))
|
||||
outdoor.default = uci:get_bool('gluon', 'wireless', 'outdoor')
|
||||
|
||||
for _, mesh_vif in ipairs(mesh_vifs_5ghz) do
|
||||
mesh_vif:depends(outdoor, false)
|
||||
if outdoor.default then
|
||||
mesh_vif.default = not site.wifi5.mesh.disabled(false)
|
||||
end
|
||||
end
|
||||
|
||||
function outdoor:write(data)
|
||||
uci:set('gluon', 'wireless', 'outdoor', data)
|
||||
end
|
||||
@ -157,6 +176,7 @@ end
|
||||
function f:write()
|
||||
uci:commit('gluon')
|
||||
os.execute('/lib/gluon/upgrade/200-wireless')
|
||||
uci:commit('network')
|
||||
uci:commit('wireless')
|
||||
end
|
||||
|
||||
|
@ -0,0 +1,73 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Wed, 27 Apr 2022 19:01:39 +0200
|
||||
Subject: ecdsautils: verify: fix signature verification (CVE-2022-24884)
|
||||
|
||||
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
|
||||
diff --git a/utils/ecdsautils/Makefile b/utils/ecdsautils/Makefile
|
||||
index 7f1c76f0301f56b0a88c1f6a1a0147397fde25c7..5ba893be69d40279cd6f5c9e544e941d0011f451 100644
|
||||
--- a/utils/ecdsautils/Makefile
|
||||
+++ b/utils/ecdsautils/Makefile
|
||||
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ecdsautils
|
||||
PKG_VERSION:=0.3.2.20160630
|
||||
-PKG_RELEASE:=1
|
||||
+PKG_RELEASE:=2
|
||||
PKG_REV:=07538893fb6c2a9539678c45f9dbbf1e4f222b46
|
||||
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
diff --git a/utils/ecdsautils/patches/0001-verify-fix-signature-verification-CVE-2022-24884.patch b/utils/ecdsautils/patches/0001-verify-fix-signature-verification-CVE-2022-24884.patch
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..34d80cc201c0e87ca654c3def4fbbbddf622b0ba
|
||||
--- /dev/null
|
||||
+++ b/utils/ecdsautils/patches/0001-verify-fix-signature-verification-CVE-2022-24884.patch
|
||||
@@ -0,0 +1,48 @@
|
||||
+From 1d4b091abdf15ad7b2312535b5b95ad70f6dbd08 Mon Sep 17 00:00:00 2001
|
||||
+Message-Id: <1d4b091abdf15ad7b2312535b5b95ad70f6dbd08.1651078760.git.mschiffer@universe-factory.net>
|
||||
+From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
+Date: Wed, 20 Apr 2022 22:04:07 +0200
|
||||
+Subject: [PATCH] verify: fix signature verification (CVE-2022-24884)
|
||||
+
|
||||
+Verify that r and s are non-zero. Without these checks, an all-zero
|
||||
+signature is always considered valid.
|
||||
+
|
||||
+While it would be nicer to error out in ecdsa_verify_prepare_legacy()
|
||||
+already, that would require users of libecdsautil to check a return value
|
||||
+of the prepare step. To be safe, implement the fix in an API/ABI-compatible
|
||||
+way that doesn't need changes to the users.
|
||||
+---
|
||||
+ src/lib/ecdsa.c | 10 ++++++++++
|
||||
+ 1 file changed, 10 insertions(+)
|
||||
+
|
||||
+diff --git a/src/lib/ecdsa.c b/src/lib/ecdsa.c
|
||||
+index 8cd7722be8cd..a661b56bd7c8 100644
|
||||
+--- a/src/lib/ecdsa.c
|
||||
++++ b/src/lib/ecdsa.c
|
||||
+@@ -135,6 +135,12 @@ regenerate:
|
||||
+ void ecdsa_verify_prepare_legacy(ecdsa_verify_context_t *ctx, const ecc_int256_t *hash, const ecdsa_signature_t *signature) {
|
||||
+ ecc_int256_t w, u1, tmp;
|
||||
+
|
||||
++ if (ecc_25519_gf_is_zero(&signature->s) || ecc_25519_gf_is_zero(&signature->r)) {
|
||||
++ // Signature is invalid, mark by setting ctx->r to an invalid value
|
||||
++ memset(&ctx->r, 0, sizeof(ctx->r));
|
||||
++ return;
|
||||
++ }
|
||||
++
|
||||
+ ctx->r = signature->r;
|
||||
+
|
||||
+ ecc_25519_gf_recip(&w, &signature->s);
|
||||
+@@ -149,6 +155,10 @@ bool ecdsa_verify_legacy(const ecdsa_verify_context_t *ctx, const ecc_25519_work
|
||||
+ ecc_25519_work_t s2, work;
|
||||
+ ecc_int256_t w, tmp;
|
||||
+
|
||||
++ // Signature was detected as invalid in prepare step
|
||||
++ if (ecc_25519_gf_is_zero(&ctx->r))
|
||||
++ return false;
|
||||
++
|
||||
+ ecc_25519_scalarmult(&s2, &ctx->u2, pubkey);
|
||||
+ ecc_25519_add(&work, &ctx->s1, &s2);
|
||||
+ ecc_25519_store_xy_legacy(&w, NULL, &work);
|
||||
+--
|
||||
+2.36.0
|
||||
+
|
@ -248,18 +248,50 @@ if (env.GLUON_REGION or '') ~= '' then
|
||||
tplink_region_suffix = '-' .. env.GLUON_REGION
|
||||
end
|
||||
|
||||
device('tp-link-cpe210-v1.0', 'cpe210-220-v1', {
|
||||
aliases = {'tp-link-cpe210-v1.1', 'tp-link-cpe220-v1.1'},
|
||||
device('tp-link-cpe210-v1', 'cpe210-220-v1', {
|
||||
aliases = {
|
||||
'tp-link-cpe220-v1',
|
||||
},
|
||||
manifest_aliases = {
|
||||
'tp-link-cpe210-v1.0',
|
||||
'tp-link-cpe210-v1.1',
|
||||
'tp-link-cpe220-v1.1',
|
||||
},
|
||||
})
|
||||
device('tp-link-cpe210-v2.0', 'cpe210-v2')
|
||||
device('tp-link-cpe210-v3.0', 'cpe210-v3')
|
||||
|
||||
device('tp-link-cpe510-v1.0', 'cpe510-520-v1', {
|
||||
aliases = {'tp-link-cpe510-v1.1', 'tp-link-cpe520-v1.1'},
|
||||
device('tp-link-cpe210-v2', 'cpe210-v2', {
|
||||
manifest_aliases = {
|
||||
'tp-link-cpe210-v2.0',
|
||||
},
|
||||
})
|
||||
device('tp-link-cpe210-v3', 'cpe210-v3', {
|
||||
manifest_aliases = {
|
||||
'tp-link-cpe210-v3.0',
|
||||
'tp-link-cpe210-v3.1',
|
||||
'tp-link-cpe210-v3.20',
|
||||
},
|
||||
})
|
||||
|
||||
device('tp-link-wbs210-v1.20', 'wbs210-v1')
|
||||
device('tp-link-wbs510-v1.20', 'wbs510-v1')
|
||||
device('tp-link-cpe510-v1', 'cpe510-520-v1', {
|
||||
aliases = {
|
||||
'tp-link-cpe520-v1',
|
||||
},
|
||||
manifest_aliases = {
|
||||
'tp-link-cpe510-v1.0',
|
||||
'tp-link-cpe510-v1.1',
|
||||
'tp-link-cpe520-v1.1',
|
||||
},
|
||||
})
|
||||
|
||||
device('tp-link-wbs210-v1', 'wbs210-v1', {
|
||||
manifest_aliases = {
|
||||
'tp-link-wbs210-v1.20',
|
||||
},
|
||||
})
|
||||
device('tp-link-wbs510-v1', 'wbs510-v1', {
|
||||
manifest_aliases = {
|
||||
'tp-link-wbs510-v1.20',
|
||||
},
|
||||
})
|
||||
|
||||
device('tp-link-tl-wr710n-v1', 'tl-wr710n-v1', {
|
||||
packages = { 'zram-swap' },
|
||||
|
@ -31,6 +31,7 @@ end
|
||||
|
||||
config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set'
|
||||
|
||||
config 'CONFIG_DEVEL=y'
|
||||
config 'CONFIG_ALL_NONSHARED=y'
|
||||
|
||||
config '# CONFIG_PACKAGE_usbip is not set' -- fails to build
|
||||
@ -41,6 +42,8 @@ config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set'
|
||||
|
||||
config 'CONFIG_PACKAGE_ATH_DEBUG=y'
|
||||
|
||||
try_config 'CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=256'
|
||||
|
||||
config '# CONFIG_KERNEL_IP_MROUTE is not set'
|
||||
config '# CONFIG_KERNEL_IPV6_MROUTE is not set'
|
||||
|
||||
@ -51,6 +54,10 @@ if envtrue.GLUON_MULTIDOMAIN then
|
||||
config 'CONFIG_GLUON_MULTIDOMAIN=y'
|
||||
end
|
||||
|
||||
if envtrue.GLUON_AUTOREMOVE then
|
||||
config 'CONFIG_AUTOREMOVE=y'
|
||||
end
|
||||
|
||||
if envtrue.GLUON_DEBUG then
|
||||
config 'CONFIG_DEBUG=y'
|
||||
config 'CONFIG_NO_STRIP=y'
|
||||
@ -62,9 +69,11 @@ end
|
||||
|
||||
|
||||
packages {
|
||||
'-kmod-ipt-offload',
|
||||
'-odhcpd-ipv6only',
|
||||
'-ppp',
|
||||
'-ppp-mod-pppoe',
|
||||
'-urngd',
|
||||
'-wpad-mini',
|
||||
'-wpad-basic',
|
||||
'gluon-core',
|
||||
|
@ -2,7 +2,3 @@ device('avm-fritz-box-7312', 'avm_fritz7312', {
|
||||
factory = false,
|
||||
})
|
||||
|
||||
device('avm-fritz-box-7320', 'avm_fritz7320', {
|
||||
factory = false,
|
||||
aliases = {'avm-fritz-box-7330', 'avm-fritz-box-7330-sl'},
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user