Commit graph

202 commits

Author SHA1 Message Date
Jo-Philipp Wich
828202ef52
Merge pull request #1769 from jow-/master
UCI apply/rollback workflow
2018-05-18 16:44:33 +02:00
Yousong Zhou
c91ba4babc luci-mod-admin-full: use fs.glob instead nixio.fs.glob
It's how the module was named when "require"d and used by other code in
the same function

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 21:19:35 +08:00
Florian Eckert
690ae5c211 luci-mod-admin-full: no menu entry for leds if "/sys/class/leds" is empty
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 21:14:48 +08:00
Florian Eckert
da4fab0462 luci-mod-admin-full: change supports_reset() test for factory reset
The check "supports_reset" only covers /proc/mtd partitions. If we have
this the commands checks for names like ubi or rootfs_data. If this is
found the system is possible for a factory reset.  But on x86 the
situation is different.  We have no /proc/mtd partitions because this
system do not use a bare metall flash.

To solve this issue check if we have an overlay and if so we could do a
factory reset. This could be applied for system which uses bare metal
flash and system which uses FTL or harddisks.

Jffs2reset is the current command used for factory reset.  It will try
to find volume "rootfs_data" and if it's mounted will delete all files
under directory /overlay

luci-mod-admin-mini also has check for reset available, but we leave it
alone for now as it uses "mtd -r erase rootfs_data"

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 20:36:40 +08:00
Jo-Philipp Wich
fd1ddcc419 luci-mod-admin-full: rework wifi configuration
- localize variables
- get rid of redirects breaking apply workflow
- auto-adjust unusable channels when switching country
- use apply/rollback workflow when enabling/disabling networks

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Jo-Philipp Wich
8deb949551 treewide: rework uci apply workflow
Switch to rpcd based uci apply/rollback workflow which helps to avoid soft-
bricking devices by requiring an explicit confirmation call after config
apply.

When a user now clicks "Save & Apply", LuCI first issues a call to uci apply
which commits and reloads configuration, then goes into a polling countdown
mode where it repeatedly attempts to call uci confirm.

If the committed configuration is sane, the confirm call will go through and
cancel rpcd's pending rollback timer.

If the configuration change leads to a loss of connectivity (e.g. due to bad
firewall rules or similar), the rollback mechanism will kick in after the
timeout and revert configuration files and pending changes to the pre-apply
state.

In order to cover such rare cases where a lost of connectivity is expected
and desired, the user is offered an "unchecked" apply option after timing
out, which allows committing and applying the changes anyway, without the
extra safety checks.

As a consequence of this change, the luci-reload mechanism is now completely
unsused since rpcd uses ubus config reload signals to reload affected
services, which means that only procd-enabled services will receive proper
reload treatment with the new workflow.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Ricardo Lamego
e55a5fa386 Fixing small typo
indentifies > identifies
2018-05-02 21:01:53 +01:00
Jo-Philipp Wich
9adbd79faa luci-mod-admin-full: canonicalize configured static lease MAC
When reading the configured mac address of the static lease, filter it
through luci.ip.checkmac() to canonicalize and uppercase the value for
mapping it against the combo box host hints.

Fixes #1772.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-02 16:55:22 +02:00
Jo-Philipp Wich
8335997df5
Merge pull request #1705 from Mushoz/add-igmp-snooping
luci-mod-admin-full: add igmp snooping option
2018-05-02 16:31:27 +02:00
Marc Benoit
fbeea4ee33 luci-mod-admin-full: limit dns cachesize to 10000
The value of cachesize is hardcoded to 10000 in
dnsmasq-2.79/src/option.c to 10000 max

    case 'c':  /* --cache-size */
      {
        int size;

        if (!atoi_check(arg, &size))
          ret_err(gen_err);
        else
          {
            /* zero is OK, and means no caching. */

            if (size < 0)
              size = 0;
            else if (size > 10000)
              size = 10000;

            daemon->cachesize = size;
          }
        break;
      }

Tested on Netgear R7800
Signed-off-by: Marc Benoit <marcb62185@gmail.com>
2018-04-09 20:51:14 -04:00
Marc Benoit
28d10632a1 luci-mod-admin-full: allow setting dns cachesize
In the case of more powerful routers the default
cachesize value == 150 is too small and can easily
be extended to 1,000's and 10,000's of entries.
It makes sense to make it easy configurable.

Tested on Netgear R7800

Signed-off-by: Marc Benoit <marcb62185@gmail.com>

