Commit graph

9596 commits

Author SHA1 Message Date
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
ec2ad15305 luci-mod-freifunk: dispatch SimpleForm model 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:07:50 +02:00
Jo-Philipp Wich
ef2e7db4ea luci-app-dnscrypt-proxy: 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:07:50 +02:00
Jo-Philipp Wich
dacf88216d luci-app-wol: dispatch SimpleForm model 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:07:50 +02:00
Jo-Philipp Wich
1443ff121d luci-app-firewall: dispatch SimpleForm model 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:07:49 +02:00
Jo-Philipp Wich
4a90accda9 luci-app-unbound: 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:07:49 +02:00
Jo-Philipp Wich
bf71ae5f1b luci-base: emit a warning if cbi() delegates a SimpleForm instance
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 12:07:49 +02:00
Jo-Philipp Wich
6f47c5657f build: add check-controller.sh, a utility to test controller files
The main purpose of the script is to check if the module declaration
matches and if associated cbi resources are properly referenced.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 12:02:37 +02:00
Jo-Philipp Wich
08a2b27df5 luci-app-mwan3: fix legacy uci api usage
Explicitely require libuci-lua in model classes that use legacy /var/state
cursor handling.

Also add a specific dependency on libuci-lua to the luci-app-mwan3
Makefile in preparation of the upcoming default removal of libuci-lua.

Finally fix the post data dispatching on the notification tab, see #1722
for reference.

Fixes #1726.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 09:35:39 +02:00
Jo-Philipp Wich
24ac0d81ee luci-base: implement luci.model.uci.get_state()
Introduce a get_state() function which can be used to access legacy
uci state variables. This is usually not needed anymore but some
packages (mainly mwan3) still rely on this.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 09:24:36 +02:00
Jo-Philipp Wich
4d6c5d284b luci-proto-ipv6: clarify 6in4 local address hint
Make the hint message more explicit to tell users that the prefix size needs
to be specified as well.

Fixes #1559.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 08:49:41 +02:00
Jo-Philipp Wich
feefc600ed luci-mod-rpc: rework authentication and session handling
- Use the ubus session.login procedure to authenticate credentials
 - Fix testing of allowed usernames
 - Support authentication via sysauth cookie

Fixes #1300, #1700, #1711

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 07:56:56 +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
7b04d0bbcf luci-base: introduce luci.dispatcher.lookup()
The lookup function takes multiple, possibly malformed path fragments,
splits them on slashes, constructs a temporary path and looks up the
result in the dispatch tree.

If a matching node has been found, the function will return both the
node reference and the canonical url to it.

If no corresponding node is found, the function returns nil.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 23:03:01 +02:00
Dirk Brenken
bc3651ba56
Merge pull request #1723 from dibdot/travelmate
luci-app-travelmate: bugfixes
2018-04-05 22:42:14 +02:00
Dirk Brenken
421dd407f0 luci-app-travelmate: bugfixes
* use the form() action to invoke the SimpleForm models
* fix 'wifi_add' input form

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-04-05 22:39:46 +02:00
Jo-Philipp Wich
72b973b258 luci-app-adblock: fix SimpleForm page delegation
Invoke the SimpleForm models using the form() action, not the cbi() ones.
This avoids the extraneous rendering of the cbi header template, avoiding
rejected save operations due to duplicated token value.

Fixes #1722.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 19:21:50 +02:00
Dirk Brenken
9dcf73b323
Merge pull request #1718 from dibdot/travelmate
luci-app-travelmate: sync with travelmate 1.2.0
2018-04-05 14:43:53 +02:00
Jo-Philipp Wich
ac2210376d
Merge pull request #1709 from dibdot/get_interface-fix
luci-base/network.lua: fix get_interface function
2018-04-05 09:49:49 +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
45cefe71f6 luci-base: introduce luci.util.shellquote()
Introduce a new function luci.util.shellquote() which encloses the given
string argument in single quotes and escapes any embedded single quote
characters.

This function is intended to be used when interpolating untrusted input
into shell commands.

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
9db5fa93af luci-base: fix possible shell injection in luci.tools.status.switch_status()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 00:32:56 +02:00
Jo-Philipp Wich
186e690c08 luci-base: dispatcher: reject non-POST requests with any cbi.submit value
Due to the fact that luci.model.cbi reacts on any "cbi.submit" value while
the dispatcher only required POST for cbi.submit == 1, the CSRF token
protection could be bypassed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 00:15:22 +02:00
Jo-Philipp Wich
697db81246 luci-app-freifunk-diagnostics: use FULL_REQUEST_URI
Switch from using the REQUEST_URI CGI variable directly to the canonicalized
FULL_REQUEST_URI property.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:32:44 +02:00
Jo-Philipp Wich
8a8eb0d487 luci-app-commands: use FULL_REQUEST_URI
Switch from using the REQUEST_URI CGI variable directly to the canonicalized
FULL_REQUEST_URI property.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:32:23 +02:00
Jo-Philipp Wich
053c343ef1 luci-base: use FULL_REQUEST_URI on login form templates
Switch from using the REQUEST_URI CGI variable directly to the canonicalized
FULL_REQUEST_URI property.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:30:49 +02:00
Jo-Philipp Wich
8c617c02b5 luci-base: add FULL_REQUEST_URI template property
Introduce a new template property FULL_REQUEST_URI which returns the full
canonicalized request URL built from SCRIPT_NAME, PATH_INFO and QUERY_STRING.

