Commit graph

564 commits

Author SHA1 Message Date
Jo-Philipp Wich
cb7f9d2ed3 luci-base: validate name in firewall zone selector widget
When creating a new zone through the firewall zone selector widget,
validate the given name before creating new items.

Depends on commit 0b6ae96f2 ("luci-base: cbi.js: recognize invalid
input in dropdown create field").

Fixes: #2211
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-10 08:30:13 +02:00
Jo-Philipp Wich
0b6ae96f2d luci-base: cbi.js: recognize invalid input in dropdown create field
This is required to allow for validating the create field values in
later commits.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-10 08:29:02 +02:00
Hannu Nyman
701f6b0819 timezone data: update to 2018e
Update timezone data to 2018e

http://mm.icann.org/pipermail/tz-announce/2018-May/000050.html

  North Korea switches back to +09 on 2018-05-05.
  The main format uses negative DST again, for Ireland

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-10-09 18:19:52 +03:00
Jo-Philipp Wich
280dd33980 luci-base: reword rollback notification dialog
Rename "Apply unchecked" to "Apply anyway" for better clarity and update
the base translation files accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-03 13:25:46 +02:00
yangfl
dc1c69ce4e i18n: update Chinese translation
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-10-01 11:39:57 +08:00
Jo-Philipp Wich
c3f5c01d6a luci-base: corrections to Russian translation
Add grammar corrections suggested in PRs #2114 and #2190.

Suggested-by: Roman <x.wserfer@gmail.com>
[squash #2114 and #2190, reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-09-29 14:38:51 +02:00
Darius
e5071c88f0 luci-base: cbi.lua: fix TypedSection.parse()
It's not necessary to execute all code if section already exists.

Signed-off-by: Darius Joksas <jok.darius@gmail.com>
[reword commit message, squash commits, remove stray semicolon]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-09-29 14:01:49 +02:00
Jo-Philipp Wich
a291a999a7
Merge pull request #2184 from kyle30312/logout-cookie-fix
luci-base: fix sysauth cookie not removed on logout
2018-09-27 21:22:32 +02:00
Kyle Rogers
c9e4085c64 luci-base: fix sysauth cookie not removed on logout
Signed-off-by: Kyle Rogers <7157021+kyle30312@users.noreply.github.com>
2018-09-27 10:04:57 -04:00
Martin Schiller
72fb7e39ef luci-base: fix german translations
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-09-27 09:24:45 +02:00
Luiz Angelo Daros de Luca
728501dd57 i18n: update pt-br translation
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2018-09-20 21:58:33 -03:00
Yurii
00c7cfe95b
luci-base: update Ukrainian translation
luci-base: corrected and update Ukrainian translation with the latest resync.

Signed-off-by: Yurii yuripet@gmail.com
2018-09-20 03:45:22 +03:00
INAGAKI Hiroshi
f5c60bd716 luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-09-20 05:15:09 +09:00
Hannu Nyman
c5ce34193e i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-09-19 21:55:12 +03:00
Jo-Philipp Wich
0f91ef83af luci-base: switch admin category node to firstnode() action
After this change, luci-base will render the first module or application
page installed on the system, instead of rendering a "Component not found"
message when the status category is unavailable.

This allows for single-purpose LuCI installations like e.g. luci-base with
luci-app-travelmate which only presents application specific views without
any of the standard system pages.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-09-19 20:08:19 +02:00
Jo-Philipp Wich
11f7817d33 luci-base: dispatcher: introduce firstnode() dispatching target
The firstnode target will dispatch the request to the first eligible menu
subtree node that is not a redirect to another node, a special action or
post security enabled page.

That action is specifically useful for global category toplevel nodes like
"admin" which are supposed to simply direct access to the first installed
page node without having to hardcode specific choices.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-09-19 20:08:19 +02:00
Daniel F. Dickinson
58d97b5e27 modules: Split luci-mod-full
Move some common elements to luci-base, and otherwise make three
packages out of status, system, and network.  They were mostly
separated already, but there were some shared elements between
status and network that are now in luci-base.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-09-19 20:08:19 +02:00
Daniel F. Dickinson
6ec0353201 modules: Make luci-base sufficient to use luci apps
Per the discussion in https://github.com/openwrt/luci/issues/869, make
luci-base sufficient to login, logout, and review and apply or revert
uci changes.  This allows most luci-app-xxx to work without having
luci-mod-admin-full installed.

It has been tested with some apps and not luci-mod-admin-full, as well
as with luci-mod-admin-full (to make sure the usual case doesn't break).

Instead of creating a new module namespace (e.g. 'Base') we reduce the
opportunities for breakage by having luci-base take over the 'shell' of
the 'Administration' (admin/....) namespace.

Since admin is assumed by all current building LuCI components (including
Freifunk), this doesn't introduce the 'Administration' tab into any
situation where it would not already be present (but includes it where it
was before).

We also add a "Component not installed" page to avoid fatal errors and
backtrace when e.g. luci-mod-admin-full is not installed.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-09-19 20:08:19 +02:00
Jo-Philipp Wich
1a0316bbba
Merge pull request #2140 from kristrev/multiple-upstream-interfaces-status
luci-base: Show multiple upstream interface
2018-09-19 11:36:30 +02:00
Kristian Evensen
a13748d414 luci-base: Show multiple upstream interface
Several devices have multiple upstream interfaces, for example a fixed
and a mobile broadband connection. Currently, only one upstream
interface is shown per address family in Luci. So in my example, one of
the interfaces would not appear on the Status-page.

This PR introduces support for showing multiple upstream interfaces on
the Status-page. The code is not very complicated. get_status_by_route()
has been extended to return a list of all routes, and
get_wannet()/get_wan6net() now returns all upstream interfaces.

I could not find any other (active) users of these three functions than
calls triggered from the Status-page, so changing the default behavior
should be fine. get_wandev()/get_wan6dev() called get_status_by_route(),
but I could not find any place where those functions were called. I
removed the dev-functions instead of keeping the old
get_status_by_route().

On the status page, the wan/wan6-variables have been replaced with
arrays. When populating the html, we now iterate through these arrays
and create one element for each interface.

I have tested the code with different interface types, v4, v6, as well as
disconnecting and connecting interfaces. The status is updated and the
correct interfaces (or sometimes none at all) are shown.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
2018-09-19 11:01:38 +02:00
Hannu Nyman
6bea6eebf0
Merge pull request #2122 from rosysong/backup
Backup: add firmware backup for mtdblock devices
2018-09-14 20:05:36 +03:00
Yusuf Soyipek
96c2b30960
luci-base: update Turkish translation
Add missing translations.

Signed-off-by: Yusuf Soyipek <yusuf@soyipek.com>
2018-09-13 23:17:57 +03:00
Martin Schiller
5f7c695848 i18n: sync translations
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-09-12 11:17:30 +02:00
Rosy Song
9840d310e2 modules: add backup module for mtdblock devices
Signed-off-by: Rosy Song <rosysong@rosinson.com>
2018-09-08 15:07:01 +08:00
Anton Kikin
9b4bc1da41 luci-base: fix a typo in Russian translation
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2018-09-06 09:14:31 +08:00
Krystian Kozak
b16a257bd6 luci-base: update Polish translation
Updated Polish translations.

Signed-off-by: Krystian Kozak <krystian.kozak20@gmail.com>
2018-09-02 19:26:26 +02:00
Anton Kikin
961d02103f luci-base: update Russian translation
Add missing translations.

Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2018-09-01 16:38:36 +03:00
Yurii
f10818b98a
luci-base: update Ukrainian translation
Updated with the latest sync translation.

Signed-off-by: Yurii yuripet@gmail.com
2018-09-01 00:16:40 +03:00
INAGAKI Hiroshi
6b4e30bd28 luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-09-01 03:30:34 +09:00
INAGAKI Hiroshi
7cafad8b31 i18n: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-09-01 02:23:25 +09:00
Jo-Philipp Wich
8c77975d1b luci-base: remove fake password field from tab order
Set a negative tabindex on the dummy password field to not break the form
tab order flow.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-08-17 06:58:53 +02:00
Jo-Philipp Wich
98d4eb1695 luci-base: mark password template dummy field as hidden
Mark the dummy input field as aria-hidden, should fix #2063.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-08-16 09:36:37 +02:00
hcwhan
93cf4e2a27
Update base.po 2018-08-15 13:43:49 +08:00
Jo-Philipp Wich
849d153851 treewide: rework uci change display
- Use native rpcd uci changes format instead of incompletely converting
   back and forth between the old and the new format
 - Rework uci changelog template to print the equivalent uci commands
   for the various changes
 - Rework theme headers to properly count the uncomitted changes
 - Rework theme CSS to properly style new changelog

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-08-13 09:23:22 +02:00
Yurii
75bac85992
Update base.po: corrected translation errors
Signed-off-by: Yurii yuripet@gmail.com
2018-08-10 17:40:44 +03:00
Gregory L. Dietsche
abfe45ff61 Correct grammar in apply_widget.htm
This patch corrects "to get" to "to be" in apply_widget.htm
This shell command was used to find and make the change in
all impacted files:

find . -type f -exec sed -i 's/Waiting for configuration to get applied/Waiting for configuration to be applied/g' {} +

Signed-off-by: Gregory L. Dietsche <gregory.dietsche@cuw.edu>
2018-08-07 09:20:28 -05:00
yangfl
c51f0d9714 luci-base: update Chinese translation
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-08-07 15:39:41 +08:00
Krystian Kozak
10f12d7f6a luci-base: update Polish translation
Updated Polish translations.

Signed-off-by: Krystian Kozak <krystian.kozak20@gmail.com>
2018-08-05 14:38:57 +02:00
Hannu Nyman
26bbd01f37
Merge pull request #2001 from Rixerx/master
luci-base: update Polish translation
2018-07-30 23:09:01 +03:00
Jaymin Patel
bb336671ff fix compilation failure when luasrcdiet is being copied to non existing directory
Signed-off-by: Jaymin Patel <jem.patel@gmail.com>
2018-07-30 19:32:37 +05:30
Jo-Philipp Wich
63fbf5a805 luci-base: fix luasrcdiet
- Stage required libraries as well
 - Remove not existing make target
 - Override library search path

Fixes: b5d5e5bf1 ("luci-base: update luasrcdiet")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-28 14:21:51 +02:00
Jo-Philipp Wich
350be23eb9 luci-base: fix footer template
Move the apply widget markup before the final </html> tag to avoid XHTML
errors with the OpenWrt theme.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-28 14:21:36 +02:00
Krystian Kozak
6dbdc2cae8 luci-base: update Polish translation
Updated Polish translations.

Signed-off-by: Krystian Kozak <krystian.kozak20@gmail.com>
2018-07-27 23:10:49 +02:00
Jo-Philipp Wich
e5a1ac0228 treewide: rework rollback/apply workflow
Rework the apply confirmation mechanism to be session agnostic in order to
circumvent cross domain restrictions which prevent the JS code from issuing
apply confirm requests in some cases, e.g. when changing the LAN IP.

Confirmation calls may now be done from unauthenticated pages, as long as a
matching confirmation token is sent along with the request.

The reasoning behind this is that there is little security impact in
confirming pending apply sessions, especially since those sessions can only
be initiated while being authenticated.

After this change, LuCI will now launch a confirmation process on every
rendered page when a rollback is pending. The confirmation will happen
regardless of whether the user is logged in or not, or if the current page
is a CBI form or static template.

A confirmation request now also requires a random one-time token which is
rendered along with the confirmation JavaScript code in order to succeed.

This token is not meant to provide security but to ensure that the confirm
was triggered from an interactive browser session and not some background
HTTP requests that happened to end up in the admin ui.

As a consequence, the different apply/confirm/rollback code paths in CBI
maps and the UCI change/revert pages have been consolidated into one common
implementation residing in the common global theme agnostic footer template.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-27 14:07:23 +02:00
Jo-Philipp Wich
98217f8f8d luci-base: xhr.js: decode JSON for POST requests as well
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-27 14:07:23 +02:00
Jo-Philipp Wich
9ead1e29a6 luci-base: utils: support multiple return values in util.ubus()
This is needed to deal with ubus methods that return multiple results,
e.g. session/list

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-27 14:07:23 +02:00
Zheng Qian
33d3108d95 luci-base: zh_CN: Update Simplified Chinese translation
Signed-off-by: Zheng Qian <sotux82@gmail.com>
2018-07-25 11:24:41 +08:00
Jo-Philipp Wich
c27a77756c luci-base: strip superfluous space in additional field markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-23 15:10:55 +02:00
Jo-Philipp Wich
590d1cc74f luci-base: cbi.js: fade to-be-deleted section when hovering delete button
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-23 15:06:26 +02:00
Jo-Philipp Wich
875b561875 luci-base: cbi.js: use adjacent button dynlist add/remove buttons
Change the cbi.js code to create  a div based button element instead of an
image button.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-23 14:31:40 +02:00