Commit graph

584 commits

Author SHA1 Message Date
Jo-Philipp Wich
48a5864f06 luci-base: error404: do not access request env directly
Instead of attempting to access the request environment directly (which does
not work anyway using the CGI SGI), use the already sanitized
dispatcher.context.request property to print out the not found url.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-10 12:01:43 +02:00
Jo-Philipp Wich
b194b8882e luci-base: don't propagate null bytes in path information
It is possible to inject unescaped markup using a double encoded null byte
via PATH_INFO on certain leaf nodes.

Since there is no legitimate reason to handle null bytes in any part of the
requested url, simply skip over such bytes when parsing the PATH_INFO value.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-10 11:41:32 +02:00
Jo-Philipp Wich
ad7dc4a492 luci-base: add urldecode() and urlencode() C implementations
The C implementations of urlencode and urldecode are considerably faster
than their current Lua counterparts.

On an AMD Geode system, the C variant is up to ten times faster when
decoding strings and up to four times faster when encoding them.

The functions are also designed to only allocate new strings when any
actual changes are required, otherwise they reuse the existing input
strings, reducing the overal memory usage somewhat.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-10 11:41:32 +02:00
Jo-Philipp Wich
b1b5723516 luci-base: consider empty parameters as well when testing POST requirement
The cbi class will react on an empty "cbi.submit" parameter as well so we
must intercept GET requests using that too.

Fixes 186e690c0 ("luci-base: dispatcher: reject non-POST requests with any cbi.submit value")

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-09 07:19:28 +02:00
Hannu Nyman
0ab0303527 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-08 20:38:30 +03:00
Hannu Nyman
c7369830b6 timezone data: update to 2018d
Update timezone data to 2018d

http://mm.icann.org/pipermail/tz-announce/2018-March/000049.html

  In 2018, Palestine starts DST on March 24, not March 31.
     Adjust future predictions accordingly.
  Casey Station in Antarctica changed from +11 to +08

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-07 23:26:29 +03:00
Jo-Philipp Wich
8c636c87ee luci-base: fix luci.model.uci.get_first()
Properly propagate the config parameter to the foreach iterator in order
to fix get_first() lookups.

Fixes #1734.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-07 14:09:18 +02:00
Jo-Philipp Wich
5c31937a0f luci-base: escape path strings and field parameter
Prevent various XSS vectors by not interpolating field and path values
verbatim into script and html contexts.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-07 11:43:44 +02:00
Jo-Philipp Wich
b00b676923 luci-base: properly initialize cbi.js on SimpleForms
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 16:39:39 +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
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
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
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
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
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
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
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
INAGAKI Hiroshi
caf4421603 i18n: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-03-29 12:51:13 +09:00
Florian Eckert
70783f5802 luci-base: fix colspans calculation in tblsection
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-27 10:39:55 +02:00
Dirk Brenken
29d8770983 luci-base/util.lua: enhance checklib function
* enhance the checklib function in util.lua to check the 'fullpathexe'
  as well, e.g. this fixes runtime errors on the dhcp/dns template in
  environments without dnsmasq

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-03-22 10:40:42 +01: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
dfba318140 luci-base: fix documentation spelling mistakes in luci.http.protocol
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-12 16:04:52 +01:00
Jo-Philipp Wich
6d253abd99 luci-base: fix documentation spelling mistakes in luci.util
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-12 16:03:58 +01:00
Jo-Philipp Wich
62630fbf88 luci-base: fix parsing of ethers(5)
The /etc/ethers file may contain any number of white space characters
between the mac address and the IP/hostname field, so extend the pattern
to allow for that.

Man ethers(5) also states that the IP field may be a symbolic hostname,
so test whether the name is an IP address or hostname before adding it
to the hints structure.

Fixes #1674.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-11 18:26:31 +01:00
Hannu Nyman
bf04031171
Merge pull request #1675 from dibdot/material-fix
luci-base/firewall_zonelist: fix visual interface/background alignment
2018-03-09 18:54:32 +02:00
Dirk Brenken
21fbe39858 luci-base/firewall_zonelist: fix visual interface/background alignment
* fix for #1667, tested with all standard themes

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-03-09 08:13:03 +01:00
Jo-Philipp Wich
bf49505ea0 luci-base: properly handle undefined IPv6 local-address information
If IPv6 prefix assignment is disabled, the "local-address" structure
might exist, but be empty which causes the adress formatting in the
network model class to bail out.

Verify the completeness of the "local-address" structure before using
it in order to avoid runtime errors.