This new property is safer to use compared to using the raw REQUEST_URI CGI
environment variable directly as this value is essentially untrusted user
input which may contain embedded escaped slashes, double forward slashes and
other oddities allowing XSS exploitation or request redirection.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:24:31 +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
Jo-Philipp Wich
70ffbe65a0 luci-base: add a strict flag to the hostname validator
Some applications, e.g. dnsmasq, do not allow hostnames starting with an
underscore, therefor extend the existing hostname datatype validator with
a `strict` which disallows a leading underscore.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:21:53 +02:00
Jo-Philipp Wich
4024d4f224 luci-base: switch to ubus uci operations
Switch luci.model.uci to use ubus uci calls instead of driving libuci-lua
directly.

This prepares support for more advanced features such as per-session change
isolation and configuration rollback on errors.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-04 23:21:53 +02:00
Dirk Brenken
ee46a6c712 luci-app-travelmate: sync with travelmate 1.2.0
* remove needless 'automatic' and 'trigger' options plus small fixes

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-04-04 14:19:23 +02:00
Hannu Nyman
f5671b420a
Merge pull request #1715 from TDT-AG/pr/20180403-luci-app-mwan3-update
luci-app-mwan3: fixes and improvments
2018-04-03 17:43:57 +03:00
Florian Eckert
dd637e4f46 luci-app-mwan3: remove unnecessary 'tracking active' hint
Remove the unnecessary 'tracking active' hint from the status interface
page.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-04-03 13:30:30 +02:00
Florian Eckert
cd1a979593 luci-app-mwan3: remove diag-rc-legend field id
On the material theme the "Collecting data" hint in the status pages
was still present on the page even though the command was sucessfull executed.

Remove the legend tag and move the info "Collecting data" to the
"diag-rc-output" tag will solve this issue.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-04-03 13:30:28 +02:00
Florian Eckert
c390464590 luci-app-mwan3: calculate max interface usage from mmx_mask value
Show max interface value on interface page dependent on the mmx_mask
value

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-04-03 13:30:20 +02:00
Qian Zheng
46a2b5ebea luci-base: zh_CN: update Simplified Chinese translation
Signed-off-by: Qian Zheng <sotux82@gmail.com>
2018-04-02 11:49:47 +08:00
Dirk Brenken
87c2d95264 luci-base/network.lua: fix get_interface function
* fix wrong private function call to handle
  section id as parameter (fix for #1687)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-03-31 07:11:02 +02:00
Hannu Nyman
90ed4239d5
Merge pull request #1706 from musashino205/l10n/tmate-upd-ja
luci-app-travelmate: update Japanese translation
2018-03-29 16:41:47 +03:00
INAGAKI Hiroshi
86a138b935 luci-app-travelmate: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-03-29 13:13:38 +09:00
INAGAKI Hiroshi
caf4421603 i18n: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-03-29 12:51:13 +09: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
Dirk Brenken
7161284d75
Merge pull request #1703 from dibdot/travelmate
luci-app-travelmate: made "ignore bssid" flag conditional
2018-03-28 11:22:15 +02:00
Dirk Brenken
eea92af676
Merge pull request #1704 from TDT-AG/pr/20180328-luci-app-mwan3-fixes
luci-app-mwan3: fix syntax error and update notify page
2018-03-28 11:21:56 +02:00
Florian Eckert
3a0d5301ca luci-app-mwan3: update notify info
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-28 10:59:50 +02:00
Florian Eckert
ed56422a91 luci-app-mwan3: fix strict XHTML syntax error
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-28 10:59:42 +02:00
Dirk Brenken
189fe1e389 luci-app-travelmate: made "ignore bssid" flag conditional
* made the "ignore bssid" flag conditional to ease connection
  to hidden networks:
    * default for hidden networks "disabled"
    * default for all others "enabled"

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-03-28 09:22:19 +02:00
Dirk Brenken
8d34bf94a6
Merge pull request #1697 from TDT-AG/pr/20180323-luci-base-fix-tblsection
luci-base: add missing colspan in tblsection if table is empty
2018-03-27 22:45:57 +02:00