Commit Graph

1512 Commits

Author SHA1 Message Date
Matthias Schiffer fcd07de676
gluon-radv-filterd: downgrade frequent messages to DEBUG_MSG
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.
2020-07-02 00:10:45 +02:00
Matthias Schiffer e384f899b7
gluon-radv-filterd: remove unneeded memset 2020-07-02 00:10:29 +02:00
Matthias Schiffer ee5ec5afe5 build: rewrite features.sh in Lua
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.
2020-07-01 20:35:22 +02:00
Matthias Schiffer 8a79d0249f
gluon-scheduled-domain-switch: move gluon-switch-domain to /lib/gluon/scheduled-domain-switch
This script is an implementation detail - let's not clutter the global
$PATH namespace with a script with such a generic name.
2020-06-30 23:49:01 +02:00
Matthias Schiffer 60351a1f19
gluon-core: allow to switch domains during reconfiguration
When gluon.core.switch_domain is set, it replaces the old domain.

This also replaces an unnecessary uci:commit() with uci:save().
2020-06-30 23:49:01 +02:00
Matthias Schiffer 62e71fbc40
gluon-core: run gluon-reconfigure on boot when gluon.core.need_reconfigure is set 2020-06-30 23:49:00 +02:00
Matthias Schiffer cf0dc24463
gluon-setup-mode: create symlinks in install script
The package rebuild logic of OpenWrt only checks regular files. Avoid
symlinks in the files directory to make rebuilds more robust.
2020-06-30 23:48:55 +02:00
David Bauer 9be7a5cad7
gluon-wan-dnsmasq: read interfaces to update from flag-files (#2060)
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.
2020-06-30 16:37:09 +02:00
Matthias Schiffer fa0e2d06b6
gluon-core: lantiq: use WAN interface from switch0 configuration
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'.
2020-06-21 17:47:45 +02:00
Matthias Schiffer 5e44f7cdde
gluon-core: get LAN and WAN interfaces from board.json
Instead of looking at the initial UCI config, we can read this
information from board.json.
2020-06-14 12:38:53 +02:00
David Bauer baa53b4d8b
Merge pull request #2052 from blocktrron/rt2x00-80211w
mac80211: rt2800: enable MFP support unconditionally
2020-06-13 19:07:52 +02:00
Matthias Schiffer 92647cd47a
gluon-mesh-batman-adv: do not delete bat0 during hardif teardown (#2057)
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`.
2020-06-13 18:44:46 +02:00
Matthias Schiffer 17bc622892
gluon-config-mode-outdoor: enable 5GHz mesh interfaces when disabling outdoor mode
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.
2020-06-12 19:27:01 +02:00
Matthias Schiffer d2052431dd
gluon-web-wifi-config: default to enabled 5GHz mesh interfaces when disabling outdoor mode
When disabling outdoor mode, 5GHz mesh interfaces should be enabled by
default again (unless disabled in site.conf).
2020-06-12 19:13:20 +02:00
Matthias Schiffer 3c2593b684
gluon-core: fix handling of 'disabled' site.conf attributes for mesh interfaces
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: 6cf03bab37 ("treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies")
2020-06-11 23:52:22 +02:00
David Bauer 2611e86438 gluon-core: allow WPA3 features on ramips-mt7620
Backporting the MFP patch allows us to utilize WPA3 features on this
target.

Tested on TP-Link Archer C20i
2020-06-10 22:45:01 +02:00
David Bauer 5d51b7dc2a
Merge pull request #2049 from freifunk-gluon/outdoor-mode-commit
Fix /etc/config/network commit for outdoor mode change, and related fixes
2020-06-07 03:09:00 +02:00
Matthias Schiffer e8c65ef75f
gluon-web-model: fix conflicting table fields "reset"
With 11a3b56617 ("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.
2020-06-06 17:23:21 +02:00
Matthias Schiffer b15b008e69
gluon-core: create disabled mesh interface sections in outdoor mode
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.
2020-06-06 17:12:13 +02:00
Matthias Schiffer d012d7d32f
gluon-web-wifi-config: make mesh VIF options depend on outdoor=false
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).
2020-06-06 17:12:13 +02:00
Matthias Schiffer 53c33acaf9
gluon-web-wifi-config: rename and simplify filter_active_interfaces()
- Return early
- Rename to has_active_interfaces(), as it returns a boolean
2020-06-06 17:12:12 +02:00
Matthias Schiffer 600ab99f80
gluon-config-mode-outdoor, gluon-web-wifi-config: commit network config
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
2020-06-06 16:47:35 +02:00
Matthias Schiffer 45b518df11 gluon-web-model: remove unused field error message code
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.
2020-06-05 21:46:30 +02:00
Matthias Schiffer 5adbaf2907 gluon-web-model: remove dead code for section errors 2020-06-05 21:46:30 +02:00
Matthias Schiffer e6859ca031 gluon-web-model: remove unused tag_invalid and tag_missing fields 2020-06-05 21:46:30 +02:00
Matthias Schiffer 11a3b56617 gluon-web-model: add dependency support for sections
- 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
2020-06-04 22:54:28 +02:00
Matthias Schiffer 35950b44b7 gluon-web-model: fix passing additional variables from form template to sections
This is currently unused in our packages.
2020-06-04 22:54:28 +02:00
Matthias Schiffer 3951607e53 gluon-web-model: fix deplist() argument list
Fixes dependency tracking for individual <option> elements (currently
unused).
2020-06-04 22:54:28 +02:00
Matthias Schiffer 50adb097fa
build: make GluonSrcDiet simpler and more robust (#2033)
- 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
2020-06-04 22:53:14 +02:00
Matthias Schiffer 3fda210f85
gluon-mesh-{batman-adv,babel}: respondd: use libgluonutil to determine interface type
Also make babel match batman-adv and only emit the wireless/tunnel/other
fields when they are non-empty.

Fixes: #1783
2020-06-01 21:45:33 +02:00
Matthias Schiffer 41b3c91284
libgluonutil: introduce gluonutil_get_interface_lower() and gluonutil_get_interface_type()
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.
2020-06-01 21:15:47 +02:00
Matthias Schiffer 72c71d35ac
gluon-mesh-babel: clean up link-local address handling
- 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.
2020-06-01 14:50:40 +02:00
David Bauer 6a15c704cd gluon-wireless-encryption-wpa3: switch to hostapd-wolfssl
This switches hostapd variant used for SAE and OWE from hostapd-openssl
to hostapd-wolfssl.

The bug shich one broke the wolfssl implementation was resolved upstream
with commit 631c437a91c2 ("hostapd: backport wolfssl bignum fixes").
This particular commit also got backported to OpenWrt 19.07.
2020-06-01 11:24:24 +02:00
Jan-Jonas Sämann ed094bc68c
gluon-core: firewall: Allow custom gluon_wired interfaces (#2041)
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
2020-05-31 10:57:58 +02:00
David Bauer e951ff6e21 gluon-core: add support for configuring the beacon interval
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.
2020-05-30 00:47:33 +02:00
Jan-Tarek Butt 22847e4986
gluon-reload: add missing service restarts on domain switching
[Matthias Schiffer: fix up start/stop order and file permissions]
2020-05-28 23:30:25 +02:00
Matthias Schiffer 20c7fd9881
Merge pull request #2011 from freifunk-gluon/board-json-addresses
Look up primary MAC address through board.json for LAN/WAN
2020-05-28 22:30:14 +02:00
David Bauer b1de28bab1 gluon-core: move wireless-related utils to wireless module
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.
2020-05-28 21:46:23 +02:00
Matthias Schiffer fcc6877c8b gluon-core: build in xt_CT with GLUON_SPECIALIZE_KERNEL
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.
2020-05-28 19:40:29 +02:00
Ruben Barkow-Kuder 891bfc77ac
gluon-client-bridge: simplify boolean expressions (#2031) 2020-05-25 01:13:30 +02:00
lemoer 14481851f6
gluon-status-page: show primary_domain 2020-05-21 18:09:08 +02:00
lemoer b9c1a026b1
gluon-respondd: emit "primary_domain_code" in nodeinfo
Closes #1974

Situation:
==========

$ ls -l /lib/gluon/domains/lindennord.json
lrwxrwxrwx    1 root     root            10 Jan  6 03:42 /lib/gluon/domains/lindennord.json -> dom17.json

Before:
=======

$ gluon-neighbour-info -d ::1 -p 1001 -r nodeinfo -c 1
{
   "node_id": "525400123456",
   "system": {
     "domain_code": "lindennord",
     "site_code": "ffh"
   },
...
}

After:
======

$ gluon-neighbour-info -d ::1 -p 1001 -r nodeinfo -c 1
{
   "node_id": "525400123456",
   "system": {
     "primary_domain_code": "dom17",
     "domain_code": "lindennord",
     "site_code": "ffh"
   },
...
}
2020-05-21 18:09:05 +02:00
lemoer bcf57467dd libgluonutil: implement gluonutil_get_primary_domain()
Implemented using readlink() and basename() to the selected domain in
/lib/gluon/domains/${DOMAIN}.json.
2020-05-21 18:08:36 +02:00
lemoer 0c2a52c19f
libgluonutil: fix double free of domain_code when domain is not existing 2020-05-21 18:03:58 +02:00
lemoer 57516fe4e7
Add GLUON_MINIFY flag to allow skipping the minification process (#1916) 2020-05-13 00:45:06 +02:00
Matthias Schiffer 3daacfb92e
Merge pull request #2013 from freifunk-gluon/outdoor-setup-ifname
Reuse outdoor device logic for setup mode interface selection, plus some cleanup
2020-05-12 20:39:30 +02:00
Matthias Schiffer b842ec43ff gluon-mesh-batman-adv: do not override WAN MAC address with VXLAN
As a partial fix to #496, do not touch the MAC address of the WAN
interface when using VXLANs (as only the MAC address of the VXLAN
interface matters to batman-adv).
2020-05-12 17:02:37 +02:00
Matthias Schiffer 8807c76a34
gluon-setup-mode: remove obsolete sysconfig.config_ifname migration
config_ifname was renamed to setup_ifname in Gluon v2015.1.
2020-05-10 16:38:42 +02:00
Matthias Schiffer e9687d7ef1
gluon-setup-mode: use is_outdoor_device() for setup_ifname selection
On PoE-powered devices, we usually want to use WAN for the setup mode.
As all outdoor devices are PoE-powered, we can reuse this function. This
switches the setup mode interface for new installations / after config
reset on a few devices that were missing in this list before.
2020-05-10 16:38:42 +02:00
Matthias Schiffer 0dd9a3e07c
gluon-core: platform: add 2.4GHz-only outdoor devices 2020-05-10 16:38:41 +02:00
Matthias Schiffer f4fe58cfd7
gluon-core: ignore is_outdoor_device() value on devices without 5GHz radio 2020-05-10 16:38:41 +02:00
Matthias Schiffer 5ec08d841d
gluon-core: platform: clean up device_supports_mfp()
- Use util.find_phy()
- Stop foreach() as soon as the result is known
2020-05-10 16:38:41 +02:00
Matthias Schiffer 3ccf7fdd96
gluon-mesh-vpn-fastd: clean up peers and groups on update
The 'preserve' flag can be used to mark a peer so it is not removed or
modified on upgrades. In addition, groups containing preserved peers are
not removed.

Fixes: #557
2020-05-10 14:30:25 +02:00
Matthias Schiffer b019c703c9
gluon-mesh-vpn-fastd: reduce complexity of upgrade script 2020-05-10 13:06:00 +02:00
Matthias Schiffer e93dca7cb3
gluon-core: primary-mac: replace all eth0/eth1 lookups with lan/wan
The netdev() lookup is confusing to use: whenever a interface does not
exist during boot (for example VLAN) or when the address is overridden
from board.json (which is not obvious at all), it will yield either no
address, or a different address than expected.

To avoid this confusion, using board.json-based interface() is
preferable. This converts all uses of netdev() to the corresponding
lan/wan lookups, except for the final fallback for eth0.
2020-05-08 19:56:36 +02:00
Matthias Schiffer 02e4a13069
gluon-core: primary-mac: add fallback to netdev address to interface()
In most cases, board.json does not contain any MAC addresses; in this
case, the default MAC address of the underlying interface is to be used.
2020-05-08 19:55:41 +02:00
Matthias Schiffer 2250665d18
gluon-core: primary-mac: cleanup
- Replace misnamed, closure-returning sysfs() to a reusable read() function
- Rename eth() to netdev(), pass full interface name
- Rename board() to interface()
- Split reuable get_netdev_addr() out of netdev()
2020-05-08 19:55:40 +02:00
Matthias Schiffer 0c5b5373bb
gluon-core: primary-mac: load board.json only once 2020-05-08 19:55:40 +02:00
Matthias Schiffer c90b400ce5
Merge pull request #2008 from ctr49/master
add hardware: Linksys EA6350 v3
2020-05-08 19:15:39 +02:00
ctr49 02a908ee2f get primary_mac from board(wan) 2020-05-06 01:12:26 +02:00
Matthias Schiffer 0e681d5c37
gluon-core: util: avoid unintended second return value from gsub()
gsub() returns the number of matches as its second return value. This
was unintendedly passed through by the util functions trim() and
node_id(). It can be presumed that this had no effect in practice, but
it can lead to surprising output when passing values to print() for
debugging.
2020-05-04 23:38:22 +02:00
ctr49 e8767bc747 define primary mac 2020-05-04 21:44:47 +02:00
Martin Weinelt 9b19883d97 add gluon-logging package
Allows reconfigurtion of remote syslog from within site.conf.

Conflicts with the gluon-web-logging package as user made changes
will be overwritten, because this package will reconfigure the syslog
destination on every upgrade.

Resolves #1845
2020-04-30 01:54:35 +02:00
Jan Luebbe 6a371d88f0 gluon-setup-mode: start urngd instead of haveged
OpenWRT 19.07 enables urngd by default, so haveged is redundant.
2020-04-30 01:51:42 +02:00
Jan Luebbe 35b4a97cce gluon-autoupdater: start/stop urngd instead of haveged
OpenWRT 19.07 enables urngd by default, so haveged is redundant.
2020-04-30 01:51:42 +02:00
Matthias Schiffer 696b4316da gluon-web-autoupdater: use human-readable names as branch labels, sort by label
Use the value of the `name` site.conf field as label (it was
accidentally unused before).

Our site.conf currently doesn't define a specific order for the branch
entries. To avoid changing branch orders, sort entries by this label.

Fixes: #1961
2020-04-26 15:31:59 +02:00
Matthias Schiffer 778bf90561
gluon-mesh-batman-adv: add UCI setting for hop penalty
Add a UCI setting gluon.mesh_batman_adv.hop_penalty

Example UCI commands:

    uci set gluon.mesh_batman_adv=mesh_batman_adv
    uci set gluon.mesh_batman_adv.hop_penalty=20
    uci commit

`/etc/config/gluon` config section:

    config mesh_batman_adv 'mesh_batman_adv'
    	option hop_penalty '20'

Fixes: #1942
2020-04-20 23:35:07 +02:00
David Bauer c5f43add3d gluon-core: add OWE MAC-assignment
Fixes commit 6692095f9d
2020-04-11 15:14:05 +02:00
Matthias Schiffer 7b7cde7256
Merge pull request #1970 from Kasalehlia/fix-form-reset
gluon-web-model: update inputs on form reset
2020-04-09 23:17:39 +02:00
Jan Alexander 17b49e20ee ath79-generic: add support for GL.iNet GL-AR750S 2020-04-09 20:29:24 +02:00
Jan Alexander 016b323a17 gluon-status-page: set fixed layout and responsive view for data tables 2020-04-07 22:34:23 +02:00
Kasalehlia bf090a8a83 gluon-web-model: update inputs on form reset
Register to 'reset' event on form element and make call to 'update' function
delayed in 'data-update' handler to allow the form values to update beforehand.

When using a form's 'reset' button, form field visibility was not updated.
This could lead to situations where a checkbox had to be toggled again
twice to display the detail text inputs. (Example taken from private
wifi package)
2020-04-05 12:47:49 +02:00
Martin Weinelt 3fb4cdad13 gluon-respondd: allow queries from extra_prefix6
Fixes #1959
2020-04-04 22:13:10 +02:00
David Bauer 59a4cd63b8 gluon-respondd: expose OWE clients in nodeinfo
Provide the number of OWE stations in addition to the number of all
connected wireless clients.
2020-04-01 01:15:38 +02:00
David Bauer 9720be5112 gluon-web-wifi-config: set state of OWE VAP 2020-04-01 01:15:38 +02:00
David Bauer 6692095f9d gluob-client-bridge: add support for OWE encryption 2020-04-01 01:15:38 +02:00
David Bauer c7fa1927aa gluon-web-private-wifi: enable WPA3 configuration
This allows a user to enable WPA3-Personal and WPA2-WPA3-MM for the
private WiFi in case it is supported by the platform.
2020-03-25 02:05:18 +01:00
David Bauer 86b5104790 gluon-core: add WPA3 platorm helper
This adds a helper method, which determines if the current platform
supports WPA3 or not.

WPA3 is supported if
 - the device is not in the featureset category "tiny"
 - the WiFi driver supports 802.11w management frame protection
2020-03-25 02:05:18 +01:00
David Bauer 00e029500e features: add hostapd-mini by default
If WPA3 is not selected as a feature, autmatically include
hostapd-mini.
2020-03-25 02:05:18 +01:00
David Bauer b057015455 gluon-wireless-encryption: add package
The gluon-wireless-encryption package selects a WPA3 supporting
hostapd package as a dependency and stores the information, which
encryption method is supported to the device.
2020-03-25 02:05:18 +01:00
Martin Weinelt 461d904086 Add gluon-mesh-wireless-sae package
This package adds support for SAE on 802.11s mesh connections.

Enabling this package will require all 802.11s mesh connections
to be encrypted using the SAE key agreement scheme. The security
of SAE relies upon the authentication through a shared secret.

In the context of public mesh networks a shared secret is an
obvious oxymoron. Still this functionality provides an improvement
over unencrypted mesh connections in that it protects against a
passive attacker who did not observe the key agreement. In addition
Management Frame Protection (802.11w) gets automatically enabled on
mesh interfaces to prevent protocol-level deauthentication attacks.

If `wifi.mesh.sae` is enabled a shared secret will automatically be
derived from the `prefix6` variable. This is as secure as it gets
for a public mesh network.

For *private* mesh networks `wifi.mesh.sae_passphrase` should be
set to your shared secret.

Fixes #1636
2020-03-23 17:06:43 +01:00
Matthias Schiffer 3bd67ab25f gluon-core: retrieve primary MAC address from board.json for Netgear DGN3500B 2020-03-14 16:26:08 +01:00
Matthias Schiffer 2e265e03c1
gluon-core: refactor primary MAC logic
Remove a lot of redundant code by switching to a match table listing
the targets and boards for each candidate for the primary MAC interface.

In addition, we add some flexiblity by allow to switch out the sysfs file
data source for the MAC address.
2020-03-12 18:52:23 +01:00
Matthias Schiffer 59d182fe54
gluon-core: gluon.platform: allow omitting target and subtarget
Allow wildcard matches on all subtargets of a target, or a full wildcard
always returning true when no arguments are passed.
2020-03-12 00:27:05 +01:00
Jan Alexander 5591d3e745 ipq40xx-generic: add support for EnGenius ENS620EXT 2020-03-09 02:15:50 +01:00
Ralf Jung 68d970e91b
gluon-mesh-vpn-tunneldigger: only search for exactly the tunneldigger binary in watchdog (#1953) 2020-03-08 13:42:25 +01:00
Steffen Förster 79ca7a7baa ramips-mt7620: add support for tp-link archer c20 v1 (#1866)
Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 8x LED (GPIO-controlled*), 2x button, power input switch
- 1 x USB 2.0 port
2020-01-20 23:26:04 +01:00
Matthias Schiffer d3d2204e1a
Merge pull request #1879 from freifunk-gluon/respondd-cleanup
gluon-mesh-* respondd cleanup (part 1?)
2020-01-17 21:50:32 +01:00
Dark4MD fbb59cfd60 ramips-mt7620: add support for TP-Link Archer C20i 2020-01-10 02:37:54 +01:00
lemoer 74bdf79be0 gluon-neighbour-info: use default port 1001 and default dest ::1 2020-01-10 00:13:37 +01:00
Dark4MD 19e0f7959e ramips-mt7620: add support for TP-Link Archer C50 v1 2020-01-09 00:53:21 +01:00
Dark4MD 13f16ed737 ramips-mt7620: add support for TP-Link Archer C2 v1 2020-01-08 19:12:34 +01:00
Matthias Schiffer 8446772d07
gluon-site: add missing build depends on gluon-web/host 2019-12-23 12:02:37 +01:00
Jan-Tarek Butt dd76e0898d
treewide: solve shellcheck warnings 2019-12-14 18:35:11 +01:00
lemoer 82082d8c62 gluon-status-page: add gateway_nexthop to statistics 2019-12-05 17:00:59 +01:00
Martin Weinelt 580b7357d5 Revert gluon-status-page gateway_nexthop changes
This reverts commits
- caf2dd037b.
- 07ebac6a49
- 55eff45f96

I accidentally pushed these commits as I had them lying around on a
dirty checkout I did testing on.
2019-12-01 16:22:34 +01:00
Martin Weinelt a8beae5189 Merge remote-tracking branch 'lemoer/pr_status_page_gateway_nexthop' 2019-11-27 12:37:50 +01:00
Simon Terzenbach 04421f60ac ath79-generic: add support for devolo WiFi pro 1750x 2019-11-26 11:57:31 +01:00
Matthias Schiffer ba42412527
Merge pull request #1877 from christf/respondd
gluon-mesh-babel: Fix packets leaving wrong interface
2019-11-24 13:16:19 +01:00
Christof Schulze d5b08fe6c9 gluon-mesh-babel: depend on gluon-mmfd 2019-11-24 12:31:04 +01:00
Christof Schulze 2389679380 gluon-mesh-babel: use babel 1.9.0 feature to set pref-src on installed routes 2019-11-24 12:31:04 +01:00
Matthias Schiffer ecc29e0b09
gluon-mesh-batman-adv: further cleanup of respondd provider
- Split into multiple files
- Avoid alloca()
2019-11-24 12:04:58 +01:00
Matthias Schiffer 0f1fa243f7
Move common code from gluon-mesh-babel and -batman-adv respondd providers to gluon-respondd
In addition this PR contains:
- split of gluon-respondd provider into multiple source files
- minor additional cleanups in gluon-mesh-babel respondd provider
  (untested, as the babel respondd provider already doesn't compile prior
  to these changes...)
2019-11-24 12:04:58 +01:00
Matthias Schiffer f34b302b22
gluon-mesh-babel: remove explicit ubus socket specification, convert timeout to expected units 2019-11-24 12:04:58 +01:00
lemoer 55eff45f96 gluon-status-page: prettify nextnode when node is offline 2019-11-24 02:38:55 +01:00
lemoer 07ebac6a49 gluon-status-page: show gateway_nexthop and gateway in one table row 2019-11-24 02:12:47 +01:00
lemoer caf2dd037b gluon-status-page: add gateway_nexthop to status page statistics 2019-11-24 01:19:17 +01:00
Matthias Schiffer b4101e54e0
gluon-mesh-batman-adv: remove remaining deprecated sysfs usage
While we're at it, also slightly optimize proto_gluon_bat0_renew.
2019-11-24 01:10:59 +01:00
Matthias Schiffer f715a58fdb
gluon-mesh-batman-adv: remove obsolete no_rebroadcast setting 2019-11-24 00:53:54 +01:00
Matthias Schiffer abf46c5f42
gluon-mesh-babel: fix compilation of respondd provider
Adjust for changed libbabelhelper API.
2019-11-23 23:36:33 +01:00
Matthias Schiffer 4ee5f3590b
gluon-respondd: fix format string type mismatches 2019-11-23 18:56:44 +01:00
Matthias Schiffer 43b1368b70
gluon.mk: depend on luasrcdiet/host instead of luci-base/host
We don't use anything else from luci-base anymore.
2019-11-23 17:28:17 +01:00
Matthias Schiffer 23fd9cd0f9
gluon-web: import po2lmo tool from luci-base
The code is slightly cleaned up to fix compiler warnings.
2019-11-23 17:28:17 +01:00
David Bauer 3ca6abe7b1 ath79-generic: add support for OCEDO Raccoon (#1869) 2019-11-20 13:46:18 +01:00
bobcanthelpyou 4b962f24d1 treewide: update i18n files via i18n-scan.pl and msgmerge (#1784) 2019-11-09 01:25:33 +01:00
Matthias Schiffer 02c7503f74 gluon-mesh-batman-adv: remove MTU workaround for VLAN-on-WLAN
We don't support VLANs on 11s interfaces, so the workaround can be dropped
with the IBSS support.
2019-11-07 19:48:16 +01:00
Matthias Schiffer 066158a27b gluon-core: drop IBSS support 2019-11-07 19:48:16 +01:00
Matthias Schiffer 2fdb3080ce
gluon-web-wifi-config: drop IBSS enable setting 2019-11-06 22:03:51 +01:00
Misanthropos b359ed1887 gluon-setup-mode: add DECT button to enter setup mode
many AVM devices do not have RESET/WPS buttons. So use the otherwise unused DECT/PHONE button to boot the device into setup mode.

This patch allows to enter the setup-mode by pressing the phone button
(often labeled as DECT) in addition to WPS and reset button.

This patch is necessary to allow supporting boards without a WPS and reset
button (e.g. AVM FRITZ!Box 7312).
2019-11-06 14:59:23 +01:00
Matthias Schiffer a3a8d962fc
gluon-web-node-role: fix node role list
Fixes: 4249d65af7 ("treewide: fix luacheck warnings")
Closes: #1851
2019-11-05 20:05:16 +01:00
David Bauer e3bdfeefa1 ipq806x: rename target to ipq806x-generic
This commit accounts for the target renaming which was done in upstream
commit 7407e723991 ("ipqx0xx: add Generic subtarget")
2019-11-04 17:22:46 +01:00
David Bauer 88e6bc5278 ipq40xx: rename target to ipq40xx-generic
This commit accounts for the target renaming which was done in upstream
commit 7407e723991 ("ipqx0xx: add Generic subtarget")
2019-11-04 17:22:46 +01:00
David Bauer ab2efef7f9 mpc85xx-p1020: add support for OCEDO Panda (#1847) 2019-11-03 18:59:00 +01:00
David Bauer dc8d5d3ca9 gluon-setup-mode: get status-led from device-tree
With this commit, the status-led is set to be the "led-running"
device-tree alias for targets which do not implement the get_status_led
method in /etc/diag.sh.
2019-10-30 00:06:14 +01:00
Matthias Schiffer b262b72563 gluon-mesh-batman-adv: adjust to removal of batman-adv UCI config 2019-10-30 00:06:14 +01:00
David Bauer 75fa7e73db gluon-setup-mode: fix dropbear hostkey generation
Upstream commit 5eb7864a changed the method name for host-key
generation.
2019-10-30 00:06:14 +01:00
David Bauer 966f398782 modules: switch to OpenWrt 19.07 2019-10-30 00:06:14 +01:00
Marssl78 b823b80356 ar71xx-generic: add support for TP-Link Archer C60 v2 (#1840) 2019-10-06 22:11:02 +02:00
lemoer 21397ce678 gluon-status-page: add domain and site (#1820) 2019-09-30 02:00:17 +02:00
Christof Schulze 6d64057536 gluon-mesh-babel: neighbours-babel: adjust to libbabelhelper interface
specify command 'dump' for now until babeld supports filtering
2019-09-29 22:44:39 +02:00
Christof Schulze 33fb58bbf9 gluon-mesh-babel: getnumber() allocate sufficient memory including \0 byte
increase size of path by 1 to be able to fit the full path including trailing \0 byte into array
2019-09-29 22:44:39 +02:00
Matthias Schiffer 5b97d36c7e gluon-mesh-batman-adv: remove gluon-mesh-batman-adv-14 2019-09-25 21:57:52 +02:00
Tata 6742584e12 gluon-config-mode-geo-location: allow to set location independently from sharing it (#1537)
also properly delete location data when a user disables
the location option after re-entering config-mode.
2019-09-24 09:56:40 +02:00
Christof Schulze 6aee8e95e8 gluon-mmfd: add package (#1802) 2019-09-23 21:34:53 +02:00
Linus Lüssing 302a795189 Revert "gluon-mesh-batman-adv: reenable batman-adv multicast optimizations"
This reverts commit 9b1eb40fe7.

With the batman-adv v2019.2 upgrade reverted (c1a7733956), the batman-adv
multicast-to-multi-unicast feature is not available yet. Without that it is
going to be very unlikely of the batman-adv multicast optimizations to
take effect. E.g. some outdated nodes would disable it.

To avoid confusion and diversion with a few communities having it enabled
and most implicitly deactivated, just deactivate it for all for now
until batman-adv is updated to v2019.2 or greater again.
2019-09-21 23:28:12 +02:00
Christof Schulze a3fd203e13 gluon-mesh-babel: add dependency: gluon-l3roamd
gluon-mesh-babel conigures babeld and thus the mesh. This mesh is only usable
with routes to the clients which are discovered by l3roamd.
2019-09-14 00:32:55 +02:00
Christof Schulze d5a4f4fd8c gluon-mesh-babel: distribute routes to 2000::/3 2019-09-14 00:32:55 +02:00
Christof Schulze 59b7625e54 gluon-l3roamd: utilize node_client_prefix6 from site, add checks
* add check_site.lua to validate required field from site
* make use of node_client_prefix6 if defined in site
2019-09-14 00:32:55 +02:00
Matthias Schiffer b2f5f71c43
gluon-web-wifi-config: fix incorrect UCI call
Fixes #1809

Fixes: bf55249159 ("gluon-core: add outdoor support for 5 ghz radios")
2019-09-06 20:37:37 +02:00
Christof Schulze bd543db86b gluon-core: enhance mac_to_ip() beyond RFC 4291 (#1798)
mac_to_ip() calculates an ipv6 address from a mac address according to
RFC 4291. For wireguard we have to use specially crafted addresses that
must be unique. This allows calculating such unique mac-based addresses
by allowing to optionally specifying the bytes to be inserted into the
address.
2019-08-23 20:42:23 +02:00
Linus Lüssing cb899874dc
gluon-mesh-batman-adv: allow installing mesh-batman-adv-14 and -15 at the same time
The new routing_algo site.conf value BATMAN_IV_LEGACY is introduced. With
these changes, the routing_algo setting becomes mandatory.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-08-22 20:09:10 +02:00
Linus Lüssing f9e68be4e0
gluon-mesh-batman-adv: respondd: determine compat version from release version
We cannot add the same file (here: /lib/gluon/mesh-batman-adv/compat) to
two, installed packages. Therefore, instead of determining the compat
version number from this file, infer it from the batman-adv release
version number instead.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-08-22 20:09:10 +02:00
Matthias Schiffer dcb18e6efe
features: include gluon-radvd by default
Fixes #1775
2019-08-21 19:34:12 +02:00
Chrissi^ dc8149abc4
gluon-mesh-vpn-core: Add dependency for KERNEL_NET_ACT_POLICE
This is a fix for the broken ingress traffic-shaping in gluon v2018.2.2
and possibly earlier.

For ingress traffic shaping the kernel option NET_ACT_POLICE is needed.
Before this patch there was no dependency to this. Neither in
gluon_core, gluon-mesh-vpn-core nor in the package.

This patch adds this dependency.

[Matthias Schiffer: move dependency from GLUON_CORE to gluon-mesh-vpn-core]

Fixes #1790
2019-08-21 18:37:53 +02:00
Martin Weinelt eeb745d717 gluon-web-network: fix variable shadowing
package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua:122:16: (W431) shadowing upvalue f on line 19

Fixes: bab4af01e ("gluon-web-network: improve PoE GPIO name translation
handling")
2019-08-13 17:49:02 +02:00
Simon Terzenbach c124f6f410 mcp85xx-p1020: add support for Aerohive HiveAP 330 2019-08-13 13:25:20 +02:00
Simon Terzenbach c37644e004
ar71xx-nand: add support for Aerohive HiveAP 121 2019-08-02 00:37:26 +02:00
Matthias Schiffer bab4af01eb
gluon-web-network: improve PoE GPIO name translation handling
- Replace string concat for i18n key with an explicit list to make the code
  compatible with i18n-scan.pl
- Improve fallback string
2019-07-20 20:56:58 +02:00
Sven Eckelmann 2eb15bac0e gluon-authorized-keys: Force installation of gluon-lock-password
The gluon-authorized-keys is usually installed to use SSH keys to
authenticate a user against the device. To make this useful, it is also
required to disable passwordless SSH access to the device.

This new dependency is only required when the user doesn't have
gluon-setup-mode enabled already.

Fixes: #1777
Reported-by: yanosz <github@yanosz.net>
Fixes: a753fa79e3 ("gluon-authorized-keys: add keys from site.conf")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-07-02 12:34:55 +02:00
Jan-Tarek Butt 90baebc2b7 add gluon-hoodselector: Integrate geolocation mode
This MR includs only the VPN MODE of the hoodselector whitch simply set
hoods base on their geopositions.

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

check_site.lua: fix language syntax

muss -> must
rage -> range
at lease -> at least
coordiantes -> coordinates
realaise -> realised

gluon-hoodselector: fix language syntax in hoodselector

can not -> can't
routers -> router's
continure -> continue
to next -> to the next
TMP -> temporary
for current -> for the current
continure -> continue
with next -> with the next
thier -> there
provides -> provide
possition -> position
therfore -> therefore

gluon-hoodselector: fix language syntax in util.lua

realaise -> realised

gluon-hoodselector: fix language syntax and use autoupdate lock mechanism.

gluon-hoodselector: fix spelling/grammar

gluon-hoodselector: automatically set SECTION and CATEGORY for Gluon packages

gluon-hoodselector-add-VPN-MODE: add micrond & libjson-c dependency

gluon-hoodselector-add-VPN-MODE: check running hoodselector before loading lua

gluon-hoodselector-add-VPN-MODE: remove nixio dependency from hoodselector util

Revert "gluon-hoodselector-add-VPN-MODE: check running hoodselector before loading lua"

This reverts commit 535b0a1b2fb73e563bf6a44b568a796440bd307f.

add luaposix and luabitop to pakage dependency

sbin/hoodselector: remove nixio requiemend

sbin/hoodselector: load hoods only if necessary

gluon-hoodselector: use VPN abstraction layer. the hoodselectore does
not need to know about all individual VPN protocols.

gluon-hoodselector: Makefile add gluon-mesh-vpn-core as dependency

gluon-hoodselector: apply changes of mesh vpn lib

gluon-hoodselector: remove outdated comments

package/gluon-hoodselector: check_site.lua rm domain seed check thus its already checked by gluon-core

package/gluon-hoodselector: util.lua code cleanup and refactoring

package/gluon-hoodselector: hoodselector code cleanup and refactoring

gluon-hoodselector: util.lua, use taps instead of spaces. Use posix.unistd.access instead of io.open

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

gluon-hoodselector: hoodselector, use taps instead of spaces.

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

gluon-hoodselector: check_site.lua: replace hood with domain

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

gluon-hoodselector: drop VPN mode and rename hood to domain. Furthermore implement geolocator mode as neorayder way

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: rm duplicated print output

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector util: fix wrong function signature

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

small typo fixes

small typo fixes

Update util.lua

processes are really restarted now. new (old) problem: nodes will not forget their former ipv6-addresses. watchdog could here with that.

gluon-hoodselector util.lua: replace i iterator with _

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

Update util.lua

now polygons with holes are recognized correctly. also a mix of nested polygons and boxes should be possible as shapes[]

package/gluon-hoodselector: hoodselector use gluon-reload for daemon restarts/reloads

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: util.lua use math-polygon lib and rm restart_services function. Rectengles will be converted into polygons now

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: Makefile rewrite description update depends list

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: check_site.lua reduce complexity

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: use : for gluon_version Val

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: fix if equal syntax

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

luasrc/usr/lib/lua/hoodselector/util.lua: check_site.lua simplify checksite script and fix if logic

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: set space after comma, rm unnecessary error handling

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: use only brackes on require function no mixup

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: check_site.lua rm unuse variables and fix non std global function

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: util.lua rm unuse include

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: rm comment return nil in function get_geolocation()

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>

package/gluon-hoodselector: Makefile refactor pkg description

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
2019-06-29 02:43:01 +02:00
Martin Weinelt 10d05d268c
gluon-core: fix primary mac selection on tp-link archer c25 v1
Fixes #1771
2019-06-27 13:35:35 +02:00
Ruben Barkow 2bda2ea028 gluon-web-mesh-vpn-fastd: update comment after luacheck fixes (#1751)
Fixes: 4249d65af7 ("treewide: fix luacheck warnings")
2019-06-19 22:40:05 +02:00
Matthias Schiffer a6a25c9431
Merge pull request #1724 from freifunk-gluon/pr/tc-mbits
gluon-config-mode-mesh-vpn: display tc limits in Mbit/s
2019-06-19 19:35:59 +02:00
Matthias Schiffer a2ba3efe8b
Merge pull request #1743 from freifunk-gluon/mesh-vpn-fix-limits
gluon-mesh-vpn-core: move common VPN config to gluon UCI package
2019-06-19 19:34:28 +02:00
Matthias Schiffer ecc8ebc8ed
treewide: move ebtables filter definitions from files to luasrc 2019-06-18 19:52:33 +02:00
Matthias Schiffer 95e7d41563
gluon-ebtables-source-filter: another luacheck fix 2019-06-17 20:12:47 +02:00
Martin Weinelt cd9f1a0f0c gluon-core: fix and complete list of outdoor board names 2019-06-17 16:27:19 +02:00
Martin Weinelt 3d4fb37351
gluon-mesh-vpn-tunneldigger: move watchdog script into luasrc directory
This allows the script to be minified as well as being checked by
luacheck.
2019-06-17 00:48:08 +02:00
bobcanthelpyou 266e0aed38 gluon-mesh-vpn-tunneldigger: fix luacheck warnings 2019-06-17 00:41:20 +02:00
Matthias Schiffer f67522bef3
Merge pull request #1748 from bobcanthelpyou/luacheck_warnings
treewide: fix luacheck warnings
2019-06-16 23:17:43 +02:00
bobcanthelpyou f2305faea8 gluon-web-model: fix return value of resolve_depends() 2019-06-16 22:51:53 +02:00
bobcanthelpyou 4249d65af7 treewide: fix luacheck warnings 2019-06-16 22:51:53 +02:00
Matthias P. Walther 8e176354f8
gluon-mesh-vpn-tunneldigger add watchdog script
The logic is based on the previously used shell script implementation.

Co-Authored-By: Robin Weiligmann <admin@robwei.me>
2019-06-16 20:56:35 +02:00
Martin Weinelt ada723a0df
gluon-config-mode-mesh-vpn: display tc limits in Mbit/s 2019-06-16 19:32:57 +02:00
Matthias Schiffer fc7c8cb086
gluon-mesh-vpn-core: remove obsolete migration code
/etc/config/gluon-simple-tc was removed with Gluon 2016.1.
2019-06-16 18:40:10 +02:00
Matthias Schiffer 818c31afdd
gluon-mesh-vpn-core: move common VPN config to gluon UCI package
We now keep the VPN enable state, bandwidth limit enable and actual limits
in the core config to avoid having to recover "user intent" from different
config files when the used VPN packages change.

Fixes #1736
2019-06-16 18:40:10 +02:00
Matthias Schiffer f6df3b0541
gluon-mesh-vpn-core: don't consider tunneldigger when fastd is installed
None of our scripts can handle fastd and tunneldigger running at the same
time. When both are installed, ignore tunneldigger.
2019-06-16 17:56:18 +02:00
Matthias Schiffer 80b6e7f18f
Merge pull request #1742 from bobcanthelpyou/luacheck_gluon-mesh-vpn-core
gluon-mesh-vpn-core: fix luacheck warnings
2019-06-16 17:39:24 +02:00
bobcanthelpyou 9f4c393295 gluon-mesh-vpn-core: fix luacheck warnings
./gluon-wan:25:1: (W122) setting read-only field ? of global arg
./gluon-wan:29:1: (W311) value assigned to variable ok is unused
2019-06-16 17:31:53 +02:00
Matthias Schiffer da45bd5987
treewide: do not use Lua module() 2019-06-16 15:51:43 +02:00
Matthias Schiffer 3ec108aacc
gluon-web: fix Http:getcookie()
None of our code uses cookies, so this issue went unnoticed.
2019-06-16 14:55:23 +02:00
Matthias Schiffer 071cf7b20f
Switch to Lua for target definitions
The old bash-based parsing code was way too complex. Replace it with Lua.
2019-06-15 23:34:07 +02:00
Martin Weinelt 709c1b1b91 gluon-config-mode-outdoor: fix reference mess for real this time 2019-06-10 11:20:53 +02:00
Martin Weinelt 718696e11d gluon-config-mode-outdoor: fix default value readout 2019-06-09 21:54:52 +02:00
Matthias Schiffer 7be7064432
gluon-ebtables-filter-multicast: fix comment char in Lua code
It seems this mistake didn't cause an error because of Lua's support for
shebang lines.
2019-06-09 15:27:08 +02:00
Linus Lüssing 9b1eb40fe7 gluon-mesh-batman-adv: reenable batman-adv multicast optimizations
Several fixes and enhancements related to multicast were added upstream
in batman-adv. So let's give the batman-adv multicast optimizations
another go.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-06-07 15:16:40 +02:00
Christof Schulze 08a8815815 gluon-l3roamd: add missing uc dependency
uc is used in the initscript. It must be set as dependency
2019-05-25 15:43:25 +02:00
David Bauer 5f19706756 gluon-core: fix mesh radios not being created
This commit fixes a bug where on first setup, mesh interfaces won't be
created for 2.4GHz radios.
2019-05-21 13:42:22 +02:00
David Bauer 1aa4ffc514 gluon-config-mode gluon-core: fix incorrect gluon.platform reference
The is_outdoor function is placed inside the gluon.platform module, not
the platform_info module. Currently, the outdoor-mode wizard component
and the upgrade script fail due to nil-value calls.
2019-05-21 13:42:22 +02:00
Martin Weinelt ad1a1906ab
gluon-core: fix reference to outdoors config site variable 2019-04-29 16:08:10 +02:00
Martin Weinelt 501c3b38bb add gluon-config-mode-outdoor package
adds a section to the wizard for outdoor capable devices
that informs the user of of the regulatory situation and
allows a quick toggle of the outdoor mode.
2019-04-28 18:19:43 +02:00
Martin Weinelt e20d5b0a3e gluon-core: allow presetting the outdoor mode for new installations 2019-04-28 18:19:43 +02:00
Martin Weinelt 423aafbd29 gluon-core: improve channel and add chanlist validation 2019-04-28 18:17:40 +02:00
Martin Weinelt bf55249159 gluon-core: add outdoor support for 5 ghz radios
Add the `wifi5.outdoor_chanlist` site configuration that
allows specifying an outdoor channel range that can be
switched to for regulatory compliance.

Upon enabling the outdoor option the device will
 - configure the `outdoor_chanlist` on all 5 GHz radios
 - which may enable DFS/TPC, based on the regulatory domain
 - disable ibss/mesh on the 5 GHz radio, as DFS *will*
   break mesh connections
 - allow for htmode reconfiguration on 5 GHz radios

The outdoor option can be toggled from
 - Advanced Settings
   - W-LAN
     - Outdoor Installation

The `preserve_channel` flag overrules the outdoor channel
selection.
2019-04-28 18:17:11 +02:00
Martin Weinelt 4f60f6dbc6 gluon-core: disable legacy_rates by default, drop support for supported and basic rates (#1716) 2019-04-28 16:47:29 +02:00
Matthias Schiffer 09916f6e35
gluon-mesh-batman-adv: drop packets from mesh with next-node source or destination address (#1714)
Fixes #1659
2019-04-28 14:56:09 +02:00
bobcanthelpyou fe521db441 build: add site check for obsolete settings (#1702) 2019-04-28 14:38:08 +02:00
Tata e81d1a390f Add mechanism to reload domain related services (#1710) 2019-04-23 17:34:49 +02:00
Matthias Schiffer 59a44274cb
gluon-respondd: do not join link-local multicast group on br-client
Fixes #1701
2019-04-21 19:31:32 +02:00
Matthias Schiffer a5614a5019
gluon-neighbour-info: fix outgoing interface for non-link-local multicast addresses 2019-04-21 19:19:02 +02:00
Matthias Schiffer e9e1e2d18a
gluon-neighbour-info: exit on unknown parameters 2019-04-21 19:19:02 +02:00
Matthias Schiffer 7dec8ebf87
gluon-neighbour-info: fix mixed tab/space indentation 2019-04-21 19:19:02 +02:00
Matthias Schiffer fc5f93604e
gluon-neighbour-info: fix inet_pton() error message
inet_pton() doesn't set errno on regular parse errors, so using perror()
doesn't make sense (and we avoid a confusing "Success" message).
2019-04-21 19:19:02 +02:00
Linus Lüssing 8e04679be6 gluon-mesh-batman-adv: add batctl dependency to gluon-mesh-batman-adv-14
The batctl v2013.4 build was removed from the batman-adv-legacy package
as the current, upstream batctl releases work with batman-adv-legacy,
too.

As a replacement we need to add the upstream batctl dependency to
gluon-mesh-batman-adv-14 to have a batctl available again here.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-04-16 12:03:20 +02:00
bobcanthelpyou 149b55526f gluon.mk: fix reference to LuaSrcDiet binary 2019-04-14 11:21:31 +02:00
Tata d4c066a0f8 gluon-config-mode-mesh-vpn: 0300-mesh-vpn.lua fix limit_ingress default value (#1682)
in case of default disabled simple-tc for tunneldigger

Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
2019-04-11 08:50:48 +02:00
Sven Eckelmann e13a614420 gluon-status-page-mesh-batman-adv: Save if metrics chose neighbor as own best nexthop
The commit a0800497352e ("gluon-status-page-mesh-batman-adv: Retrieve TQ of
neighbors with non-best direct link") removed the check whether a neighbor
has the BATADV_ATTR_FLAG_BEST set. But consumers may still want to filter
out or mark neighbors which don't have this flag set. To assist with such a
feature, enhance the neighbor object with an extra boolean "best" attribute
which stores whether the BATADV_ATTR_FLAG_BEST was found or not.

Reported-by: Vincent Wiemann <webmaster@codefetch.de>
2019-04-09 01:31:51 +02:00
Sven Eckelmann cef21e584a gluon-mesh-batman-adv: Save if metrics chose neighbor as own best nexthop
The commit ee63ed42fe6c ("gluon-mesh-batman-adv: List neighbors with
non-best direct link") removed the check whether a neighbor has the
BATADV_ATTR_FLAG_BEST set. But consumers may still want to filter out or
mark neighbors which don't have this flag set. To assist with such a
feature, enhance the neighbor object with an extra boolean "best" attribute
which stores whether the BATADV_ATTR_FLAG_BEST was found or not.

Reported-by: Vincent Wiemann <webmaster@codefetch.de>
2019-04-09 01:31:51 +02:00
Sven Eckelmann d0df47d943 gluon-status-page-mesh-batman-adv: Retrieve TQ of neighbors with non-best direct link
Links between two direct neighbors are not always the best route between
these devices. The flag BATADV_ATTR_FLAG_BEST would not be set for these
originator entries and the respondd module would just ignore this entry.

If these neighbors are not accepted and returned to the status page then
some of the neighbor entries will show a name, (acceptable) signal strength
and mac address but no TQ value.

Fixes: 28668c8c52 ("gluon-status-page: API")
2019-04-09 01:31:51 +02:00
Sven Eckelmann ec72d30b8f gluon-mesh-batman-adv: List neighbors with non-best direct link
Links between two direct neighbors are not always the best route between
these devices. The flag BATADV_ATTR_FLAG_BEST would not be set for these
originator entries and the respondd module would just ignore this entry.

This causes missing links in meshviewer and similar tools. And when the
link quality is nearly equal and but fluctuates slightly, these links will
from time to time appear and disappear on the map.

Fixes: 2e0e24a992 ("announce neighbours using alfred/gluon-announce")
2019-04-09 01:31:51 +02:00