Fixes #1657.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-02 14:42:52 +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
fa756d1fbb luci-base: fix browser.htm template
If cbi_init() is not called first browser gif will not be found.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-01 12:31:50 +01:00
Jo-Philipp Wich
461df8b0dc luci-base: do not assume a fixed host address in delegated prefix (#1484)
OpenWrt/LEDE introduced the "local-address" field a while back to expose the
effective local host address of the delegated prefix, so use that information
instead of assuming `[prefix]:1`.

Fixes #1484.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-16 17:05:52 +01:00
Jo-Philipp Wich
de4f1c9046 luci-base: rework client side IP validation types and support "hostid" type
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-16 17:05:48 +01:00
Jo-Philipp Wich
3e1e4d5eb6 luci-base: fix Lua-side ip6hostid() datatype validation
A valid host ID as accepted by netifd must meet the following criteria:

 - Is either one of the two special "random" or "eui64" strings
 - Or is a valid IPv6 address according to inet_pton(AF_INET6)
 - Has the first 64 bit set to zero

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-16 17:05:48 +01:00
Vladimir
c21d22c017 i18n-ru: fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-02-07 17:37:34 +03:00
Hannu Nyman
eae2f37b62 timezone data: update to 2018c
Update timezone data to 2018c

http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html

   Briefly:
   Sao Tome and Príncipe switched from +00 to +01.
   Brazil's DST will now start on November's first Sunday.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-02-02 18:21:58 +02:00
Vladimir
4567512bdd i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-30 17:35:30 +03:00
Vladimir
7133c51012 i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-29 18:03:37 +03:00
Vladimir
d74ff878e1 i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-26 16:57:15 +03:00
Vladimir
3467df984f i18n-ru: fixed simple-adblock strin&rus translation
Signed-off-by: Vladimir <picfun@ya.ru>

refine

refine
2018-01-23 13:40:18 +03:00
Vladimir
1295b6ca38 i18n-ru: fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-21 19:48:47 +03:00
Vladimir
8a929a9551 i18n-sync base.po changes
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-20 16:09:35 +03:00
Vladimir
bb87aac852 i18n-ru: Edits on the general pattern of Russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-20 14:02:48 +03: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
Jo-Philipp Wich
a441721d32 luci-base: log login attempts
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-17 18:49:42 +01:00
Vladimir
94f7c302bb i18n-sync change, added project info...
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-16 21:06:05 +03:00
Qian Zheng
ba741b40c3 luci-base: zh_CN: update Simplified Chinese translation
Signed-off-by: Qian Zheng <sotux82@gmail.com>
2018-01-16 20:22:37 +08:00
Vladimir
7541a2705e added project info, were reviewed in graphical mode, ready for a stable release
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-14 23:15:59 +03:00
Vladimir
72b9aa414e fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-12 23:11:58 +03:00
Vladimir
26d60e9c7f fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-12 19:39:21 +03:00
Vladimir
7cdb92bfd0 fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-11 23:17:43 +03:00
Vladimir
5d48227363 Correction by script i18n-sync.sh with editing of Russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-11 19:22:07 +03:00
Vladimir
7e3d52ec08 fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-11 01:43:46 +03:00
Vladimir
6a9ceee72b i18n: Added and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
[squashed commits]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-09 08:17:07 +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
Vladimir
ad3ee48813 fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-08 01:48:03 +03:00
Vladimir
cdb506d1b4 fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-06 22:34:40 +03:00
Hannu Nyman
bd52bf4625 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-01-06 09:40:39 +02:00
Vladimir
76b12b242a fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
[renamed swedish advanced-reboot.po as well, fixed a syntax error,
 filtered updated files through ./build/i18n-sync.sh]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-03 21:44:55 +01:00
Jo-Philipp Wich
75e9338b87 luci-base: fix luci.sys.wifi.getiwinfo() on radio names
Fall back to using a phy-wide iwinfo handle if the vif query yields no result.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-03 21:27:49 +01:00
Jo-Philipp Wich
c8b48f9524 luci-base: reorder private functions
The _wifi_sid_by_ifname() function depends on _wifi_state_by_ifname()
so reorder the private helper functions accordingly to avoid nil value
call attempts.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-02 00:30:53 +01:00
Jo-Philipp Wich
f9b8d7ff7b luci-base: rework wireless state handling (#1179)
- fix mapping of ubus wireless state to uci declared vifs
 - fix leaking foreign vif info into per-phy iwinfo stats

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-02 00:24:10 +01:00
Jo-Philipp Wich
f2162a9a66 luci-base: require current libuci-lua
Upcoming changes will require libuci-lua features not present in
versions prior to version 2018-01-01.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-01 17:10:31 +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
Hannu Nyman
ede51e4641 timezone data: update to 2017c
Update timezone data to 2017c

http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html

   Briefly:
   Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
   Fiji ends DST 2018-01-14, not 2018-01-21.
   Namibia switches from +01/+02 to +02 on 2018-04-01.
   Sudan switches from +03 to +02 on 2017-11-01.
   Tonga likely switches from +13/+14 to +13 on 2017-11-05.
   Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-11-11 18:59:14 +02:00
INAGAKI Hiroshi
7f48b25038 i18n: Sync translations
Synchronized translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-11-11 12:14:52 +09:00
Hannu Nyman
87ec343637
Merge pull request #1418 from yangfl/master
i18n: Update Chinese translation
2017-10-29 10:04:54 +02:00
yangfl
4dc055be85 i18n: Update Chinese translation
Signed-off-by: David Yang <mmyangfl@gmail.com>
2017-10-29 16:00:27 +08:00
Felix Yan
0167394a10
Fix typos in luci-base/luasrc/http/protocol.lua 2017-10-29 15:39:21 +08:00
Hannu Nyman
d4e3d5686a i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-10-28 10:21:41 +03:00
Jo-Philipp Wich
fbe7f90eed luci-base: fix client side "host" datatype validator
Fixes #1413.

Reported-by: Wojciech Jowsa <wojciech.jowsa@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-25 14:23:47 +02:00
Jo-Philipp Wich
824b9357ed Fix syntax errors in swedish translation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-20 10:55:22 +02:00
INAGAKI Hiroshi
5018b476fc luci-base: Update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-10-20 13:55:17 +09:00
Kristoffer Grundström
8e63fcd63e luci-base: Massive Swedish translation
Signed-off-by: Kristoffer Grundström <hamnisdude@gmail.com>
2017-10-18 05:08:29 +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
f823c3d2b5 i18n: update translations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:47:04 +02:00
Jo-Philipp Wich
27fbdada6c i18n: synchronize and fix translation files
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:15:35 +02:00
Jo-Philipp Wich
98aacba3ac luci-base: gracefully handle broken firewall forwarding sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 17:35:01 +02:00
Hannu Nyman
15791f291f luci-base: fix PKG_HASH field name
Use PKG_HASH instead of PKG_MD5SUM

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-10-11 16:32:11 +03:00
Hannu Nyman
1ba412dcd9 luci-proto-vpnc: fix typo
fix: 'enaled' --> 'enabled'

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-09-24 10:10:34 +03:00
Bubu83
f37474f4d6 luci-base: Fixes for Italian Translation
Signed-off-by: Alessio Casagrande bubu83@gmail.com
2017-09-23 18:08:27 +02:00
Bubu83
0134a92901 luci-base: Fixes for Italian Translation
Signed-off-by: Alessio Casagrande bubu83@gmail.com
2017-09-17 01:09:26 +02:00
Roger Pueyo Centelles
45c011c486 luci-base: Updated Catalan translation
Add missing translations and fix a few typos.

Signed-off-by; Roger Pueyo Centelles <roger.pueyo@guifi.net>
2017-09-08 19:47:25 +02:00
Bubu83
1f5d9793fa luci-base: Updated Italian Translation
Updated Italian Translation

Signed-off-by: Alessio Casagrande bubu83@gmail.com
2017-09-05 19:25:12 +02:00
Jo-Philipp Wich
11d0129f96 http: add random security headers
Fixes #1343.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-09-02 17:45:37 +02:00
Yousong Zhou
3809bd6ffb luci-base: datatypes: add cidr, ipnet validator type
- Rewrite ipmask to use these subtypes
- Add ip{4,6}prefix validators to cbi.js

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-08-22 20:19:49 +08:00
Jo-Philipp Wich
15cb504b44 luci-base: improve language detection
Properly deal with client accept languages containing a culture identifier
such as "zh-CN" or "pt-BR".

Fixes #1226.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-13 15:55:22 +02:00
Jo-Philipp Wich
f03bee5a91 Merge pull request #1235 from aa65535/luci-base
luci-base: add missing conffiles
2017-08-13 15:17:57 +02:00
Jian Chang
37b11dbcd8 luci-base: add missing conffiles
Signed-off-by: Jian Chang <aa65535@live.com>
2017-08-06 19:15:01 +08:00
kuoruan
36ac049eb3 luci-base: Some fix of Simplified Chinese translation
Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
2017-08-06 18:47:08 +08:00
Jo-Philipp Wich
bf407f087c Merge pull request #1245 from danweller18/feature_js_headers
luci-base: Remove request headers that are set automatically by browser
2017-08-02 10:34:59 +02:00
Jo-Philipp Wich
4c9ae3f615 luci-base: cbi.js: fix handling of inverse-depends, combobox validation
- Properly handle logic for evaluating inverted dependencies means
   when depending on another field *not* having a given value

 - Perform datatype validation *after* populating combobox choices to
   avoid triggering a false-positive when validating an .rmempty = false
   combobox during form instantiation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-28 16:14:53 +02:00
Jo-Philipp Wich
4201282559 luci-base: let luci.sys.net.devices() return all netdevs
The previous implementation of the function only returned ethernet
interfaces because it relied on the AF_PACKET family entries returned
by getifaddrs().

Change the function to simply collect all interface names it sees in
order to avoid missing tunnel interfaces.

Fixes FS#917.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-28 15:44:10 +02:00
INAGAKI Hiroshi
984b092726 luci-base: Update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-07-28 12:18:22 +09:00
Hannu Nyman
3603e27e30 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-07-27 19:40:47 +03:00
Hannu Nyman
f7cf1dae69 Merge pull request #1239 from kuoruan/zh-cn-tr
Add some translate strings & Update Simplified Chinese translation
2017-07-24 14:51:12 +03:00
Hannu Nyman
8f62b28948 Merge pull request #1242 from yousong/shadowsocks-libev
luci-app-shadowsocks-libev: rewrite for shadowsocks-libev 3.0.6-2
2017-07-23 19:37:10 +03:00
Hannu Nyman
6d9fd0aeb7 Merge pull request #1221 from Cye3s/master
luci_base: Update zh_CN base.po, translate fix
2017-07-23 19:33:32 +03:00
kuoruan
cca9fe92fd luci-base: Update Simplified Chinese translation
Signed-off-by: Hsing-wang Liao <kuoruan@gmail.com>
2017-07-23 14:37:33 +08:00
Daniel W
adb6209503 remove request headers that are set automatically by browser 2017-07-22 12:11:14 -04:00
Yousong Zhou
c759500d49 luci-base: fix loading fold.gif for filebrowser
cbi_init() needs to be called at the end of the page to initialize
cbi_strings with "[data-strings]" while cbi_browser_init() happened
before that.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-07-21 20:34:46 +08:00
Jo-Philipp Wich
4e1b884157 luci-base: properly handle authentication without authenticator
Some controller actions like the ones in "servicectl" require authentication
but are not meant to provide an authenticator because they're only invoked
by scripts.

Rework the dispatcher logic to handle this situation and only bail out if
an authenticator name other than "htmlauth" is set.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:12:50 +02:00
Jo-Philipp Wich
882427731a luci-base: use rpcd-mod-rrdns for reverse DNS lookups
Drop the individual calls to nixio.getnameinfo() in luci.sys.net and rely
on the "network.rrdns.lookup" ubus call instead to fetch domain information
within a guaranteed timeout.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:05:31 +02:00
Jo-Philipp Wich
366707a681 luci-base: drop unused functions in luci.sys
Drop a number of redundant functions from luci.sys to shrink the code a bit:

 * luci.sys.net.arptable()   - replaced by luci.ip.neighbors()
 * luci.sys.net.routes()     - replaced by luci.ip.routes()
 * luci.sys.net.routes6()    - replaced by luci.ip.routes6()
 * luci.sys.net.deviceinfo() - replaced by nixio.getaddrinfo()
 * luci.sys.net.pingtest()   - no known user

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:05:31 +02:00
Jo-Philipp Wich
d6360bf81e luci-base: use rpcd session logins
Drop the custom credentials checking in favor to perform proper session
logins via rpcd. This is needed to properly setup ACLs when spawning
rpcd sessions in order to support direct client side ubus access in the
future.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-09 21:35:26 +02:00
Cye3s
6047dacb62 Update zh_CN base.po
Line 3021:
msgid "Switch protocol"
sould be:
msgstr "切换协议"

This "Switch protocol" means "Change one protocol to another protocol", Not "protocol of switch deivce"
2017-06-26 13:13:56 +08:00
Florian Eckert
0d518f5e8d luci-base: add license tag
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2017-06-13 13:40:38 +02:00
Jo-Philipp Wich
0e9eed5df3 luci-base: resync translations, update German translations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-30 23:11:18 +02:00
Hannu Nyman
5ca3864690 luci-base: support ip6ifaceid option for proto_static
Add support for 'ip6ifaceid' option for proto_static in LuCI.

Information about the option:
 The option is optional and defaults to '::1'.
 Allowed values: 'eui64', 'random', fixed value like '::1' or '::1:2'

 When IPv6 prefix (like 'a🅱️c:d::') is received from a delegating
 server, the ip6ifaceid suffix (like '::1') is used to form
 the IPv6 address ('a🅱️c:d::1') for the interface.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-21 22:08:38 +03:00
Hannu Nyman
d40a939d65 Merge pull request #1031 from feckert/add_dhcp_to_system_ucitrack
luci-base: add dhcp to system ucitrack
2017-05-16 19:28:57 +03:00
Hannu Nyman
0145e9f307 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-09 11:11:36 +03:00
Hannu Nyman
f2cf516cf7 luci-base: add Etc/GMT timezones
Add Etc/GMT timezones like GMT+5

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-08 19:31:36 +03:00
Jo-Philipp Wich
57121f3743 luci-base: luci.dispatcher: allow overriding sysauth template
In some cases it is useful to be able to override the template used for the
sysauth login dialog.

Add a new property "sysauth_template" which allows overriding the template
name from controller files.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-06 15:06:07 +02:00
INAGAKI Hiroshi
86a708b06b i18n: Sync translations
Synchronized translations with sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-05-02 19:12:32 +09:00
Hannu Nyman
54c97738bc timezone data: update to 2017b
Update timezone data to 2017b.

http://mm.icann.org/pipermail/tz-announce/2017-February/000045.html
http://mm.icann.org/pipermail/tz-announce/2017-March/000046.html

Key changes in 2017a-2017b:

* Mongolia no longer observes DST.
* Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
* Switch to numeric time zone abbreviations for South America, as
  part of the ongoing project of removing invented abbreviations.
* Haiti resumed observance of DST in 2017.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-10 14:45:20 +03:00
Hsing-Wang Liao
a41f97bca1 luci-base: Update Simplified Chinese translation
Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
2017-04-09 15:05:36 +08:00
Hannu Nyman
3fc0465cfe Merge pull request #1071 from TDT-GmbH/add-force-link-option
luci-mod-admin-full: Add force link option in interfaces advanced settings section
2017-04-06 23:01:48 +03:00
INAGAKI Hiroshi
b4f080b136 luci-base: Update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-04-03 02:32:28 +09:00
INAGAKI Hiroshi
369dbbfe71 i18n: Sync translations
Synchronized all translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-03-31 00:50:22 +09:00
Florian Eckert
7b55d1b4af luci-base: update i18n
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2017-03-15 13:11:50 +01:00
Florian Eckert
4baeb1be2d luci-base: update german translation
Added some missing german translations

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2017-03-07 11:38:19 +01:00
Hannu Nyman
61f63fb9af i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-03-04 12:26:30 +02:00
Hannu Nyman
3c988cf16c treewide: cleanup references to madwifi from LuCI
Remove the code related to the deprecated madwifi driver.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-28 18:55:11 +02:00
Hannu Nyman
be8b920a2e Merge pull request #1039 from danrl/luci-proto-wireguard
luci-proto-wireguard: add support for fwmark option
2017-02-27 21:50:52 +02:00
danrl
cd8333cf0b luci-proto-wireguard: add support for fwmark option
Adds support for the fwmark option.

FwMark is a 32-bit fwmark for outgoing packets.
If set to 0 or "off", this option is disabled.

Signed-off-by: Dan Luedtke <mail@danrl.com>
2017-02-27 20:48:46 +01:00
Hannu Nyman
5e24b73720 Merge pull request #1034 from feckert/bootstrap_javascript_warning
luci-theme-boostrap: add javascript warning if disabled
2017-02-26 19:50:25 +02:00
Luiz Angelo Daros de Luca
fe9d39c06c i18n: complete pt-br translation
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2017-02-22 20:34:38 -03:00
Florian Eckert
81cbe3dd65 luci-base/po: update JavaScript nameing
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2017-02-22 10:10:57 +01:00
Florian Eckert
7a28ed8f16 luci-base: sync translations
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2017-02-21 13:06:02 +01:00
Florian Eckert
a72d90faac luci-base: add dhcp to system ucitrack
If hostname get changed in "/etc/config/system" dnsmasq should reloaded
his config to be reached again under the URL [HOSTNAME].lan

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2017-02-21 10:18:53 +01:00
Hannu Nyman
3d4fbc9a86 Merge pull request #1014 from danrl/datatypes
luci-base: added datatypes `hostid` and `base64`
2017-02-15 10:56:41 +02:00
danrl
94d6b7b70d luci-base: added dhcpv6 datatypes
Signed-off-by: Dan Luedtke <mail@danrl.com>
2017-02-15 09:50:58 +01:00
Hannu Nyman
2f0e7eb5ed luci-base: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-15 10:15:36 +02:00
INAGAKI Hiroshi
48435bb1ac luci-base: Update Japanese translation
Added some Japanese translations of recently added strings.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-02-11 03:30:17 +09:00
INAGAKI Hiroshi
041c7fedb0 luci-base: Sync translations
Synchronized translations with Lua sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-02-11 02:45:32 +09:00
Hannu Nyman
11f23559e4 luci-base: add hexstring datatype
Add datatype 'hexstring' for input validaiton datatypes.

It will accept any hexadecimal string.

(no length validation, as rangelength can be used for that.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-09 16:58:07 +02:00
Daniel Dickinson
fecf6e1d11 Merge pull request #965 from cshore-firmware/pull-request-odhcpd-mac
base: status: For odhpcd leases display MAC formatted with colons
2017-02-07 16:00:09 -05:00
Jo-Philipp Wich
d85f7a8a00 luci-base: fix logic errors in ipmask4 and ipmask6 datatype validators
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-30 19:14:08 +01:00
INAGAKI Hiroshi
63a6671b97 luci-base: Update Japanese translation
Added and modified some Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-30 02:41:25 +09:00
INAGAKI Hiroshi
81be1471c6 luci-base: Sync translations
Synchronized translations with Lua sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-30 01:11:15 +09:00
Cody R. Brown
5377d22b4a mod-admin-full: Add IPv6 Prefix Delegation information to Status Pages
The Overview page and Network>Interfaces page currently do not give much information about IPv6, particularly with Prefix Delegated setups. In these setups, ISP will delegate a prefix to the router. Currently LuCI doesn't display this Prefix Delegation from the ISP anywhere. A number of changes was added to this commit:

1) self:_ubus("ipv6-prefix") was extracted and put into protocol.ip6prefix.
2) Network>Interfaces page, if a .ip6prefix is present, show it under Status. (IPv6-PD).
3) On the Overview page, "Type" and "Prefix Delegated" has been added to the IPv6 Network Overview Status:
  - Type will display the .proto, similar to the IPv4 case. If a .ip6prefix is present, it'll display a "-pd" at the end of the Type: i.e. dhcpv6-pd vs. dhcpv6.
  - If no .ip6prefix is present, it'll do what it does currently, and just show Address, or :: if no address is present.
  - If .ip6prefix is present, it'll show the "Prefix Delegated", it'll also hide "Address" if no address is present, else it'll show ifc6.ip6addr as well.

