- Feb 22, 2022
-
-
Matthias Schiffer authored
With the new role-based interface configuration, it would be better to rename the wan/wan6 interfaces to uplink/uplink6, but that would cause unnecessary churn for the firewall configuration, so it is left for a later update. As all interfaces with the 'uplink' role are in the br-wan bridge, it is not possible to assign these to the 'mesh' role independently - instead, br-wan is added as a mesh interface as soon as a single interface has both the 'uplink' and 'mesh' roles. The UCI section for this configuration is now called 'mesh_uplink' instead of 'mesh_wan'. For all interfaces that have the 'mesh', but not the 'uplink' role a second configuration 'mesh_other' is created. If there is more than one such interface, all these interfaces are bridged as well (creating a bridge 'br-mesh_other'). This replaces the 'mesh_lan' section with its optional 'br-mesh_lan' bridge, but can also include interfaces that were not considered "LAN" when interfaces roles are modified (via site.conf or manually).
-
Matthias Schiffer authored
The new configuration generates sections iface_single/lan/wan in /etc/config/gluon. These sections usually refer to a sysconfig-controlled interface list, but adding custom sections with verbatim interfaces names is also possible. Each interface section contains a list of roles. The supported roles are 'client', 'uplink' and 'mesh'. Multiple roles can be configured on the same interface (for example the old 'mesh_on_wan' setting would become 'uplink'+'mesh'). 'client' is subsumed by any other role configured on the same interface ('client'+'mesh' is equivalent to 'mesh'). This property is important, as it allows the Wired Mesh settings in gluon-web-network to simply add and remove the mesh role without having to care what other roles are set - so in the default setup, this would switch between 'client' and 'client'+'mesh' for the LAN interface. By default, the WAN interface has role 'uplink' and the LAN interface 'client'; if only a single interface exists, the roles from the WAN interface are used by default. The default for each of the three interfaces (WAN/LAN/single) can be changed separated in site.conf, superseding the old mesh_on_wan, mesh_on_lan and single_as_lan settings.
-
Matthias Schiffer authored
Do not write files when the content is unchanged. Avoids a few unnecessary filesystem writes when resetting ifname sysconfigs on each upgrade.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
The stdout output of gluon-web scripts is directly sent to uhttpd, becoming a part of the HTML output or even replacing HTTP status or headers. The output of gluon-reconfigure is not supposed to end up there. While we're at it, also add an exec to avoid an unnecessary shell process.
-
- Feb 20, 2022
-
-
Igor Scheller authored
-
- Feb 13, 2022
-
-
Matthias Schiffer authored
The OpenLayers JS/CSS download URL is dead. Update it to make the map work again: - Update from OpenLayers 5.2.0 to 5.3.0 - Switch from the obsolete rawgit.com URL to jsdelivr.net (rawgit.com was only redirecting to jsdelivr.net for the last few years anyways) - Set a fixed commit in the URL, so the URL doesn't become outdated again
-
- Feb 01, 2022
-
-
Matthias Schiffer authored
As gluon-web uses standard multipart/form-data requests, browsers don't enforce any cross-origin restrictions. To prevent malicious injection of POST requests into the config mode, match the Origin header against the Host header of the request.
-
Matthias Schiffer authored
Actually raise an error and turn it into an HTTP 400 return code when something goes wrong, rather than ignoring the error. We also improve the conditions under which errors are thrown before pump() is called: We don't need to check for the multipart/form-data content-type twice, and a POST without this content-type is now always an error.
-
Matthias Schiffer authored
Having a trailing newline is nice when viewing the returned data in a terminal.
-
Matthias Schiffer authored
This was a remnant of LuCI that was never used in gluon-web.
-
- Jan 28, 2022
-
-
Matthias Schiffer authored
Swap the interfaces so than the PoE input port LAN0 is used for WAN and config mode, and LAN1 becomes LAN. To this end, the code previously used for ar71xx and removed in commit 9fdc57c1 ("treewide: drop ar71xx platform specific code") is reintroduced. Fixes #2384
-
- Jan 23, 2022
-
-
Matthias Schiffer authored
-
Matthias Schiffer authored
/etc/config/gluon-core is used for nothing else. As /etc/config/gluon uses a named wireless section, also change the get_first() to get().
-
Matthias Schiffer authored
There wasn't really a reason to have a separate script to set a single value. In addition, the old script was using the identifier 'c' instead of 'uci' for the UCI cursor. Following the convention of the other scripts is helpful so it is easy to grep for all uses of a certain config file/ option.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
- Jan 14, 2022
-
-
Luflosi authored
-
Maciej Krüger authored
Co-Authored-By:
Matthias Schiffer <mschiffer@universe-factory.net>
-
Maciej Krüger authored
Co-Authored-By:
Matthias Schiffer <mschiffer@universe-factory.net>
-
Maciej Krüger authored
Co-Authored-By:
Matthias Schiffer <mschiffer@universe-factory.net>
-
Maciej Krüger authored
This copies the code from web-admin and uses it to create a neat cli-accessible summary about a node This could also be extended or possibly have all the data the status page has Co-Authored-By:
Matthias Schiffer <mschiffer@universe-factory.net>
-
- Jan 07, 2022
-
-
J. Burfeind authored
Fixes: 1cb0fc84 ("gluon-status-page: swap bandwidth limits (#2304)") Resolves #2370
-
- Jan 01, 2022
-
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
- Dec 31, 2021
-
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
Matthias Schiffer authored
More migration code from 2016.
-
Matthias Schiffer authored
The file /lib/gluon/version/core hasn't existed since early 2014, so this whole script is obsolete.
-
- Dec 25, 2021
-
-
Matthias Schiffer authored
announced was renamed to respondd in 2016. Let's remove the obsolete migration code.
-
- Dec 20, 2021
-
-
David Bauer authored
Declare the clock variable as extern in the header file. Fixes compilation of gluon-ebtables-limit-arp with OpenWrt master: multiple definition of `clock'; /gluon/openwrt/tmp/ccuynR0G.o:(.bss+0x230): first defined here Signed-off-by:
David Bauer <mail@david-bauer.net>
-
- Dec 19, 2021
-
-
Matthias Schiffer authored
The migration is done very early, as other upgrade scripts depend on the band setting through platform.device_uses_11a().
-
David Bauer authored
The 'hwmode' setting has been replaced with 'band' in OpenWrt to add support for newer bands outside of 2.4G and 5G. Adjust Gluon accordingly. [Matthias Schiffer: rebased, extended commit message]
-
- Dec 16, 2021
-
-
Matthias Schiffer authored
In meshes without VPN or supernodes, it may be desirable to connect a router providing IPv4 addresses directly to a regular Gluon node. For this to work, it was necessary to remove the gluon-ebtables-filter-ra-dhcp package from the node, so the autoupdater also needed to be disabled. To avoid this, make gluon-ebtables-filter-ra-dhcp disable the DHCPv4 filter rules when gw_mode is set to 'server'. No solution is provided for RA/DHCPv6, but this seems less pressing for local meshes, as nodes can already provide working IPv6 connectivity by themselves through gluon-radvd.
-
- Dec 15, 2021
-
-
Matthias Schiffer authored
The network.wireless status ubus call only returns the configured channel from UCI, breaking the status page in outdoor mode, where the configuration contains 'auto' instead of a number. Fixes: 0d3fa6b5 ("gluon-status-page: use ubus to get radio channels") Closes #2336
-
- Nov 12, 2021
-
-
aiyion.prime authored
-
aiyion.prime authored
In js `return` does behave like `continue` in a forEach() iteration. The fixed function was intended to return nothing on error and does so now, instead of a shorter (useless) array like before.
-
- Oct 16, 2021
-
-
Matthias Schiffer authored
Calling functions like recv() with a NULL buffer is not explicitly allowed by the POSIX standard, so it must be avoided to be portable across different libc implementations. Allocate an initial buffer before handling requests, and also pass this buffer to the peek recv() call. Fixes: 531937cf ("gluon-neighbour-info: fix broken output with large results")
-