Fix whitespace, edit the proposed help text.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-09 17:17:02 +03:00
Jo-Philipp Wich
14da6e85a6 luci-mod-admin-full: dispatch SimpleForm models using the form() action
This fixes issues dicovered by check-controllers.sh

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 12:10:16 +02:00
Jo-Philipp Wich
d6b4a3d45a luci-mod-admin-full: fix request path access in uci controller
Fixes #1725
Fixes 731ed77c0 ("treewide: improve handling of page redirections in uci change views")

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 06:58:32 +02:00
Jo-Philipp Wich
bfc98bec4d luci-mod-admin-full: escape display parameter
Prevent reflected XSS through the reset button by url encoding the
display parameter.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 23:03:01 +02:00
Jo-Philipp Wich
731ed77c0b treewide: improve handling of page redirections in uci change views
Instead of passing the full LuCI request url, pass the relative resolved
request path instead and filter the received value through the lookup()
dispatcher function to only allow paths to actual internal pages.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 23:03:01 +02:00
Jo-Philipp Wich
c0d9c4f3ce treewide: filter shell arguments through shellquote() where applicable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 09:37:43 +02:00
Jo-Philipp Wich
9e4b8a9138 luci-mod-admin-full: fix possible shell injection in bandwith status
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 00:33:09 +02:00
Jo-Philipp Wich
94ea907707 luci-mod-admin-full: use strict hostname validation for dhcp hosts
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:21:53 +02:00
Jaap Buurman
6c5bfff53c luc-mod-admin-full: add igmp snooping option
Signed-off-by: Jaap Buurman <jaapbuurman@gmail.com>
2018-03-28 15:59:29 +02:00
Jo-Philipp Wich
005f4fb7d4
Merge pull request #1654 from TDT-AG/pr/20180301-luci-several-fixes
luci-app-firewall/luci-base/luci-mod-admin-full: some fixes and improvements
2018-03-15 09:52:22 +01:00
Jo-Philipp Wich
28e3b32854 treewide: unify mac address handling
Use the new luci.ip MAC address facilities to parse and verify MAC addresses
in a common way, instead of relying on various ad-hoc solutions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-12 16:12:18 +01:00
Jo-Philipp Wich
852ec6e28b luci-base, luci-mod-admin-full: store backup vars in luci configuration
Keep the ifname and bridge state backup variables in /etc/config/luci to not
pollute /etc/config/network.

Fixes #1655.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-02 12:44:35 +01:00
Florian Eckert
10fbf9b2e4 luci-mod-admin-full: add hint on backup restore
Add a hint to backup restore that files could remain on the system.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-01 12:33:43 +01:00
Jo-Philipp Wich
e6cfe35baf luci-mod-admin-full: prevent unknown sysctl key warnings on status page
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-04 19:20:32 +01:00
Hannu Nyman
7062250701 luci-mod-admin-full: fix typos on dhcp page
Based on #1568

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-01-20 10:51:29 +02:00
Mathias Kresin
cfdeaa91fa luci-mod-admin-full: set 0 db DSL SNR offset by default
If no DSL SNR offset is set for the dsl line the first entry from the
dropdown list is pre-selected by default, which would apply a -10 db
offset by default.

Pre-select the 0 db option if nothing else is specified in the uci config
files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-13 07:46:36 +01:00
Martin Schiller
673a8bd76f luci-mod-admin-full: led config: add support for Switch Port Mask
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-01-09 08:11:23 +01:00
Arjen de Korte
96f6a79eb2 luci-mod-admin-full: fix incorrect length of DUID-LL
The length of DUID-LL is 80 bits (16 bit DUID type, 16 bit hardware type, 48 bit mac)
which corresponds to 20 nibbles. Also lower the minimum required length of DUID to
20 nibbles in order to allow entering a DUID-LL.

Signed-off-by: Arjen de Korte <build+github@de-korte.org>
2018-01-09 08:08:55 +01:00
Jo-Philipp Wich
e034f271d8 luci-base: adjust translations
- Modify labels for mesh forwarding and 802.11b rate options
 - Synchronize translations
 - Complete german base translation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-09 08:03:03 +01:00