Signed-off-by: Cody R. Brown <dev@codybrown.ca>
2017-01-28 01:38:06 -08:00
INAGAKI Hiroshi
6a15c10835 luci-base: Update Japanese translation
Added and modified some translations for Japanese.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-26 18:50:51 +09:00
INAGAKI Hiroshi
fbc06f2ab2 i18n: Sync translations
Synchronized translations with Lua sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-26 12:38:28 +09:00
Jo-Philipp Wich
ae7c6f48df luci-base: mvalue: fix column wrapping
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:07:26 +01:00
Jo-Philipp Wich
ec9942925c luci-base: datatypes.lua: add missing parentheses in conditional
The missing parens lead to a wrong expression precedence, causing a runtime
error when attempting to compare nil with a number.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-24 13:51:27 +01:00
Jo-Philipp Wich
e4b1bb3156 luci-base: ipmask, ipmask4 and ipmask6 validators
These validators accept IP address specifications in the form

 - address
 - address/bits
 - address/netmask

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-23 16:15:22 +01:00
Jo-Philipp Wich
937f4fbbdf luci-base: datatypes.lua: cleanup white space
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-23 16:10:07 +01:00
Cody R. Brown
0f35de886c luci-base: luci.tools.status: properly parse infinite dnsmasq leases
The expiry time in a dnsmasq lease file line may be 0 (i.e.
expiry date = 01/01/1970 00:00:00 GMT) to denote an infinite
lease time, so adjust the code to properly support that.

