Jo-Philipp Wich [Mon, 19 Nov 2018 10:47:18 +0000 (11:47 +0100)]
luci-base: cbi.js: fix sfh() hash calculation over multibyte sequences
The C side implementation of the hash operates on bytes while the JS variant
operated on UTF-16 codepoints, leading to miscalculations on input strings
containing multibyte sequences.
Recode the given string to an internal UTF-8 byte representation and
calculate the hash over that.
Fixes client side mapping of translation strings containing non-ASCII
characters.
Jo-Philipp Wich [Fri, 16 Nov 2018 18:33:39 +0000 (19:33 +0100)]
luci-base: dispatcher: add login indication on 403 errors
Send a custom LuCI X-Header to indicate that a login is required to access
the requested resource. This is mainly intended for xhr.js to be able to
intercept such responses and popup an authentication dialog.
Wang805447391 [Mon, 12 Nov 2018 07:03:31 +0000 (15:03 +0800)]
luci-base: support disconnecting (deauthenticating) wireless clients
Add a button to each row in the wireless assoclist table to allow
disconnecting clients using the ubus del_client method if the underlying
radio interface supports it.
Ref: https://github.com/openwrt/luci/pull/2271 Submitted-by: Wang805447391 <redacted>
[move deauth function to luci-base next to the existing assoclist function,
require post security, fix parameter check condition, hide button if not
supported by the radio, disable button after call, squash commits, fix
whitespace, reword subject, add commit message] Signed-off-by: Jo-Philipp Wich <redacted>
alphakk [Thu, 15 Nov 2018 04:06:09 +0000 (12:06 +0800)]
luci-app-https_dns_proxy: fix datatype of subnet address option
The datatype ip4prefix only accept numbers from 0 to 32, not subnet/mask
(i.e. 192.168.1.0/24), this affects option "-e".
https://github.com/openwrt/luci/wiki/Datatypes#ip4prefix the description
is wrong, according to src
http://luci.subsignal.org/trac/browser/luci/branches/luci-0.10/libs/web/luasrc/cbi/datatypes.lua#L76
Kevin Locke [Wed, 14 Nov 2018 23:55:24 +0000 (16:55 -0700)]
luci-app-statistics: quote : in filenames for DEF
: is used to delimit fields in DEF: rrd instructions, so when it appears
in a filename it must be escaped using \.[1] This commit adds the
escaping.
I discovered the issue after configuring collectd-mod-ping to monitor an
IPv6 host (2001:19f0:5:727:5b56:205d:ff55:2208). Accessing
https://192.168.0.1/cgi-bin/luci/admin/statistics/graph/ping would cause
the following messages to be logged:
Jo-Philipp Wich [Wed, 14 Nov 2018 12:37:51 +0000 (13:37 +0100)]
luci-mod-system: prevent comment injection in mtdbackup endpoint
Rework the parameter handling to both prevent a crash when no parameter is
given and to prevent root command injection through the mtd index part of
the parameter value.
Jo-Philipp Wich [Wed, 14 Nov 2018 08:53:15 +0000 (09:53 +0100)]
applications: add luci-app-opkg
Add a new luci-app-opkg which is a feature-complete replacement for the
builtin opkg functionality of luci-mod-system using mostly client side
JavaScript to reduce the amount of server side processing.
Jo-Philipp Wich [Tue, 13 Nov 2018 17:32:19 +0000 (18:32 +0100)]
luci-base: simplify apply widget code
- Drop embedded CSS in favor to new global rules
- Drop extraneous include of cbi.js
- Use showModal() facilities
- Fix a cosmetic bug in countdown timeout handling
Jo-Philipp Wich [Tue, 13 Nov 2018 15:12:00 +0000 (16:12 +0100)]
luci-theme-openwrt: modal/progressbar rules, mobile improvements
- Add rules for modal dialogs and progress bar widgets
- Increase button and input size on mobile devices
- Convert pt to px units
- Add label and h5 styles
- Add common flash and spin utility classes
Jo-Philipp Wich [Mon, 5 Nov 2018 17:43:32 +0000 (18:43 +0100)]
luci-base: cbi.js: enable validation for dropdown fields
Directly attach validation handlers to cbi dropdowns as well, this allows
validating dropdown choices made by the user, similar to how plain select
boxes are handled by the cbi JavaScript.
Jo-Philipp Wich [Mon, 5 Nov 2018 17:38:25 +0000 (18:38 +0100)]
luci-theme-openwrt: dropdown style tweaks
- Remove 2em min height, this looks out of place with the OpenWrt theme
- Only colorize invalid dropdown when not open
- Drop use of image background for invalid fields while we're at it
Jo-Philipp Wich [Mon, 5 Nov 2018 17:07:42 +0000 (18:07 +0100)]
luci-theme-bootstrap: z-index fixes
Lower z-index of header bar to allow tooltips and dropdowns to overlap it,
also increase the z-index of open dropdowns to ensure that they cover
active tooltip bubbles.
Jo-Philipp Wich [Mon, 5 Nov 2018 15:52:05 +0000 (16:52 +0100)]
luci-base: cbi.js: set .value property of cbi dropdown elements
In order to make cbi dropdowns usable for validation and other code
expecting native form elements, set the .value DOM property on the
dropdown parent element whenever the selection is changed.
Jo-Philipp Wich [Mon, 5 Nov 2018 15:44:20 +0000 (16:44 +0100)]
luci-base: cbi.js: avoid using .form property directly
In order to prepare support for calling cbi validation on non-native form
widgets, remove direct usages of the node.form property and lookup the
containing form using findParent() instead.
Jo-Philipp Wich [Mon, 5 Nov 2018 15:35:36 +0000 (16:35 +0100)]
luci-base: rework dynamic list template
Commit 7c7821833 ("luci-base, themes: rework dynlist and dropdown widgets")
changed the way we initialize dynamic lists on client side, avoiding the
need for pre-rendering the items on the server side.
Florian Eckert [Tue, 16 Oct 2018 10:43:18 +0000 (12:43 +0200)]
luci-app-mwan3: add rt_table_lookup option
Make list option rt_table_lookup configurable in luci.
With this option we could define additional routing tables which get
scanned by mwan3 and then get added to the connected ipset.
The entries will be treated as connected network and will not get
mangeld by mwan3.
Florian Eckert [Tue, 16 Oct 2018 07:45:41 +0000 (09:45 +0200)]
luci-app-mwan3: add rtmon interval option
Add the configuration option rtmon to luci.
With this parameter we could adjust how often the routing table get
synced between main routing table and the interface routing table.