Commit Graph

1719 Commits

Author SHA1 Message Date
Jan-Niklas Burfeind
df56dc18f6 gluon-mesh-vpn-core: migrate to spdx license header 2023-01-09 22:34:54 +01:00
Jan-Niklas Burfeind
79873e51d6 gluon-mesh-babel: migrate to spdx license header 2023-01-09 22:34:00 +01:00
Jan-Niklas Burfeind
7b2b2d13fa gluon-mesh-batman-adv: migrate to spdx license header 2023-01-09 22:33:03 +01:00
Jan-Niklas Burfeind
4a9d2bdb67 gluon-autoupdater: migrate to spdx license header 2023-01-09 22:28:30 +01:00
Jan-Niklas Burfeind
1e90e904cc
Merge pull request #2569 from T-X/pr-gluon-l3roamd-deprecate-node-client-prefix6
gluon-l3roamd: site: make node_client_prefix6 optional+deprecated
2023-01-08 02:26:28 +01:00
T-X
8f6eae9a8b
Merge pull request #2745 from AiyionPrime/gluon-ebtables-limit-arp-license
gluon-ebtables-limit-arp: license
2023-01-08 00:11:25 +01:00
Linus Lüssing
b3a9221b07 gluon-l3roamd: site: make node_client_prefix6 optional+deprecated
The site.node_client_prefix6() is only used internally by the l3roamd
protocol. Therefore it is unnecessary to expose it to an administrator.

Instead, if node_client_prefix6 is unspecified in the site, generate an
IPv6 Unique Local Address prefix from the site domain_seed.

This updates the site documentation as well and marks this setting as
both optional and deprecated.

Note: If you had the node_client_prefix6 specified before and want to
use the new autogeneration from the domain_seed instead then this will
break compatibility and will need a gluon-scheduled-domain switch.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-01-07 23:41:24 +01:00
David Bauer
7bf8de457a
Merge pull request #2710 from AiyionPrime/wavlink-backport-draft
Wavlink WS-WN572HP3 (4G)
2023-01-05 21:48:24 +01:00
Andreas Ziegler
cd38de1bda
Merge pull request #2746 from AiyionPrime/html-indentation
html indentation
2023-01-05 00:19:57 +01:00
Jan-Niklas Burfeind
b03496ae5c
Merge pull request #2743 from AiyionPrime/fix-shell-indentation
treewide: fix indentation in .sh files
2023-01-04 21:47:18 +01:00
Jan-Niklas Burfeind
8067a77f59 mt7621: add Wavlink Wavlink WS-WN572HP3 4G 2023-01-04 20:53:58 +01:00
David Bauer
40cf3bc905
Merge pull request #2631 from blocktrron/cellular-support
gluon-core / web: add cellular WWAN support
2023-01-04 20:31:19 +01:00
Jan-Niklas Burfeind
524044c552 packages: fix html indentation 2023-01-04 12:36:17 +01:00
Jan-Niklas Burfeind
961ca53c54 gluon-web: migrate to spdx license header 2023-01-04 12:35:33 +01:00
Jan-Niklas Burfeind
cf0c007829 gluon-web-admin: migrate to spdx license header 2023-01-04 12:35:33 +01:00
Jan-Niklas Burfeind
ce054e1c45 gluon-config-mode-theme: migrate to spdx license header 2023-01-04 12:35:33 +01:00
Matthias Schiffer
34ba8b3047
Merge pull request #2730 from AiyionPrime/minimized-js-naming
Minimized js naming
2023-01-04 12:05:19 +01:00
Jan-Niklas Burfeind
0ec3207830 gluon-web-osm: add minify flag support 2023-01-03 20:16:09 +01:00
Jan-Niklas Burfeind
389314f58a gluon-web-model: add minify flag support 2023-01-03 20:16:09 +01:00
Jan-Niklas Burfeind
6c0f224456 gluon-status-page: mark minified js as such 2023-01-03 20:15:49 +01:00
Jan-Niklas Burfeind
4738610d5d gluon-ebtables-limit-arp: replace deprecated license identifier
"GPL-2.0+" with its successor "GPL-2.0-or-later"
2023-01-03 11:04:29 +01:00
Jan-Niklas Burfeind
34dcf4c978 gluon-ebtables-limit-arp: drop LICENSE file in favor of spdx 2023-01-03 11:04:29 +01:00
Jan-Niklas Burfeind
c05abb4179 package/gluon-*/luasrc: fix lua indentation 2023-01-03 10:23:22 +01:00
Jan-Niklas Burfeind
5ccbaed6f5 gluon-web-autopupdater: migrate to spdx license header 2023-01-03 10:18:41 +01:00
Jan-Niklas Burfeind
2aa3527fdc treewide: fix indentation in .sh files
to match the editorconfig