The expiry attribute of the lease object will be set to "false"
in case of an infinite lease. This is to mimic the odhcp code below.
If the expiry date is not equal to 0, then just do exactly what was
done before (return the os.diff of current time and ts).

Signed-off-by: Cody R. Brown <dev@codybrown.ca>
2017-01-23 09:37:10 +02:00
Daniel Dickinson
4fd2b74e4a base: status: For odhpcd leases display MAC formatted with colons
This should result in the MAC address display being the same
using odhcpd for v4 DHCP as when using DNSMasq for v4 DHCP.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2017-01-20 02:09:34 -05:00
Daniel Dickinson
f00a1ac2d9 Merge pull request #953 from musashino205/mount-fix-disp
luci-mod-admin-full: Fix display problems of mount
2017-01-16 10:45:20 -05:00
Daniel Dickinson
859bac61fc Merge pull request #917 from aa65535/master
luci-base:adjust the code order
2017-01-16 09:26:42 -05:00
Daniel Dickinson
a85807d375 Merge pull request #946 from chloe-jeong/trunk-ko
Updates korean languages.
2017-01-16 02:07:36 -05:00
INAGAKI Hiroshi
bc8f58a2ef luci-base: sync translations
Recently a string to be translated were added to Lua source, so
I synchronized po templates and po file of each language with Lua
source.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-16 13:01:17 +09:00
Daniel Dickinson
33b279c475 luci-base: Avoid block umount on fstab apply
Default behaviour of changes to fstab (Mount Points) was
to use /etc/init.d/fstab restart, however this unmounts
filesystems via block umount which can cause the device
to fail, so replace the initscript call with an exec
of 'block mount'.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2017-01-15 21:41:18 -05:00
Weongyo Jeong
fe7fd0e230 luci-base: Updates korean language.
Signed-off-by: Weongyo Jeong <weongyo@gmail.com>
2017-01-14 21:12:53 +09:00
Hannu Nyman
61fa65f2f9 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-01-11 15:50:46 +02:00
Daniel Dickinson
6c13339ad3 Merge pull request #930 from cshore-firmware/pull-request-fix-webadmin
base: webadmin: Don't take substring of nil variable
2017-01-10 17:19:55 -05:00
Hannu Nyman
95d3f26691 Merge pull request #923 from kuoruan/i18n-zh-cn
Update Simplified Chinese translation
2017-01-07 17:04:32 +02:00
Hsing-Wang Liao
70b725991e luci-base: Update Simplified Chinese translation
Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
2017-01-07 21:50:21 +08:00
Hannu Nyman
9dbfb9d388 luci-base: update LuaSrcDiet download location
Update the googlecode download address to the current one.

