Commit Graph

620 Commits

Author SHA1 Message Date
Nils Schneider
4b8f6c9835 gluon-status-page-api: rewrite neighbours-batadv in C 2015-09-05 11:47:44 +02:00
Nils Schneider
431ac81407 gluon-status-page-api: split API from gluon-status-page
This will make it easier to replace the API with C programs.
2015-09-05 11:47:44 +02:00
Nils Schneider
5e5dc5ab18 gluon-status-page: new status page 2015-09-04 20:50:18 +02:00
Nils Schneider
34752c7e0b br-client: convert option ifname to list ifname
Convert option ifname in br-client to use a list instead. This
simplifies adding and remove interfaces:

uci:add_to_set("network", "client", "ifname", "eth0")
uci:remove_from_set("network", "client", "ifname", "eth0")

An option ifname will be automatically converted to a list when
performing an upgrade.

Packages affected: gluon-mesh-batman-adv-core, gluon-luci-portconfig
2015-09-04 20:31:53 +02:00
Matthias Schiffer
faba9efb88 Merge branch 'jsonc-sink' of https://github.com/FreifunkBremen/gluon 2015-09-04 17:15:58 +02:00
Jan-Philipp Litza
961e6cc1c0 Add sink support to luci-lib-jsonc and use it where needed 2015-09-04 12:27:45 +02:00
Nils Schneider
96033758ab Merge pull request #473 from FreifunkBremen/batctl-if-lua
Don't fork batctl from announce scripts
2015-09-04 11:40:00 +02:00
Jan-Philipp Litza
bccf4f7b21 gluon-mesh-batman-adv-core: Add lua code for iface listing, don't fork 2015-09-03 16:33:13 +02:00
Matthias Schiffer
3599d8912b Merge branch 'slim-down-lua-scripts' of https://github.com/FreifunkBremen/gluon 2015-09-03 15:29:27 +02:00
Nils Schneider
21935ffc81 gluon-status-page: set html encoding to utf-8 2015-09-02 21:19:41 +02:00
Jan-Philipp Litza
339a6c9959 Remove dependencies on luci.util (and partly nixio.fs) from announce scripts 2015-09-02 13:17:59 +02:00
Matthias Schiffer
a25d00ddce Merge branch 'feature-optional-thekey' of https://github.com/FreifunkBremen/gluon 2015-08-31 00:42:54 +02:00
Matthias Schiffer
d97586dd89 Merge branch 'announce-separate-frequencies' of https://github.com/FreifunkBremen/gluon 2015-08-30 23:53:36 +02:00
Jan-Philipp Litza
89a9d8138c gluon-mesh-batman-adv-core: Announce client count by frequency 2015-08-30 23:39:45 +02:00
Jan-Philipp Litza
eb590bdc12 gluon-config-mode-mesh-vpn: Move display of key to translations
When rebooting the node in config mode, currently the fastd key is
forcefully displayed in a fixed format. This is confusing in communities
where fastd accepts all keys and no key submission is needed.
Furthermore, some communities might want to personalize the display of
the key (see #387).

This patch moves the displaying <div> from the package's lua file to the
translation files of the sample site configuration and mentiones the
change in the release notes.
2015-08-30 21:55:29 +02:00
Jan-Philipp Litza
15a80aaffd Switch from luci-lib-json to luci-lib-jsonc
Apart from replacing a patch for the former by two patches for latter,
this involved minimal adaptations of the lua scripts in the following
packages:

* gluon-announce
* gluon-announced
* gluon-mesh-batman-adv-core
* gluon-status-page
2015-08-30 21:05:13 +02:00
Matthias Schiffer
4405f39869 Merge remote-tracking branch 'origin/radio-config' 2015-08-29 02:36:38 +02:00
kb-light
753c1f9e2a gluon-status-page: handle 11s interfaces 2015-08-23 23:19:28 +02:00
Nils Schneider
6906ef9de6 gluon-radvd: use uradvd 2015-08-19 21:20:50 +02:00
Nils Schneider
177086b881 gluon-radio-config: basic wireless configuration
Split basic radio configuration from gluon-mesh-batman-adv as this will
be required for virtually any wireless mesh protocol.

This package takes care of setting:

  - wireless channel,
  - htmode and
  - regulatory domain

gluon-mesh-batman-adv-core depends on this package.
2015-08-18 11:41:14 +02:00
Matthias Schiffer
86773d7628 gluon-luci-wifi-config: add support for new WLAN configuration 2015-08-07 18:36:13 +02:00
Matthias Schiffer
26c6a787f6 Merge remote-tracking branch 'origin/flexible-wifi' 2015-08-07 17:45:23 +02:00
Nils Schneider
2a93c58042 mesh-batadv-core: introduce 11s mesh, refactor wireless config
This is a site.conf-breaking change in regard to the wireless config.
Make sure to read http://gluon.readthedocs.org/en/latest/user/site.html
and update your site.conf accordingly!

Support for 802.11s mesh interfaces has been added. Gluon now supports
three interface types: ap, ibss and mesh. All of them are now optional
and may be configured independently in site.conf.

A sample site.conf may look like this:

    wifi24 = {
            channel = 1,
            htmode = 'HT40+',
            ap = {
                    ssid = 'luebeck.freifunk.net',
            },
            ibss = {
                    ssid = '02:d1:11:37:fc:38',
                    bssid = '02:d1:11:37:fc:38',
                    mcast_rate = 12000,
            },
            mesh = {
                    id = 'ffhl-mesh',
                    mcast_rate = 12000,
            },
    },
2015-08-04 23:05:29 +02:00
Nils Schneider
d9df118686 gluon-wan-dnsmasq: fix usage of libpacketmark
Using service_start requires exporting of environment variables.

Fixes #397
2015-08-04 22:51:40 +02:00
Jan-Philipp Litza
4e5b3354d2 gluon-mesh-batman-adv-core: Only announce valid IPv6 addresses
The nodeinfo/network/addresses announcement included deprecated and
tentative addresses, which it clearly shouldn't as the host doesn't want
to be contacted on those addresses. They are now filtered out.
2015-08-04 00:11:45 +02:00
Matthias Schiffer
f6498e8773 Update modules 2015-07-18 18:02:13 +02:00
Matthias Schiffer
88ed124d5e Merge remote-tracking branch 'origin/on-link' 2015-07-12 18:23:08 +02:00
Matthias Schiffer
aa33a94ea7 Merge pull request #411 from FreifunkBremen/feature-neighbour-info-timeout
gluon-neighbour-info: Support sub-second timeout
2015-07-12 16:42:28 +02:00
Matthias Schiffer
e878155601 gluon-luci-admin: fix setting the password
This was broken due to the switch to Chaos Calmer.
2015-07-12 16:31:00 +02:00
Matthias Schiffer
34e0451e45 gluon-mesh-batman-adv-core: unconditionally set the WAN MAC address
This fixes MAC address conflicts on devices which use the eth0 as primary
address.
2015-07-11 18:27:35 +02:00
Matthias Schiffer
f5764a4a7b gluon-mesh-batman-adv-core: adjust rssid config to renamed WLAN interfaces
This should fix the signal strength indicators on the TP-Link CPE210/510.
2015-07-10 20:58:46 +02:00
Matthias Schiffer
d386ccdcf8 Always use eth0 address as primary address on x86 and brcm2708
These targets don't have a WLAN adapter by default, so it doesn't make
sense to default to the phy0 address.
2015-07-10 20:22:53 +02:00
Jan-Philipp Litza
9f91a5f841 gluon-neighbour-info: Support sub-second timeout 2015-07-09 20:18:11 +02:00
Nils Schneider
1c4b179dd2 gluon-config-mode-geo-location: translate "altitude" to "Höhe" 2015-07-08 23:18:42 +02:00
Hans-Werner Hilse
66060cf08a gluon-neighbour-info: Do not use error()
error() is a glibc specific function and should not be used in
code meant to be portable.
2015-07-06 09:37:22 +02:00
Nils Schneider
6ced715e13 Merge pull request #371 from freifunk-gluon/status-page-api
gluon-status-page: API
2015-06-29 17:33:04 +02:00
Nils Schneider
4f8ce12325 uhttpd: set max_requests to 12
This limits the number of concurrent users to 2 or 3 (approx. 4 connections per
user), greatly reducing DoS potential.
2015-06-29 12:03:01 +02:00
Nils Schneider
28668c8c52 gluon-status-page: API 2015-06-29 12:03:01 +02:00
Matthias Schiffer
68a3b5f394 gluon-announce, ...: don't output empty lists where not appropriate
Always output empty objects or nothing at all where objects are expected, but
no elements exist.

Also remove a few unneeded "requires", a few basic modules are provided by
announce.lua by default.
2015-06-15 21:17:00 +02:00
Matthias Schiffer
317478e2b7 gluon-mesh-batman-adv-core: don't break network configuration on upgrades with mesh_on_lan=true 2015-05-28 01:44:25 +02:00
Nils Schneider
a42db7a71f gluon-luci-admin: fix translation of "Export Mode"
Export Mode -> Expert Mode
2015-05-22 11:51:32 +02:00
Matthias Schiffer
ab10be9f50 We're on Chaos Calmer now 2015-05-22 01:09:19 +02:00
Matthias Schiffer
6a31830600 gluon-mesh-batman-adv-core: always set hop penalty to 15
15 is the default in batman-adv-legacy, the new default 30 in newer batman-adv
versions is too high in larger networks.
2015-05-16 14:00:06 +02:00
Nils Schneider
e8a483c9a1 luci-wifi-config: don't disable mesh interface
fixes #365
2015-05-09 22:10:32 +02:00
Nils Schneider
2164893616 gluon-radvd: on-link flag
By introducing a new option -a in addition to -p this patch allows
controlling the on-link flag of announcements.

A prefix specified using -a will have the on-link flag set to zero
while a prefix specified using -p will retain its behaviour (i.e.
on-link flag set).

Example:

    gluon-radvd -i local-node -p 2001:db8:aaaa:/64 -a 2001:db8:bbbb::/64

This will announce 2001:db8:aaaa::/64 with the on-link flag set and
2001:db8:bbbb::/64 with the flag unset.
2015-05-08 21:46:12 +02:00
Matthias Schiffer
6d2741c024 gluon-luci-mesh-vpn-fastd: minor text change 2015-05-07 02:23:32 +02:00
Matthias Schiffer
a258092760 Merge remote-tracking branch 'origin/mesh-on-lan' 2015-05-06 23:55:04 +02:00
Matthias Schiffer
1e427c4e77 Merge branch 'configurable-methods' 2015-05-06 23:54:17 +02:00
Nils Schneider
d4c3467bc3 luci-portconfig: allow toggling of mesh_on_lan 2015-05-06 13:57:46 +02:00
Nils Schneider
39d0c8f459 mesh-batman-adv: mesh_on_lan
This adds mesh_on_lan functionality.

A new optional site.conf option, mesh_on_lan, has been added. If set to
'true', all LAN ports will be used for meshing instead of being part of
the client bridge.
2015-05-06 13:57:46 +02:00
Matthias Schiffer
cd00eeb367 Merge remote-tracking branch 'origin/meshinterfaces' 2015-05-04 19:28:28 +02:00
Nils Schneider
a349dd07bd nodeinfo: mesh interface classes (wireless, tunnel, other)
This will introduce a new nodeinfo object, network.mesh.bat0.interfaces,
containing any of the the following subordinated objects:

- wireless
- tunnel
- other

Each of these objects contains a (possibly empty) list of MAC addresses
(lowercase, colon-notation) corresponding to a interface of the given
class. Combined with a batman graph it is thus possible to mark
sub-graphs as "wireless" or "vpn".

The previously used object mesh_intefaces is superseded by this new
object structure and mesh_interfaces will be removed in a future Gluon
release.
2015-05-04 19:15:39 +02:00
Matthias Schiffer
fadfc64e16 gluon-luci-wifi-config: don't use luci.sys.wifi.getiwinfo()
Directly using libiwinfo is more reliable.
2015-05-04 19:07:33 +02:00
Matthias Schiffer
f4a3f73fcb gluon-luci-private-wifi: various fixes and cleanup
It would be nice to generalize this to work with multiple radios, maybe by
integrating it into the wifi-config module...
2015-05-04 04:44:12 +02:00
Matthias Schiffer
6fc1db3a70 gluon-luci-wifi-config: add txpower setting
Fixes #219
2015-05-04 04:34:23 +02:00
Matthias Schiffer
76607b0070 Add new package gluon-luci-mesh-vpn-fastd
This new package allows enabling or disabling the null method for the
fastd mesh VPN.
2015-05-04 03:09:36 +02:00
Matthias Schiffer
ce2f494e0c gluon-luci-theme: add cbi-value-field-long class
This new class allows visually pleasing lists of radio buttons/checkboxes/etc.
with long explanation texts.
2015-05-04 03:09:35 +02:00
Matthias Schiffer
a50cce4e09 gluon-mesh-vpn-fastd: make adding or removing the null method survive updates (if desired) 2015-05-04 03:09:07 +02:00
Matthias Schiffer
b76e1a9e48 gluon-luci-wifi-config: i18n and miscellaneous fixes 2015-05-04 03:04:25 +02:00
Matthias Schiffer
4b06bc6a3d gluon-luci-theme: don't color section titles
All other titles are grey, the magenta-colored section titles inbetween look
weird.
2015-05-04 02:49:40 +02:00
Matthias Schiffer
a02d7ad800 gluon-luci-private-wifi: i18n 2015-05-04 02:43:48 +02:00
Matthias Schiffer
56c8fe5145 gluon-luci-autoupdater: order next to the manual upgrades in the navigation 2015-05-04 02:17:38 +02:00
Matthias Schiffer
cdc16af1bd gluon-luci-portconfig: i18n 2015-05-04 02:15:22 +02:00
Matthias Schiffer
fe265126a9 gluon-luci-autoupdater: i18n 2015-05-04 01:57:50 +02:00
Matthias Schiffer
e1f2ac11b6 gluon-luci-admin: i18n 2015-05-04 01:29:29 +02:00
Matthias Schiffer
623966afae gluon-luci-theme: more consistent button spacing 2015-05-04 01:29:03 +02:00
Matthias Schiffer
4d7e84b405 gluon-config-mode-core: nicer LuCI view filenames 2015-05-03 01:58:07 +02:00
Matthias Schiffer
1838cee0d6 gluon-setup-mode: set br-setup MAC address to the primary MAC address
This allows to reach the node in setup mode over the same link-local IPv6
address as br-client uses during normal operation.
2015-05-01 19:57:45 +02:00
Matthias Schiffer
2deb82bcb6 gluon-setup-mode: set regdom
OpenWrt doesn't set the regdom unless a WLAN device is started. Explicitly set
the regdom in the setup mode to get the correct list of allowed txpower entries
in the planned LuCI module.
2015-05-01 19:50:40 +02:00
Hendrik Lüth
34d48501cf fix the data types in the check_site.lua 2015-05-01 05:36:50 +02:00
Matthias Schiffer
f1b5692c2c Merge pull request #344 from do9xe/master
Add the package gluon-luci-wifi-config
2015-05-01 00:17:12 +02:00
Matthias Schiffer
1b7c3e060b gluon-luci-node-role: make node role display strings translatable 2015-04-30 23:48:07 +02:00
Matthias Schiffer
82983c871e Merge branch 'i18n' of https://github.com/freifunk-mwu/gluon 2015-04-30 22:22:30 +02:00
Matthias Schiffer
00c47f2912 gluon-mesh-vpn-fastd: extend site configuration to allow multiple and nested peer groups 2015-04-30 13:05:15 +02:00
kokel
25d8b18f7a gluon-luci-node-role: activate reset button 2015-04-28 17:22:38 +02:00
Kokel
0c80e7863f gluon-luci-node-role: add translations 2015-04-28 17:22:38 +02:00
do9xe
e0a1bf5f9a add the package gluon-luci-wifi-config 2015-04-28 07:10:47 +02:00
Matthias Schiffer
6bcd9b92d4 gluon-announced: allow announced queries on WAN (if mesh-on-wan is enabled) 2015-04-28 05:25:56 +02:00
Matthias Schiffer
bca916dd55 gluon-core: disable multicast snooping on the WAN bridge
This seems to mitigate weird bridge forwarding issues.
2015-04-27 22:00:38 +02:00
Matthias Schiffer
5aa6838828 Introduce virtual packages for gluon-setup-mode and gluon-config-mode-core
This will require site.mk to explicitly pull in the gluon-setup-mode and
gluon-config-mode-core packages.
2015-04-26 13:16:23 +02:00
Matthias Schiffer
6ee65907a4 gluon-announce: add number of CPUs 2015-04-25 23:25:26 +02:00
Matthias Schiffer
53dac66a04 Merge branch 'survive-upgrades' of https://github.com/do9xe/gluon 2015-04-25 21:44:00 +02:00
DO9XE
44beb0c178 gluon-mesh-batman-adv-core: make wireless-disable state survive updates and allow site option 2015-04-25 21:38:57 +02:00
Matthias Schiffer
5d8aee0559 gluon-config-mode-geo-location: add "Altitude" string to the POT file 2015-04-25 18:40:19 +02:00
Matthias Schiffer
d7fb0c7fa0 gluon-announced: use respondd
This also adds an extended query protocol and deflate compression.
2015-04-23 18:36:00 +02:00
Matthias Schiffer
62de29cb67 gluon-announce: don't make the lua module executable 2015-04-23 18:27:15 +02:00
bjoern
c4f7a52621 gluon-config-mode-mesh-vpn: Remove trailing newline from pubkey variable in 0100-mesh-vpn.lua 2015-04-10 23:00:13 +02:00
Jan-Philipp Litza
ba9ce051b0 gluon-announce: Fix permissions of collect.lua 2015-04-08 21:16:55 +02:00
Matthias Schiffer
cd34cb2ebb gluon-core, gluon-setup-mode: improve support for UAP Outdoor+ 2015-04-08 00:44:12 +02:00
Matthias Schiffer
a476dd4e33 gluon-site: remove PO template, it is maintained in the site-example
Having two POT files will only cause confusion.
2015-03-25 17:43:37 +01:00
Matthias Schiffer
a97116b909 Remove english .po files, they are redundant. 2015-03-25 17:42:58 +01:00
Nils Schneider
653ea4a301 Merge pull request #76 from freifunk-gluon/neighours
announce neighbours using alfred/gluon-announce
2015-03-24 20:56:39 +01:00
Nils Schneider
7e7ee16105 gluon-announce: move collect_dir to library 2015-03-23 22:09:27 +01:00
Martin Weinelt
8361b51c32 gluon-config-mode-geo-location: add altitude field 2015-03-23 02:19:36 +01:00
Matthias Schiffer
127b576fa5 gluon-config-mode-*: remove usages of the word "Freifunk" 2015-03-22 23:42:23 +01:00
Matthias Schiffer
6c387af9ca gluon-site: always provide a PKG_VERSION, also during package scan 2015-03-21 18:26:54 +01:00
Jan-Philipp Litza
335026af09 Allow empty hostname prefix
In Bremen it has been noted that a prefix may lead people to believe it
has to stay there and thus naming their nodes "ffhb-*", which is not
what the community wants (see FreifunkBremen/gluon-site-ffhb#1).

However, an empty prefix lead to the connecting hyphen still being
inserted. This commit thus makes the hyphen part of the configured
prefix and allows the prefix to be missing from the `site.conf`.
2015-03-21 13:43:45 +01:00
Matthias Schiffer
7896f91f86 gluon-config-mode-mesh-vpn: add translations 2015-03-19 22:22:39 +01:00
Matthias Schiffer
ce82baf0ad gluon-config-mode-core: use translated messages from the site configuration 2015-03-19 22:11:43 +01:00
Matthias Schiffer
5805e78455 gluon-site: add translations from the site configuration 2015-03-19 21:31:44 +01:00