awk code in contrib/sign.sh and contrib/sigtest.sh
reformatted as gawk does
2023-01-03 09:02:28 +01:00
Jan-Niklas Burfeind
886f6387b7 gluon-web-osm: mark minified js as such
changes ln from third to first form (see man ln)
2023-01-03 07:45:43 +01:00
Jan-Niklas Burfeind
5f371a3cd4 gluon-web-model: fix mixed indentation 2023-01-03 07:45:43 +01:00
Jan-Niklas Burfeind
cad694a22a gluon-web-model: mark minified js as such
changes ln from third to first form (see man ln)
2023-01-03 07:45:43 +01:00
David Bauer
c22956ca55 gluon-web-cellular: add package
This adds a new package which allows configuration of Gluons cellular
WWAN capabilities using the configuration mode. This way, a user can
enter APN information as well as the SIM PIN and enable / disable the
functionality.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-01-02 13:59:03 +01:00
David Bauer
55096d55f0 gluon-core: add cellular support
Add cellular configuration support to Gluon. This implementtaion focuses
not on hotpluggable WWAN adapters but instead on embedded LTE modems
found in travel-routers or FWA CPEs.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-01-02 13:59:03 +01:00
Christof Schulze
b6e98169fd
gluon-mmfd: add missing waitforsocket function (#2735)
Fixes #2732
2022-12-27 23:47:33 +01:00
Jan-Niklas Burfeind
8ad1d7a2b4
Merge pull request #2690 from lemoer/pr_batman_respondd_addition_1_ui
gluon-status-page: show gateway_tq
2022-12-15 22:40:40 +01:00
lemoer
a02ff964d5 gluon-status-page: show gateway_tq
The gateway_tq was added to respondd in #2596. Now, we also show it on
the status page.
2022-12-15 20:16:08 +01:00
Jan-Niklas Burfeind
1f87d15912
Merge pull request #2297 from AiyionPrime/gluon-state-check_babeld
gluon-mesh-babel: implement neighbour check
2022-12-14 03:14:48 +01:00
Maciej Krüger
a0db0a46b3
gluon-web-model: resolve hang when submitting form with disabled element
I was made aware of a bug when submitting the form while the element is
disabled based on it's dependencies

The fix was to inherit from AbstractValue instead of just node

AbstractValue's AbstractValue:resolve_node_depends() in particular
solves the issue, but it made more sense to just use the full base class
2022-12-13 21:18:41 +01:00
Maciej Krüger
535cc3f468
gluon-web-private-wifi: add translation for message
Co-authored-by: Matthias Schiffer <mschiffer@universe-factory.net>
2022-12-13 21:18:38 +01:00
Maciej Krüger
08684e90bb
web-private-wifi: add warning about mesh on wan 2022-12-10 22:49:34 +01:00
Maciej Krüger
896c7c6d78
gluon-config-mode-theme: add .gluon-warning class 2022-12-10 22:49:29 +01:00
Maciej Krüger
30a6b76520
gluon-web-model: add Section:element and Element, add Warning template 2022-12-10 22:49:18 +01:00
Jan-Niklas Burfeind
a8dc234550 realtek-rtl838x: add support for D-Link DGS-1210-10P
as well as the target itself
2022-12-09 16:32:22 +01:00
Kistelini
a072a71213
gluon-core: preserve wireless channel width during updates (#2696)
If the uci option 'gluon.wireless.preserve_channels' is set then the channel width of wireless radios (htmode) is preserved during updates, too.
2022-11-08 10:00:27 +01:00
David Bauer
91bfa4f9c5 ramips-mt7621: add support for ZyXEL NWA55AXE 2022-10-31 12:30:37 +01:00
Martin Weinelt
0c66dc86d2
Merge pull request #2600 from herbetom/bridge-isolated-devices 2022-10-18 10:50:03 +02:00
David Bauer
d972a9df2c
gluon-core: use country3 UCI option (#2639)
Use the country3 option implemented in OpenWrt's hostapd configuration
handling instead of adding it as a custom option.

Signed-off-by: David Bauer <mail@david-bauer.net>

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-09-12 16:27:06 +02:00
David Bauer
dd30a6e658
rockchip-armv8: add support for NanoPi R4S (#2633) 2022-09-12 02:44:30 +02:00
David Bauer
bffd263617 gluon-core: return boolean from preserve_channels
This method previously returned the string literal of the config key,
leading to checks evaluating to true even in case this option was
disabled.

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-08-15 20:53:24 +02:00
David Bauer
d9070eb41a gluon-core: provide migration for preserve_channels
The preserve_channels configuration option was moved to the gluon UCI
package without adding a proper migration.

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-08-15 20:53:24 +02:00
David Bauer
50130c3832
gluon-core: increase ath10k peer limit (#2607)
Increase the peer limit for ath10k-ct from 32 to 96 STAs like it is set
for the non-ct firmware / driver. In order to make this work with the
memory constraints of the wireless platform, reduce the number of
concurrent vdevs to the maximum Gluon uses (4).

Closes #2604

Signed-off-by: David Bauer <mail@david-bauer.net>

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-08-10 17:05:51 +02:00
lemoer
70951318bc
gluon-respondd: fix missing section "wifi" for request type "neighbours" (#2599)
The below mentioned commit introduced a regression, that the "wifi"
section of the request type "neighbours" was empty:

    ~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
    {
      "wifi": [
      ],
      ...
    }

After this commit, the section (correctly) looks like this:

    root@UFU-FWH-A272-Tresckowstr-GemR-vorne:~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
    {
      "wifi": {
        "ca:38:7e:42:5f:21": {
          "neighbours": {
            "fe:9f:4d:01:ea:e1": {
              "noise": -102,
              "inactive": 50,
              "signal": -84
            },
            "fe:df:b9:84:37:51": {
              "noise": -102,
              "inactive": 20,
              "signal": -73
            }
          }
        }
      },
      ...
    }

The issue was due to the fact, that the iteration over the (mesh) wifi interfaces
was broken. The code was assuming, that the section

    config interface 'mesh_radio0'
            option proto 'gluon_mesh'

in /etc/config/network contains an option "ifname", which it does not.
The ifname property is only stored in the corresponding section in
/etc/config/wireless:

    config wifi-iface 'mesh_radio0'
            option ifname 'mesh0'
            option network 'mesh_radio0'
            option mode 'mesh'
            ...

Therefore, we now iterate over wifi-ifaces in /etc/config/wireless, that
have the mode 'mesh' instead. This resolves the issue.

Fixes 0f1fa243f7
2022-08-09 22:24:44 +02:00
lemoer
6df0647301
gluon-mesh-batman-adv: add "gateway_tq" field to respondd statistics (#2596)
This new field reflects the TQ to the selected gateway.

Before this commit, if you had connectivity issues in a larger mesh,
it was a tedious task to understand which nodes are affected and which
are not. By providing this new value for each node, it becomes easier
to see which nodes are affected by the connectivity issues and which
are not.

The new field "gateway_tq" is located at the toplevel of the
statistics resource (next to "gateway" and "gateway_nexthop"):

    gluon-neighbour-info -d ::1 -r statistics
    {
        ...
        "gateway": "02:a1:71:04:09:10",
        "gateway_nexthop": "88:e6:40:20:90:10",
        "gateway_tq": 193,
        ...
    }
2022-08-09 21:09:28 +02:00
David Bauer
5600b87014
Merge pull request #2553 from ffgraz/mmfd
Move common firewall rules to respective packages
2022-08-09 20:43:14 +02:00
Tom Herbers
75ceb0d963
web-admin: ignore minor compat-version on upgrade (#2590)
This implements the same behavior as it is used in the autoupdater [1].

This is for example required to allow the manual installation of
firmware upgrades via the config mode on devices which where migrated
from swconfig to DSA. Otherwise the image will always be invalid.

[1] b804281664
2022-08-09 20:16:33 +02:00
Matthias Schiffer
20eea9b9ca
gluon-mesh-vpn-fastd: fix respondd segfault under load (#2594)
When running "fastd -v" fails, line may be NULL, causing a segfault in
strncmp.
2022-08-09 20:09:31 +02:00
Tom Herbers
33779ccd96
gluon-core: enable bridge port isolation for br-mesh_other interfaces 2022-08-09 10:51:55 +02:00
aiyion.prime
26b5764c74 gluon-setup-mode: add fallback led-boot as status
for devices in targets that do no implement `get_status_led` in /etc/diag.sh
and do not have an led-running in their dts
2022-07-10 23:22:11 +02:00
J. Burfeind
11905af169
ath79-generic: (re)add support for UniFi AC Mesh Pro (#2462)
Gone due to
commit 45c84a117b ("ar71xx: drop target")
2022-07-10 23:10:07 +02:00
Matthias Schiffer
e53e4440ae
gluon-core: always store primary MAC address in lowercase hex digits (#2579)
Depending on the source of the primary MAC address, uppercase digits
would be used on some devices. Convert the address to lowercase for
consistency.

We only change the case for newly configured nodes to avoid changing the
node ID and derives MAC addresses for existing installations.
2022-07-08 20:55:24 +02:00
David Bauer
a9fff111bd treewide: rename ip6tables-legacy
The ip6tables-legacy metapackage was renamed to ip6ables-zz-legacy.
2022-07-07 19:06:14 +02:00
Maciej Krüger
242a2dccd5
gluon-mesh-layer3-common: add node_prefix6 to check_site 2022-07-07 13:54:08 +02:00
Maciej Krüger
c3af0aca96
gluon-mesh-layer3-common: add radvd from babel 2022-07-07 13:54:05 +02:00
Maciej Krüger
b5f36c7e00
gluon-mesh-layer3-common: add ip6 from babel 2022-07-07 13:52:25 +02:00
Maciej Krüger
b59eb548b5
gluon-mesh-babel: use layer3 common 2022-07-07 13:52:25 +02:00
Maciej Krüger
85d61f12bd
gluon-mesh-babel: remove common fw rules 2022-07-07 13:52:25 +02:00
Maciej Krüger
0cf6fade94
gluon-mmfd: add firewall rules 2022-07-07 13:52:25 +02:00
Maciej Krüger
583dc69961
gluon-l3roamd: add firewall rules 2022-07-07 13:52:25 +02:00
Maciej Krüger
ef7ef09af8
gluon-mesh-layer3-common: add package 2022-07-07 13:52:24 +02:00
David Bauer
0394047a70
Merge pull request #2574 from blocktrron/lantiq-dsa
lantiq-xrx200: allow updates from swconfig to DSA
2022-07-06 22:20:10 +02:00
David Bauer
c06bdd6cfe
gluon-core: only restore WAN proto on upgrade (#2576)
Only restore the netifd proto for the WAN bridge in case the upgrade is
done from an older Gluon version.

For DSL targets, OpenWrt defaults the WAN proto to pppoe, while Gluon
uses the Ethernet ports for WAN. When unconditionally preserving the WAN
proto, pppoe is carried over to Gluon's network config.

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-07-06 22:19:55 +02:00
timniklas
39f9bf7ac3
ipq40xx-mikrotik: add support for mikrotik-sxtsq-5-ac (#2573)
Co-Authored-By: J. Burfeind <github@aiyionpri.me>

Co-authored-by: Tim-Niklas Koch <info@tnkoch.de>
Co-authored-by: J. Burfeind <github@aiyionpri.me>
2022-07-06 22:18:40 +02:00
David Bauer
3aba0fe610 gluon-core: remove unused lantiq case
There was never a device with a dedicated WAN port supported in Gluon
which could make use of such a workaround.

As the only relevant lantiq-xrx200 target now uses swconfig anyways,
we can remove this workaround.

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-07-05 23:45:07 +02:00
J. Burfeind
e5a6233709
ath79-generic: (re)add WBS510 v1 (#2543)
Gone due to
commit 45c84a117b ("ar71xx: drop target")
2022-07-03 23:49:38 +02:00
David Bauer
ef3e195340
Merge pull request #2548 from AiyionPrime/ath79-lan-split
gluon-core: split dual lan devices
2022-06-25 18:06:46 +02:00
aiyion.prime
8ee1d44567 gluon-core: split dual lan devices 2022-06-25 16:37:45 +02:00
aiyion.prime
ca37f2036c gluon-enter-setup-mode: remove unused pipefail
posix-sh does not support pipefail this way
2022-06-22 14:58:30 +02:00
aiyion.prime
4ab486dd2c run-build.sh, gluon_bat0.sh: add double quotes
to prevent word splitting and globbing
2022-06-22 14:56:12 +02:00
David Bauer
df07fc8040
gluon-client-bridge: simplify OWE-TM configuration (#2550)
OpenWrt now allows to specify the ifname of the transition interface
instead of SSID and BSSID, internally automatically detecting these from
interfaces on the same PHY. Thus, these cross-VAP dependant
configuration can be omitted from UCI.

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-06-19 17:06:02 +02:00
Maximilian Baumgartner
b74287c017
rampis-mt7621: add support for Netgear WAC104 (#2557)
Co-authored-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
2022-06-17 23:27:06 +02:00
J. Burfeind
1f4c5681e4
ath79-generic: add support for CPE710v1 (#2558) 2022-06-17 23:12:36 +02:00
J. Burfeind
1ab1df080e
ath79-generic: (re)add support for NanoStation Loco M2 (XW) (#2547)
Gone due to
commit 45c84a117b ("ar71xx: drop target")
2022-06-16 14:52:05 +02:00
Matthias Schiffer
ae7b87b0f0
Merge pull request #2520 from freifunk-gluon/check-updater-branch
gluon-autoupdater: check default branch name, check number of pubkeys, revert invalid branch on update/reconfigure
2022-06-11 10:32:19 +02:00
J. Burfeind
2887adef5f
ath79-generic: (re)add support for NanoBeam M5 (XW) (#2432)
Gone due to
commit 071cf7b20f ("Switch to Lua for target definitions")

Has prior been introduced as untested -> broken in
commit d586720c5c ("ar71xx-generic: add support for Ubiquiti NanoBeam M5")

Was commented out in the former commit.
2022-05-30 20:44:43 +02:00
Jan
b690939fae
ramips-mt7620: remove "broken" status for ASUS RT-AC51U (#2494) 2022-05-27 21:40:05 +02:00
Matthias Schiffer
92a6b81e8a
gluon-autoupdater: check that good_signatures does not exceed number of provided pubkeys 2022-05-27 12:12:26 +02:00
Matthias Schiffer
53cf8796c7
gluon-autoupdater: revert to default branch when configured branch is invalid
An invalid branch may be set for various reasons:

- Previous firmware had an invalid default branch
- Branch list has changed and old UCI branch config was removed by a
  site-specific upgrade script
- Manual UCI configuration
2022-05-27 12:00:32 +02:00
Matthias Schiffer
2c65f0834b
gluon-autoupdater: factor out default_branch() function
Make the code clearer and prepare for invalid branch fixup.
2022-05-27 12:00:32 +02:00
Matthias Schiffer
db48b6b693
gluon-autoupdater: check default branch name
Check the default branch (both from site.conf and GLUON_AUTOUPDATER_BRANCH)
against the list of configured branch names to avoid misconfiguration.
2022-05-27 12:00:32 +02:00
Matthias Schiffer
d24ae56378
gluon-core: check-site: support checking "custom" values
The new "value" helper can be used to turn a Lua value into a path that
can be passed to need_*() etc.
2022-05-27 12:00:31 +02:00
Matthias Schiffer
674ec7b64a
ath79-generic: re-add support for Ubiquiti UniFi AP Outdoor+ (#2440)
Removed in 45c84a117b ("ar71xx: drop target").
2022-05-26 23:35:18 +02:00
David Bauer
1ef3edbe58
Merge pull request #2352 from lemoer/pr_site_vpn_mtu_in_provider
RFC: gluon-mesh-vpn-*: make MTU of VPN device provider specific
2022-05-22 11:45:10 +02:00
J. Burfeind
36f406746e
gluon-status-page: fix mesh-vpn section for wg (#2502)
Since freifunk-gluon/packages#250 mesh-vpn-peers
can be empty arrays if they're not connected
and the node is in a WireGuard site.
2022-05-21 20:27:14 +02:00
lemoer
7c81897b4c gluon-mesh-vpn-*: make vpn MTU provider specific
If a community uses different vpn providers, they typically
assume the same MTU for the wan device underneath the VPN. As
different VPN providers however have different overhead, the MTU
of the VPN device differs for each provider. Therefore this
commit makes the MTU of the VPN device provider specific.

This has two advantages:
1. The same site.conf can used to bake firmwares for different
   VPN providers (only by selecting a diferent vpn feature in the
   site.mk).
2. We are coming closer to the option of integrating multiple VPN
   providers into one firmware.
2022-05-21 18:12:49 +02:00
Maciej Krüger
57c0bdbf56
gluon-core: add post-setup.d .keep (#2525)
This folder is referenced in files/lib/netifd/proto/gluon_mesh.sh, but 
there's no .keep for it
2022-05-20 18:59:37 +02:00
J. Burfeind
02edf564bd
ath79-generic: (re)add CPE210v3 (#2506)
Gone due to
commit 45c84a117b ("ar71xx: drop target")
2022-05-13 23:36:34 +02:00
Matthias Schiffer
b68f2484ff
treewide: remove leftover GLUON_SPECIALIZE_KERNEL dependencies (#2514)
This was removed in commit c23bc293ef ("treewide: remove
GLUON_SPECIALIZE_KERNEL").
2022-05-08 12:14:03 +02:00
David Bauer
56eaf4aa28
treewide: switch crypto lib to WolfSSL (#2509)
WolfSSL has a significant lower flash footprint. Also, issues with OWE /
SAE connections were fixed in OpenWrt a while ago.

See ddcb970274

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-05-07 15:17:03 +02:00
David Bauer
d656d38c7c mesh-vpn-core: require legacy iptables
Require legacy iptables, as Gluon still depends on firewall3. Otherwise,
nftables is pulled in as a dependency.
2022-05-06 20:55:57 +02:00
David Bauer
3dc3b40819 treewide: replace ip6tables with ip6tables-legacy 2022-04-30 16:35:06 +02:00
Matthias Schiffer
a27edd4baa
Merge pull request #2459 from ffgraz/cm
gluon-setup-mode: add gluon-enter-setup-mode
2022-04-27 18:36:59 +02:00
Matthias Schiffer
1992383134
Merge pull request #2457 from MyIgel/statuspage-fix-tables
gluon-status-page: explicitly add tbody element to fix table manipulation
2022-04-27 17:20:24 +02:00
Igor Scheller
1ceb4428da gluon-status-page: Use querySelector instead of firstElementChild 2022-04-17 23:26:17 +02:00