Change hash to SHA256 at the same time.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-01-05 23:34:54 +02:00
Jian Chang
260a24aadb luci-base:adjust the code order
The `cbi_validate_field` should be after data initialized.

Signed-off-by: Jian Chang <aa65535@live.com>
2017-01-03 19:00:53 +08:00
Daniel Dickinson
7bfd36d585 base: webadmin: Don't take substring of nil variable
When converting interface names to UCI network names
webadmin fails if there is no UCI network name because
webadmin failed to ensure uciname has a value before
attempting to take a substring.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2016-12-30 13:44:22 -05:00
Hannu Nyman
882c5f02e6 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-22 11:23:26 +02:00
Jo-Philipp Wich
b56d1a85e2 luci-base: luci.sys.iptparser: properly check for table support
Do not assume that the "raw" table is present on any system, instead check
/proc/net/ip{,6}_tables_names to determine which iptables tables are available.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-21 18:04:24 +01:00
jose1711
08f955d627 Fix a few typos in Czech translation
Signed-off-by: Jose Riha <jose1711@gmail.com>
2016-12-21 10:01:28 +02:00
Hannu Nyman
de4c4a6ff5 Merge pull request #884 from chloe-jeong/trunk-ko
Adds Korean translation.
2016-12-20 16:21:59 +02:00
Weongyo Jeong
9d640e4c4c Adds Korean translation.
Adds Korean language supported for Luci of OpenWRT.  Most of msgs which
shown at UI are translated but still not completed for non-popular
features.

Signed-off-by: Weongyo Jeong <weongyo@gmail.com>
2016-12-20 23:11:11 +09:00
musashino205
18122da3e3 luci-base: Update Japanese translation
Signed-off-by: musashino205 <musashino.open@gmail.com>
2016-12-16 15:25:17 +09:00
musashino205
4d4ef3a7a3 luci-base: Update Japanese translation
Signed-off-by: musashino205 <musashino.open@gmail.com>
2016-12-16 03:55:25 +09:00
Hannu Nyman
0fdee1ed9d i18n: fix some sysupgrade related string translations
Fix translated strings broken by recent changes.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-10 16:36:02 +02:00
Hannu Nyman
e65f6512e7 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-10 14:34:30 +02:00
Daniel Dickinson
c5287ef15f Merge pull request #663 from NeoRaider/styleable-checkboxes
luci-base: view: make checkboxes and radio buttons styleable
2016-12-10 06:36:01 -05:00
Hannu Nyman
dad185e2c9 Fix config files getting overwritten in opkg install
Commit 39ff053890 accidentally removed the conffiles definitions
from luci-base, statistics, splash and diag-devinfo apps.

That has caused existing config files to get overwritten if the
package has been reinstalled via opkg. Additionally, the splash
text files have not been saved in sysupgrade or backup as they
are located outside /etc/config

This commit adds back the conffiles definitions to the respective
packages.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-10 11:20:01 +02:00
Hannu Nyman
a7c5c018b6 time zone data: Update to 2016j
Changes:
     Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
     This hives off a new zone Europe/Saratov from Europe/Volgograd.

     The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
     Asia/Aqtau except it switched from +04/+05 to +05/+06 in spring
     1999, not fall 1994.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-09 18:10:44 +02:00
Jo-Philipp Wich
8e9e92a630 luci-base: luci.tools.status: properly parse infinite odhcpd leases
The expiry time in an odhcpd lease file line may be -1 to denote an infinite
lease time, so adjust the code to properly support that.

