- Aug 14, 2020
-
-
Matthias Schiffer authored
Reorder scripts so that the mesh_lan interface is accounted for. Two other firewall upgrade scripts (mesh-babel and l3roamd) are reordered as well. While there seems to be no hard dependency at the moment, it makes sense to run the basic setup first, also to avoid problems with future changes. Closes: #2090 Fixes: ed094bc6 ("gluon-core: firewall: Allow custom gluon_wired interfaces (#2041)")
-
- Aug 08, 2020
-
-
David Bauer authored
This adds the wireless client count for 2.4GHz and 5 GHz radios to the status page. Previously, only the total client count advertised by the mesh protocol was visible.
-
- Jul 05, 2020
-
-
David Bauer authored
This will hide the outdoor mode setting on compatible devices in case the defined channels should be preserved. Otherwise a user might be under the impression their device is compliant with outdoor operation when in reality it still uses prohibited channels.
-
Matthias Schiffer authored
Allow replacing the default OSM layer with a custom XYZ layer in site.conf.
-
- Jul 03, 2020
-
-
Matthias Schiffer authored
Replace the ugly arrow shown in Firefox with a custom SVG arrow. Tested and working in Firefox, Chrome and Edge. The arrow doesn't show in IE, but the gluon-web-model JavaScript is already severely broken in IE, so we don't care.
-
- Jul 02, 2020
-
-
Matthias Schiffer authored
Remove unused and obsolete code.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
- Jul 01, 2020
-
-
Matthias Schiffer authored
- #pragma once include guard - include string.h to get memset and memcmp prototypes to fix respondd provider build warning
-
Matthias Schiffer authored
When the network connectivity is bad, routers may not appear in the translation tables, or there may be no originator with TQ >0. Such conditions to not warrant spamming the log with error messages.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
The `features` file is converted to a Lua-based DSL. A helper function `_` is used in the DSL; this will return the original string for enabled features, and nil for disabled features. This allows to use boolean operations on features without making the code too verbose. Besides having more readable and robust code, this also fixes the bug that all files `packages/*/features` were evaluated instead of only using the feature definitions of currently active feeds.
-
- Jun 30, 2020
-
-
David Bauer authored
This commit changes the behavior for the wan-dnsmasq to read the interfaces to update the DNS servers on from flag-files. This way, external custom packages which add a custom VPN WAN interface can update the DNS server gluon is using for WAN resolving.
-
- Jun 21, 2020
-
-
Matthias Schiffer authored
On lantiq, the default WAN ifname is 'dsl0' even on devices that have a separate WAN port. At least on devices using swconfig we can override this with the switch port labelled as 'wan'.
-
- Jun 14, 2020
-
-
Matthias Schiffer authored
Instead of looking at the initial UCI config, we can read this information from board.json.
-
- Jun 13, 2020
-
-
Matthias Schiffer authored
With very bad timing, it is possible that the teardown script of a gluon_mesh interface runs when bat0 was just created, but primary0 is not yet added to it. Although there is no hardif to remove in this case, bat0 will still be deleted, because there is no hardif in bat0. Disable the interface removal logic by passing `-M` to `batctl interface`.
-
- Jun 12, 2020
-
-
Matthias Schiffer authored
There is no setting to explicitly enable mesh interfaces in the config wizard, so we need to enable mesh interfaces by default when the outdoor mode is disabled (unless site.conf dictates otherwise). The simplest way to achieve this is to delete the 5GHz mesh interface sections when outdoor mode is disabled: 200-wireless would delete and recreate them a moment later anyways, but by deleting them earlier we ensure that the disabled status is initialized from site.conf again.
-
Matthias Schiffer authored
When disabling outdoor mode, 5GHz mesh interfaces should be enabled by default again (unless disabled in site.conf).
-
- Jun 11, 2020
-
-
Matthias Schiffer authored
Because is_disabled() was always returning true or false, the first_non_nil() would never actually check the default setting from site.conf. This was broken since v2017.1. Fixes: 6cf03bab ("treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies")
-
- Jun 10, 2020
-
-
David Bauer authored
Backporting the MFP patch allows us to utilize WPA3 features on this target. Tested on TP-Link Archer C20i
-
- Jun 06, 2020
-
-
Matthias Schiffer authored
With 11a3b566 ("gluon-web-model: add dependency support for sections"), a "reset" function was added to all model nodes. This conflicts with the "reset" field of the Form object, making reset buttons show labels like "function: 0xbb8d50" and possibly breaking form processing when packages override the reset field.
-
Matthias Schiffer authored
The interfaces should always exist and just be disabled when outdoor mode is enabled. Not creating them at all leads to an issue in the advanced wifi settings where an additional reload of the page is necessary after enabling or disabling the ourdoor mode to make the mesh VIF options appear or disappear.
-
Matthias Schiffer authored
Instead of relying on the existence of interface sections only (which is still used for the case of interface types that are not configured at all in the site config), add a proper dependency. This fixes section visiblity with enabled outdoor mode after the following fix, and gives the user immediate feedback (allowing to disable outdoor mode and enable meshing in a single step).
-
Matthias Schiffer authored
- Return early - Rename to has_active_interfaces(), as it returns a boolean
-
Matthias Schiffer authored
200-wireless will add or remove the mesh network sections of /etc/config/network. Commit this file, so the modified setting doesn't get lost on reboot. Fixes: #2048
-
- Jun 05, 2020
-
-
Matthias Schiffer authored
Validation errors are mostly handled in the frontend (by displaying invalid fields with a red background). There was some code left in the backend for handling different kinds of errors, and returning custom error messages from validate(), but the resulting value was not used anywhere.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
- Jun 04, 2020
-
-
Matthias Schiffer authored
- Add a dependency array to section template - Lift dependency handling from AbstractValue to Node - Split resolve_depends() into a function handling dependencies of a node itself (resolve_node_depends()), which now is used for all nodes, and the existing recursive descent through the node tree - When any node's dependencies are not satisfied, all descendents are reset recursively, meaning that an option in a section that is hidden will always be ignored, as if the option's own dependencies were unsatisfied Fixes: #1349
-
Matthias Schiffer authored
This is currently unused in our packages.
-
Matthias Schiffer authored
Fixes dependency tracking for individual <option> elements (currently unused).
-
Matthias Schiffer authored
- If luasrcdiet fails for a Lua script, this is a bug that should be noticed rather than including the unminified script - Use .tmp suffix for temporary file rather than .o - Replace chmod + stat + mv with simpler cp + rm to overwrite file while preserving file mode
-
- Jun 01, 2020
-
-
Matthias Schiffer authored
Also make babel match batman-adv and only emit the wireless/tunnel/other fields when they are non-empty. Fixes: #1783
-
Matthias Schiffer authored
gluonutil_get_interface_lower() recursively determines the lower of an interface until the base interface is found. gluonutil_get_interface_type() tries do distinguish wired, wireless and tunnel interfaces. For tunnel interfaces, TUN/TAP, L2TPETH and Wireguard are supported at the moment.
-
Matthias Schiffer authored
- Rename obtain_if_addr() to get_linklocal_address() - Pass buffer of size INET6_ADDRSTRLEN instead of the oversized NI_MAXHOST - Check if an address is link-local before converting to a string - Replace an incorrect use of strncmp() with strcmp() - Return status to caller - Streamline control flow While we're at it, the function handle_neighbour(), which is one of the callers of get_linklocal_address() is slightly cleaned up as well.
-
- May 31, 2020
-
-
Jan-Jonas Sämann authored
This allows for multiple mesh legs out of one box. Useful for offloaders and networks using vlan for separate mesh transport. Custom mesh interfaces in a VXLAN domain are otherwise firewalled. This fixes #1479
-
- May 29, 2020
-
-
David Bauer authored
This adds support for the beacon interval to be set on a per-band base. This has the potential to reduce the amount of airtime used up for sending beacon frames.
-
- May 28, 2020
-
-
Jan-Tarek Butt authored
[Matthias Schiffer: fix up start/stop order and file permissions]
-
David Bauer authored
Separate wireless-related helper methods from the util module to a new wireless module. This keeps them separated, as the amount of wireless helpers increased in the past, justifying a separate module.
-
Matthias Schiffer authored
xt_CT was added to kmod-ipt-conntrack a while back. Update our GLUON_SPECIALIZE_KERNEL rules accordingly. When building xt_CT into the kernel, one of the symbols IP_NF_RAW and IP6_NF_RAW must be enabled as well, even though there is no runtime dependency when building as modules. The kernel grows by less than 1KB even when both IP_NF_RAW and NETFILTER_XT_TARGET_CT are enabled, making this change a (very slight) net win in both flash and RAM usage.
-