Sven Roederer
a6b41271b7 luci-mod-admin-full: Add 802.11b legacy_rates support
this was added to LEDE with ed62d91f4b5296a4aa883ce975d76f590ef4e910 and defaults to enable.

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
2018-01-09 07:09:31 +01:00
Sven Roederer
63255ec38b luci-mod-admin-full: Add mesh_fwding support
* make it only visible for 802.11s mesh-networks
* have it enabled by default

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
[add empty line before meshfwd assignment]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-09 07:08:08 +01:00
Jo-Philipp Wich
08b40acc4e luci-mod-admin-full: allow setting DSL SNR offset for VDSL
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-08 10:31:03 +01:00
Kishan Gondaliya
267bf83db0 luci-mod-admin-full: Add meshId support
Signed-off-by: Kishan Gondaliya <kishanpgondaliya@gmail.com>
[move mode before the SSID / Mesh ID setting]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-07 19:38:23 +01:00
Jo-Philipp Wich
dac0cce6b9 luci-mod-admin-full: remove unused button cbi model
Remove the unused admin_system/buttons cbi model. It has been broken,
was not exposed in the controller and the corresponding support code
which only ever was available for the ath25 target has been dropped in
with https://git.lede-project.org/0a3d721in June 2016.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-03 23:25:35 +01:00
Jo-Philipp Wich
dbb694c699 luci-mod-admin-full: allow a wider range of DSL SNR margins
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-02 18:26:16 +01:00
Hannu Nyman
878a64f538 typo: fileystem --> filesystem
fix typo:
sed -i "s/fileystem/filesystem/"

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-12-28 14:15:16 +02:00
Jo-Philipp Wich
a41215581d
Merge pull request #1452 from mkresin/master
fix DHCPv6 hostname display
2017-12-07 14:03:54 +01:00
Brian J. Murrell
2c2e7f5cbb
Fix bad argument #1 to 'tonumber'
Fixes [FS#1118](https://bugs.lede-project.org/index.php?do=details&task_id=1118)

Luci chokes on devices that do not have _iptables_ installed with:

/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute function dispatcher target for entry '/'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute firstchild dispatcher target for entry '/admin'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute function dispatcher target for entry '/admin/status'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute template dispatcher target for entry '/admin/status/overview'.
The called action terminated with an exception:
/usr/lib/lua/luci/template.lua:97: Failed to execute template 'admin_status/index'.
A runtime error occured: [string "/usr/lib/lua/luci/view/admin_status/index.h..."]:34: bad argument #1 to 'tonumber' (string expected, got nil)
stack traceback:
	[C]: in function 'assert'
	/usr/lib/lua/luci/dispatcher.lua:460: in function 'dispatch'
	/usr/lib/lua/luci/dispatcher.lua:141: in function </usr/lib/lua/luci/dispatcher.lua:140>

The code should be more defensive.
2017-12-04 08:44:00 -05:00
Mathias Kresin
0a2c7b9e5c luci-mod-admin-full: indicate DHCPv6 hostname mismatch
In case the DUID can be mapped to the MAC-Address of an already known
host, show the already know hostname next to the DHCPv6 supplied one in
case they differ.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-11-17 01:37:21 +01:00
Mathias Kresin
9f5a1de8b1 luci-mod-admin-full: always indicate missing DHCPv6 hostname
Don't show a DHCPv6 supplied hostname if none was send. It happens in
case the DUID can be mapped to the MAC-Address of an existing host and
the existing host has a name set.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-11-17 01:37:19 +01:00
Mathias Kresin
a1ee8e16b6 luci-mod-admin-full: don't replace DHCPv6 hostname
Don't replace the DHCPv6 supplied hostname if the DUID can be mapped to
the MAC-Address of an already known host.

It hides the issue of a missing DHCPv6 hostname and could lead to the
conclution that the already known host has an IPv6 address.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-11-17 01:27:18 +01:00
Andrea Merello
f0716ecd6e luci-mod-admin-full: add SNR tweak option to DSL
Reported-by: Andrea Merello <andrea.merello@gmail.com>
[rebase onto master, fix indentation, commit subject, depend on adsl mode]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-11-10 15:08:38 +01:00
Jo-Philipp Wich
084d8b120a luci-mod-admin-full: restrict DSL xfer_mode and line_mode options to VDSL modems
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-11-10 14:36:38 +01:00
Jan Pavlinec
37f4a3b90c luci-mod-admin-full: add DUID option to static leases section
Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
[add field validation]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-11-10 13:00:26 +01:00
Lorenzo Santina
40c744d96a luci-mod-admin-full: wifi.lua: 80211r ft_over_ds
Allow user to chose if use FT over DS protocol or
FT over the Air protocol for Fast BSS Transition

Signed-off-by: Lorenzo Santina <lorenzo.santina@edu.unito.it>
2017-11-06 14:15:43 +01:00
Lorenzo Santina
0ded26eba9 luci-mod-admin-full: wifi.lua: 80211r ft_psk_generate_local
Add local generation of PMK when using a PSK.
So 802.11r is easier to configure and no inter AP
communication is needed any more.

Signed-off-by: Lorenzo Santina <lorenzo.santina@edu.unito.it>
2017-11-06 14:10:18 +01:00
Jo-Philipp Wich
4609c1360f Merge pull request #1365 from psyborg55/master
luci-mod-admin-full: add fontsize style parameter
2017-10-20 10:22:52 +02:00
Jo-Philipp Wich
b7be0b9d16 luci-mod-admin-full: tone down KRACK countermeasure description
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-18 00:03:13 +02:00
Jo-Philipp Wich
48ed00e5b9 luci-mod-admin-full: wifi: expose "wpa_disable_eapol_key_retries" option
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:19:08 +02:00
Jo-Philipp Wich
04e45906da luci-mod-admin-full: wifi.lua: fix indentation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 17:37:11 +02:00