The expiry attribute of the lease object will be set to "false" in case of an
infinite lease.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-09 13:05:44 +01:00
Hannu Nyman
3936e79cf8 time zone data: Update to 2016i
Note that several of the time zones now use a numeric name
that is quoted with < >  (e.g. "<+03>-3")

musl 1.1.15 and earlier have a bug with < > quoted time zone names.
Fix for the bug
* has already been patched in musl upstream with
  http://git.musl-libc.org/cgit/musl/commit/?id=8ca27ac4bfe73bff785d0c26c1de0da92b55e5c6
* has been committed in LEDE with
  671cb35880
* has been submitted to Openwrt as pull request
  https://github.com/openwrt/openwrt/pull/163

Key changes in 2016d-2016i:
---------------------------

2016d:
     America/Caracas switches from -0430 to -04 on 2016-05-01.

     Asia/Magadan switches from +10 to +11 on 2016-04-24.

     New zone Asia/Tomsk, split off from Asia/Novosibirsk.

2016f:
     Asia/Novosibirsk switches from +06 to +07 on 2016-07-24.

     Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
     abbreviations instead of invented ones.

2016g:
     Turkey switched from EET/EEST (+02/+03) to permanent +03,
     effective 2016-09-07. Use "+03" rather than an invented
     abbreviation for the new time.

     Several zones in Antarctica and the former Soviet Union, along
     with zones intended for ships at sea that cannot use POSIX TZ
     strings, now use numeric time zone abbreviations instead of
     invented or obsolete alphanumeric abbreviations.

2016h:
     Asia/Gaza and Asia/Hebron end DST on 2016-10-29, not
     2016-10-21. Predict that future fall transitions will
     be on the last Saturday of October.

     Asia/Colombo now uses numeric time zone abbreviations like "+0530"
     instead of alphabetic ones like "IST" and "LKT".

2016i:
     Pacific/Tongatapu begins DST on 2016-11-06, ending on
     2017-01-15.  Assume future observances in Tonga will be
     from the first Sunday in November through the third Sunday in
     January, like Fiji. Switch to numeric time zone abbreviations
     for this zone.

     Northern Cyprus is now +03 year round, causing a split in Cyprus
     time zones starting 2016-10-30 at 04:00. This creates a zone
     Asia/Famagusta.

     Antarctica/Casey switched from +08 to +11 on 2016-10-22.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-08 12:43:00 +02:00
Hannu Nyman
5f4b0fe274 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-10-30 10:21:12 +02:00
Hannu Nyman
494116d620 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-10-23 21:36:36 +03:00
Matthias Schiffer
4d97a9f698
luci-base: use default install paths for host utils
This reverts commit d4c3372020.

PATH inconsistencies and Host/Install arguments have been fixed in both
LEDE and OpenWrt, so we can revert the revert.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-09 22:44:15 +02:00
Jo-Philipp Wich
e06c60a0d6 luci-base: remove default diag host from /etc/config/luci
Now that luci-mod-admin-full figures out the proper diagnostics host
during postinstall we can remove the UCI section from the default
configuration file.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-06 17:14:46 +02:00
Jo-Philipp Wich
d4c3372020 Revert "luci-base: use default install paths for host utils"
This reverts commit 87a7570690.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-05 01:44:02 +02:00
Jo-Philipp Wich
dcb2a0e680 Revert "luci-base: fix luci-base host tool install on OpenWrt"
This reverts commit f7639bcd6a.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-05 01:43:55 +02:00
Matthias Schiffer
f7639bcd6a
luci-base: fix luci-base host tool install on OpenWrt
OpenWrt doesn't provide an argument to Host/Install like LEDE does; use
HOST_BUILD_PREFIX instead, which is available on both.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-04 00:34:30 +02:00
Matthias Schiffer
87a7570690 luci-base: use default install paths for host utils
Also, don't make any assumptions about the staging dir lua and LuaSrcDiet
were installed to.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-03 18:07:43 +02:00
Hannu Nyman
d5f8c9b028 Merge pull request #782 from Ansuel/master
Fix some capital and add some translation
2016-08-25 00:45:41 +03:00
BuildTools
140b6d0e1d Fix some capital and add some translation
Hope this time I have done a good work
2016-08-24 12:27:01 +02:00
Hannu Nyman
74b452a83e i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-08-24 11:49:13 +03:00
Jo-Philipp Wich
f885853b5c Revert "Fix and update italian translation"
This reverts commit 66d5023891 since the
original change was apparently untested.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-24 10:20:43 +02:00
Ansuel
66d5023891 Fix and update italian translation
I have fixed some capital letter and add some translation
2016-08-23 23:10:45 +02:00
Jo-Philipp Wich
4a5635cafa luci-base: properly style login alert message
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-18 09:19:54 +02:00
Hannu Nyman
f58069a1a6 i18n: sync translations, fix sv for adblock
Sync translations.
Fix the newly added sv translation for adblock.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-08-16 10:07:49 +03:00
Jo-Philipp Wich
8cd6e4efe8 luci-base: support reading switch topology from /etc/board.json
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-15 17:52:28 +02:00
Jo-Philipp Wich
6a11f71758 luci-base: cbi.js: handle undefined arguments in formatting
Fix the JavaScript String.format() to not trigger an exception if the argument
for an escaped format like %h or %q is undefined.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-04 11:45:30 +02:00
Jo-Philipp Wich
123f14b55d luci-base: fix handling of monitor ifaces
Wireless monitor interfaces usually have no SSID set in their config and
various network model utility functions did not handle this case properly,
mainly while trying to incorperate the SSID string into various description
labels.

