Commit Graph

1044 Commits

Author SHA1 Message Date
Matthias Schiffer
74f4119c1b
treewide: add support for building kernel modules used by Gluon into the kernel 2018-04-13 17:32:20 +02:00
Matthias Schiffer
8e5abf02ae
treewide: switch to ebtables-tiny 2018-04-13 16:00:58 +02:00
Matthias Schiffer
543eb17882
gluon-core: remove DNS cache feature
dnsmasq's caching is severly broken and does not handle all answer records
equally. In particular, its cached answers are missing DNSKEY and DS
records, breaking DNSSEC validation on clients.

Remove the cache for now. It may return if dnsmasq is fixed or we switch to
a different resolver.
2018-04-13 15:15:40 +02:00
Matthias Schiffer
395266e404
gluon-core: remove obsolete dnsmasq upgrade script
The script cleaned up an old setting that was removed in 2014.
2018-04-13 15:01:43 +02:00
Matthias Schiffer
ba9fc94e85
gluon-core: get rid of old sysctl settings 2018-04-13 14:41:01 +02:00
Matthias Schiffer
9b937a8c64
gluon-core: remove unused gluon.sysctl Lua module 2018-04-13 14:41:01 +02:00
Matthias Schiffer
25b32ec2fe
treewide: move sysctl settings to /etc/sysctl.d
net.ipv6.conf.br-client.forwarding is moved from gluon-client-bridge to
gluon-mesh-batman-adv, as the setting is not useful with non-bridged
protocols.
2018-04-13 14:41:01 +02:00
Matthias Schiffer
46c5effae3
gluon-core: reduce mac80211 fq_codel memory limit to 256KB on devices with 32MB RAM 2018-04-11 08:33:30 +02:00
Linus Lüssing
951b6632bc gluon-ebtables-limit-arp: do not add multicast addresses to filter
With the batman-adv multicast support compiled back in again we end up
with multicast addresses in the batman-adv translation table.

Currently we wrongly interpret multicast addresses returned by TT as a
unique host, too, which adds them with a source address filter to
ebtables as well. However, the source address of an ethernet frames is
never supposed to be a multicat one.

This leads to unnecessary entries in ebtables. Fixing this by ignoring
those MAC addreses returned by TT which have the multicast bit set.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2018-04-01 03:26:50 +02:00
Jan-Tarek Butt
d5ef9b67c9
gluon-mesh-vpn-tunneldigger: only allow in domain config
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
2018-03-28 18:38:01 +02:00
Matthias Schiffer
f17bb94ad7
gluon-config-mode-theme: fix styling of select elements
* Use correct width
* Don't display focus outline (Webkit)
* Don't let option elements inherit error colors (Webkit)
2018-03-27 20:38:26 +02:00
Matthias Schiffer
6dc9369715
gluon-status-page: suppress "broken pipe" syslog message
Some HTTP endpoints were writing annoying "broken pipe" messages to stderr.
2018-03-27 19:48:04 +02:00
Martin Weinelt
946b42e234
gluon-config-mode-domain-select: allow hiding of individual domain codes 2018-03-20 18:05:38 +01:00
Matthias Schiffer
532b57011f
gluon-core, gluon-client-bridge: allow 0-character ESSIDs/mesh IDs 2018-03-17 15:38:24 +01:00
Jan-Tarek Butt
dda1b2a127
gluon-client-bridge: check AP SSID length to be in range of 1-32 characters 2018-03-17 15:33:40 +01:00
Jan-Tarek Butt
9a9024843b
gluon-core: check mesh ID and IBSS SSID length to be in range of 1-32 characters 2018-03-17 15:33:12 +01:00
Matthias Schiffer
7827f8960f
gluon-config-mode-hostname: add config_mode.hostname.optional site option
This setting allows to enforce manually setting a hostname.

In the initial configuration, the hostname field is now left empty; when
setting the hostname is not enforced, the default hostname is shown as the
field placeholder.