Fall back to the internal network id (radioX.networkY) in cases where neither
the SSID nor the BSSID are available.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-04 11:45:30 +02:00
Jo-Philipp Wich
240b8c4b6e luci-base: improve string format error reporting
In mod metamethod, execute string format under pcall() and rethrow error in
caller context to report caller of function in errors and not the meta
method itself.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-04 11:45:30 +02:00
Florian Eckert
8b07a65117 luci-mod-admin-full: make diagnostics url customizable
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2016-07-29 08:21:23 +02:00
Hannu Nyman
3d08224b2e luci-base: cleanup translations
Cleanup the .po files by removing the archived old translation strings.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-06-09 12:51:21 +03:00
Hannu Nyman
f4a446ce72 i18n: sync translations
sync translations

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-06-09 11:58:00 +03:00
Kevin Darbyshire-Bryant
4580faaa5e luci-base: fix lua interpreter location
An lua interpreter is required on the building host to run the
luasrcdiet lua script.  Due to a build change, the interpreter was not
being installed to the correct location.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-06-03 10:24:09 +01:00
Hannu Nyman
1709800150 luci-base: fix whitespace
change spaces to tabs

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-06-03 10:35:37 +03:00
Hannu Nyman
f4af114dbc i18n: sync translations
sync translations.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-30 10:24:47 +03:00
Hannu Nyman
e336dbed39 luci-base: remove deprecated 6relayd from ucitrack
Cleanup /etc/config/ucitrack by removing '6relayd' item,
as the whole 6relayd package was removed in 2014.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-25 22:26:36 +03:00
Chuanhong Guo
c1f0a9971a luci-base:Turn off pattern matching when generating distversion
Otherwize the distrevision may be displayed twice if it contains some special matching patterns.(For example I am using "git-$hash" in my own OpenWrt branch.)
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2016-05-14 11:46:28 +08:00
Hannu Nyman
3bf4157184 i18n: sync translations
Sync translations

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-01 16:03:50 +03:00
Jo-Philipp Wich
313e325ab1 luci-base: fix syntax error in luci.model.network
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-26 21:02:51 +02:00
Jo-Philipp Wich
182506113d luci-base: add more ignore patterns to luci.model.network
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-26 21:01:18 +02:00
Jo-Philipp Wich
4983a9b034 luci-base: fix luci.model.network.ignore_interface()
Fix the underlying _iface_ignore() function to not ignore virtual interfaces,
in order to let ignore_interface() return true for PPP and similar devices.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-26 21:01:18 +02:00
Hannu Nyman
51a7f96877 luci-base: read odhcpd leasefile location via uci
Check the location of the odhcpd leasefile from /etc/config/dhcp
via uci. Fallback to the default location.

This fixes #702

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-04-17 12:12:54 +03:00
Daniel Dickinson
97f2937034 luci-base: utils: Make checklib return a boolean
Using tristate is counter-intuitive and probably doesn't provide a lot
of benefit so we use a boolean and treat "don't know" as false (because
it is safer than showing options that are not actually available).

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-04-08 02:18:42 -04:00
Oskari Rauta
57e58b9bf9 Update network.lua
Fix display of WAN status when WAN is provided by using WWAN device or similar with other similar similar methods.
Explanation:
Before this, protocol was fetched from /etc/config/network for interface which often is wan_4 - but protocol is configured in file as wan, and therefore protocol is always none, since configuration is made for wan and then setup as wan_4 and possibly wan_6 if ipv6 is being used. This commit uses ubus to get used active protocol. For example, in case of qmi, it displays protocol as dhcp since even if I configured wan to use qmi, dhcp was used as a protocol for getting IP address.
2016-04-01 04:15:11 +00:00
Hannu Nyman
859e435378 timezone data: update to 2016c
Update timezone data to 2016c.

2016b: http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html

   Changes affecting future time stamps

     New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
     Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04
     on 2016-03-27 at 02:00 local time.  They need distinct zones since
     their post-1970 histories disagree.  New zone Asia/Barnaul for Altai
     Krai and Altai Republic, Russia, which will switch from +06 to +07
     on the same date and local time.  Also, Asia/Sakhalin moves from +10
     to +11 on 2016-03-27 at 02:00.

     As a trial of a new system that needs less information to be made up,
     the new zones use numeric time zone abbreviations like "+04"
     instead of invented abbreviations like "ASTT".

     Haiti will not observe DST in 2016.

     Palestine's spring-forward transition on 2016-03-26 is at 01:00,
     not 00:00. Guess future transitions will be March's last Saturday
     at 01:00, not March's last Friday at 24:00.

2016c: http://mm.icann.org/pipermail/tz-announce/2016-March/000037.html

   Changes affecting future time stamps

     Azerbaijan no longer observes DST.

     Chile reverts from permanent to seasonal DST.
     Guess that future transitions are August's and May's second
     Saturdays at 24:00 mainland time.  Also, call the period from
     2014-09-07 through 2016-05-14 daylight saving time instead of
     standard time, as that seems more appropriate now.

Note for Openwrt usage:

Either musl or busybox does not like the new timezone format.
Although the rule looks ok in /etc/TZ, timezone is interpreted wrongly
by date, uptime etc. "Old timezones" are handle correctly, but these
new "<+04>-4" style zones do not work. Example below:

Europe/Helsinki
 root@OpenWrt:~# cat /etc/TZ
 EET-2EEST,M3.5.0/3,M10.5.0/4
 root@OpenWrt:~# uptime
  11:00:52 up 18:17,  load average: 0.43, 0.13, 0.11
 root@OpenWrt:~# date
 Wed Mar 30 11:00:55 EEST 2016

Europe/Astrakhan
 ( Time is showed as GMT instead of the correct zone and
   zone name is parsed wrongly )
 root@OpenWrt:~# cat /etc/TZ
 <+04>-4
 root@OpenWrt:~# uptime
  08:02:52 up 18:19,  load average: 0.17, 0.18, 0.13
 root@OpenWrt:~# date
 Wed Mar 30 08:02:59 +04>-4 2016

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-30 11:35:18 +03:00
Daniel Dickinson
9652d44ef2 luci-base: Add option to check linked libraries
Some packages have different variants that have different
capabilities depending on which libraries against which
they are linked.  Add a function to check which library a
binary links against in order to determine available
functionality.

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-03-25 03:04:25 -04:00
Hannu Nyman
6b9a7433bc i18n: sync translations
Sync translations

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-21 12:46:46 +02:00
Hannu Nyman
e2e2696430 luci-base: fix bug in util.lua in 'shellsqescape'
Fix a bug introduced by #561

Function 'shellsqescape' calls 'gsub' with the empty result string 'res'
instead of the actual parameter 'value'. This leads into error:
.../util.lua:160: bad argument #1 to 'gsub' (string expected, got nil)

Fix error by passing the correct parameter to the function.

After the fix, the unmount button introduced by #561 finally works.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-20 13:12:05 +02:00
Hannu Nyman
a77ff30057 Add support for showing ipv6 NAT table in Luci
When kmod-nf-nat6 and kmod-ipt-nat6 are installed, the firewall has also
the 'nat' table for ipv6, and packages like 'adblock' utilize that table.

Currently that table is not shown on the Luci firewall status page,
although it is visible by 'ip6tables -L -v -t nat' from console.

Detect 'nat' table's presence from /proc/net/ip6_tables_names

Show 'nat' table in Status->Firewall->IPv6 if that table is present.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-16 15:50:00 +02:00
Hannu Nyman
50451c4ac5 luci-base: Include Openwrt build revision in displayed version string
The version string displayed in the footer and the overview page contains
both LuCI and Openwrt versions. But due to differences in the contents
of /etc/openwrt_release the exact Openwrt revision r..... may be missing:
* In trunk that revision is included in the DISTRIB_DESCRIPTION field that
  is displayed in Luci as the Openwrt version.
* In release branches, that field contains the release number like 15.05.

Revision number is always present in DISTRIB_REVISION field, so add the
revision from that field in case the revision is not already present
in the string.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-11 14:16:24 +02:00
Hannu Nyman
7553654bb1 LuCI: Display the proper LuCI git branch in GUI
Adjust luci.mk and luci-base to find out correctly if Luci is built
from master or from a branch. Display that value in the footer and
the overview page.

* Evaluate the git branch in luci.mk and pass that to LuCI submodules
  as a make variable. Use branch name, ignore tags.
* Deprecate svn detection in luci-base's mkversion.sh that generates
  version.lua. Simply use the value passed by make.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-03-10 19:50:58 +02:00
Matthias Schiffer
4de35274ca luci-base: view: make checkboxes and radio buttons styleable
Add an empty, normally invisible label after checkboxes and radio buttons
with cbi-input-{checkbox,radio} classes to allow CSS styling them as
suggested on http://www.paulund.co.uk/style-checkboxes-with-css

Signed-off-by: Nils Schneider <nils@nilsschneider.net>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-03-03 22:06:39 +01:00
Matthias Schiffer
c8675d0c55 modules/base: dispatcher: use default language if automatic choice fails
Fall back to default language if "auto" is configured, but none provided by
the browser matches.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-03-01 17:25:55 +01:00
Hannu Nyman
06cf8b1b6f i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-02-26 15:17:01 +02:00
Jo-Philipp Wich
55597da3a8 luci-base: cbi: fix misplaced ID in nullsection template
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-24 17:40:53 +01:00
Jo-Philipp Wich
e78759ad5a luci-base: cbi: also initialize JS if pageactions are disabled
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-24 17:40:01 +01:00
Jo-Philipp Wich
385a49277a luci-base: cbi: fix dependency handling of list and multivalues with radio/checkbox widgets
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-23 09:27:25 +01:00
Jo-Philipp Wich
4323935a1e luci-base: luci.sys: canonicalize src and dest addrs in luci.sys.net.conntrack()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-20 22:14:47 +01:00
Jo-Philipp Wich
3b86fd1d1b luci-base: cbi: fix button handling for dynamic lists
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-19 17:21:06 +01:00
Christian Schoenebeck
77f5390472 Merge pull request #644 from chris5560/master
luci-base: fixed tabbed map when using NamedSection of same type
2016-02-18 19:25:41 +01:00
Jo-Philipp Wich
99f5d4e902 luci-base: cbi.js: properly round down numbers for %u and %d patterns
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-17 16:33:34 +01:00
Jo-Philipp Wich
a860de860a luci-base: cbi.js: string formatting fixes
* Fix left and right justify/padding in formats
* Do not emit decimal numbers for small values in %m format

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-15 12:45:42 +01:00
Jo-Philipp Wich
5b09d39e9c luci-base: cbi: rely on auto-serialization for combobox choices
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:36:37 +01:00
Jo-Philipp Wich
afdc349ab4 luci-base: cbi: rework ListValue and MultiValue templates
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:33:01 +01:00
Jo-Philipp Wich
8f409a45ab luci-base: dispatcher: let attr() automatically serialize JSON
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:31:10 +01:00
Jo-Philipp Wich
9ce798abd4 luci-base: cbi: properly handle dependant elements without parent
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:29:34 +01:00
Jo-Philipp Wich
58e2f557da luci-base: cbi: only spawn dynlist sub-comboboxes if choices are available
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 18:23:39 +01:00
Jo-Philipp Wich
6d126649f0 luci-base: cbi: further refactoring
Eliminate more inline scripts in favor to global initialization, use a global
object for sharing fixed strings instead of passing them to each invocation.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 18:11:49 +01:00
Jo-Philipp Wich
cd85ef388c luci-base: fix dependency handling of optionals (#645)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-09 16:12:02 +01:00
Jo-Philipp Wich
84de513a79 luci-base: cbi: remove duplicate id from template
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-09 16:12:02 +01:00
Christian Schoenebeck
5fdfd903f4 luci-base: fixed tabbed map when using NamedSection of same type
* fixed tabbed map when using NamedSection of same sectiontype
* add error message on which tab(s) the invalid/required fields are located

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-02-08 21:04:23 +01:00
Hannu Nyman
9b5724d39e timezone data: update to 2016a
Update timezone data to 2016a.

http://mm.icann.org/pipermail/tz-announce/2016-January/000035.html

   Changes affecting future time stamps

     America/Cayman will not observe daylight saving this year after all.
     Revert our guess that it would.  (Thanks to Matt Johnson.)

     Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
     (Thanks to Alexander Krivenyshev.)

     Asia/Tehran now has DST predictions for the year 2038 and later,
     to be March 21 00:00 to September 21 00:00.  This is likely better
     than predicting no DST, albeit off by a day every now and then.

   Changes affecting past and future time stamps

     America/Metlakatla switched from PST all year to AKST/AKDT on
     2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)

     America/Santa_Isabel has been removed, and replaced with a
     backward compatibility link to America/Tijuana.  Its contents were
     apparently based on a misreading of Mexican legislation.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-02-07 12:28:16 +02:00
Hannu Nyman
8ae57f6204 i18n: Sync translations
Sync translations.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-02-03 11:43:10 +02:00
Jo-Philipp Wich
d65235f64a luci-base: fix parsing of non-TCP streams in conntrack table
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-02 11:52:51 +01:00
Hannu Nyman
c2cf5d1855 Fix embedded links: github instead of luci.subsignal.org
Fix links to point into Github repo instead of luci.subsignal.org
 - the hint to file a bug in dispatcher
 - footers of Bootstrap and Firefunk themes

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-02-02 12:07:16 +02:00
Jo-Philipp Wich
61239741d8 luci-base: fix initialization of MultiValue options
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-23 17:34:53 +01:00
Christian Schoenebeck
f779b00d88 sys.lua _nethints(): read location of dhcp.lease file from uci
status.lua - change default directory of dhcp.leases file
sys.lua - read location of dhcp.leases file from uci

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-01-21 22:17:05 +01:00
Jo-Philipp Wich
df7ab69eba luci-base: luci.sys.net: use luci.ip.neighbors() instead of /proc/net/arp
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-20 17:27:51 +01:00