Fixes #1139
2018-03-17 12:51:14 +01:00
Matthias Schiffer
486c2e4821
gluon-config-mode-contact-info: change "mandatory" site option to "optional"
Also add documentation about config mode settings.
2018-03-17 12:27:57 +01:00
Matthias Schiffer
87ded4c3d8
gluon-config-mode-hostname: improve English node name explanation 2018-03-17 11:48:25 +01:00
Matthias Schiffer
9f86bf3155
gluon-core: add default_hostname helper 2018-03-17 11:44:33 +01:00
Matthias Schiffer
d87a798ac3
gluon-core: disable VXLAN checksums
Our VXLAN setup was changed to accept VXLAN packets without checksum almost
2 months ago, so we can disable sending the checksums now as well. Slightly
improves performance.
2018-03-16 20:17:03 +01:00
Matthias Schiffer
7f812e8754
package/features: never implicitly enable gluon-web-mesh-vpn-fastd
This package only provides the choice between "security" and "performance
mode". It should only be enabled when specified in site.mk.
2018-03-12 13:57:57 +01:00
Matthias Schiffer
c80c294b3f
gluon-mesh-batman-adv: increase bridge multicast querier robustness to 9
The RFC standard multicast querier interval is 120s. Our querier uses in
interval of 20s for better support of roaming clients, but our robustness
setting of 3 leads to external queriers using the standard interval to be
timeout after only 60s, leading to frequent "querier appeared/disappeared"
messages. Increase robustness so that external queriers with any interval
<180s are supported.
2018-03-11 12:36:54 +01:00
Matthias Schiffer
68a706a948
gluon.mk: remove GLUON_PKG_MAKE option 2018-03-09 10:05:44 +01:00
Matthias Schiffer
5e086da608
gluon-respondd: remove Gluon-specific provider directory
Our provider modules are prefixed with gluon- now, and the log message
about a missing provider dir was confusing users.
2018-03-08 21:46:05 +01:00
Matthias Schiffer
60522ee253
treewide: move package Makefile boilerplate to gluon.mk 2018-03-08 19:49:41 +01:00
Ruben Barkow
ee14a03e70 treewide: french translation: WLAN -> Wi-Fi (#1342) 2018-03-08 11:26:10 +01:00
Matthias Schiffer
ca43e9058f
gluon-radv-filterd: add missing build dependency on respondd 2018-03-07 21:26:11 +01:00
Matthias Schiffer
934221b86f
treewide: remove redundant definitions from package Makefiles 2018-03-07 21:23:41 +01:00
Matthias Schiffer
17370d8462
gluon-ebtables: unconditionally segment IGMP/MLD
We must ensure that each node becomes IGMP/MLD querier for its local
clients; having only a single querier for the whole mesh is generally
unreliable, leading to frequent "IGMP/MLD querier appeared/disappeared"
messages from batman-adv and unreliable snooping.

In smaller meshes it might be interesting only segment querier domains, but
allow membership reports to pass through the mesh, in order to support
snooping switches outside the mesh without special configuration. A
site.conf switch is provided to control this behaviour.

Fixes #1320
2018-03-07 08:12:30 +01:00
rubo77
d4bfa6c4e0 gluon-config-mode-hostname: clarify the use of the nodename 2018-03-02 02:57:59 +01:00
Matthias Schiffer
208cd4d98c
gluon-client-bridge: allow WLAN configs without ap section again
Fixes: 7ccdacd294 ("treewide: rework check_site_lib.lua")
2018-03-01 01:18:39 +01:00
Matthias Schiffer
3e88331137
gluon-status-page: add dependency on libubus-lua 2018-02-26 18:55:51 +01:00
Matthias Schiffer
27f7ce444f
gluon-status-page: when visiting via a next-node address, redirect to a unique address
A downside of this behaviour is that the page does not work for IPv4-only
clients, as the redirect will always point at an IPv6 address.

Still, it seems like a good idea to enforce the redirect even from the IPv4
next-node address, as switching nodes while being connected to the status
page would lead to unexpected behaviour.
2018-02-26 03:25:01 +01:00
Matthias Schiffer
fdf823a3a2
gluon-status-page-api: merge back into gluon-status-page
All Access-Control-Allow-Origin are removed to improve users' privacy. As
the status page API is thus not useful without the status page anymore,
merge them back into a single package.

The status-page-api respondd provider is removed as well.

Fixes #1194
2018-02-26 02:20:38 +01:00
Matthias Schiffer
88906f238b
gluon-status-page: reimplement based on gluon-web
This new status page is significantly smaller than the old one. It always
loads its resources from the same host as the page itself, not requiring
cross-origin requests anymore.

It also uses the common i18n infrastructure of gluon-web.

Fixes #914
2018-02-26 02:20:38 +01:00
Matthias Schiffer
b1aa5390a7
gluon-config-mode-core: move gluon-web base path to /lib/gluon/config-mode
- CGI script and index.html are moved from gluon-web to
  gluon-config-mode-core, the script is renamed to 'config'
- gluon-web and gluon-web-model base views and i18n files are symlinked
  into the new path
- gluon-web-theme is renamed to gluon-config-mode-theme and installs
  directly into the new path
- all gluon-web-* models, controllers and views are moved into the new
  path
2018-02-26 00:07:13 +01:00
Matthias Schiffer
3925344292
gluon-setup-mode: move HTTP server support to gluon-config-mode-core, add gluon-lock-password 2018-02-26 00:07:12 +01:00
Matthias Schiffer
9648489a01
gluon-web: reorganize layout handling
Also bring back gluon-web-theme's i18n strings.
2018-02-26 00:07:12 +01:00
Matthias Schiffer
c3e4ceed28
gluon-web: split out model support into a separate package 2018-02-26 00:07:08 +01:00
Matthias Schiffer
83a6847fbd
gluon-web: remove unneeded functions from gluon.web.util
exec() is moved to gluon.util.
2018-02-25 17:13:30 +01:00
Matthias Schiffer
5dcb784308
gluon-core: remove unused lock and exec functions 2018-02-25 17:13:30 +01:00
Matthias Schiffer
987eef011a
gluon-core: remove unused user/group management functions, call lock command directly 2018-02-25 17:13:30 +01:00
Matthias Schiffer
6ae1af9694
gluon-mesh-vpn-core: use OpenWrt's user/group management 2018-02-25 17:13:30 +01:00
Matthias Schiffer
218de7e0ae
gluon-web: pass base path from CGI script 2018-02-25 17:13:30 +01:00
Matthias Schiffer
661e4dee9f
gluon-config-mode-core, gluon-web-*: do not access dispatcher directly 2018-02-25 17:13:30 +01:00
Matthias Schiffer
4a8283b5ab
gluon-web: remove unused files 2018-02-25 17:13:30 +01:00
Matthias Schiffer
93c1d77e07
gluon-web-theme: add missing dependencies 2018-02-25 17:13:30 +01:00
Matthias Schiffer
37cdea9733
gluon-web-*: consistently use <%| tag 2018-02-23 20:05:07 +01:00
Matthias Schiffer
dd23a805c2
gluon-web: add new <%| tag for escaped expressions 2018-02-23 19:45:28 +01:00