Commit graph

2167 commits

Author SHA1 Message Date
Jo-Philipp Wich
e5ba594d77 luci-base, luci-mod-admin-full: unify wifi assoclist code
Merge the assoclist code of the status overview and wireless overview pages
into a single shared partial template.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-25 09:01:33 +02:00
Jo-Philipp Wich
86c6c60a0d luci-mod-admin-full: replace status page legend tags with h3 (#1907)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-25 09:00:07 +02:00
Jo-Philipp Wich
b4d78d2042 luci-mod-admin-full: packages: display available packages by default
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-23 18:01:43 +02:00
Jo-Philipp Wich
bbf096c79e luci-mod-admin-full: cleanup markup
Globally cleanup template markup to support responsive design changes in
OpenWrt theme.

Rework handling of dynamic status tables, consolidate hand-written markup,
fix small render bugs in various places and annotate tables where needed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-23 18:01:39 +02:00
Jo-Philipp Wich
d0b91bcca2 luci-base: globally cleanup markup
- add responsive attributes to partial cbi templates
 - unify and fix button style classes
 - fix styling of sysauth dialog
 - rework firewall_zoneforwards widget

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-23 17:13:22 +02:00
Jo-Philipp Wich
c4bd6fb7b9 luci-base: cbi.js: add tooltip handling and responsive table helper code
- make findParent() globally available
 - add code for initializing rich cbi tooltips
 - introduce cbi_update_table() helper to auto-assign responsive attributes
   to table markup

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-22 15:14:40 +02:00
Jo-Philipp Wich
69782ccbcc luci-base: xhr.js: defer starting poll queue
Defer the start of the queue poll loop until the document has been loaded.

This allows all XHR.poll() invocations on the page to register their
handlers before the first batch of requests is made.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-22 09:42:15 +02:00
Yurii
fef02b31e6
luci-base: update Ukrainian translation 2018-06-17 23:38:38 +03:00
INAGAKI Hiroshi
fe591dd1cc i18n: fix syntax errors in Ukrainian po
"Content-Type: text/plain; charset=UTF-8" was wrote twice in each
of base.po and firewall.po, and one was an incorrect place which
was the cause of the errors.

And, The escape in abbr HTML tag was incorrect, so I fixed it.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-06-16 23:36:18 +09:00
Florian Eckert
0251603f0a luci-mod-admin-full: fix empty SSH-Keys issue
If you delete all ssh keys in the textarea then LuCI will rais an error.
So if you added one ssh-key to the textarea and then you want to delete them
again that is not possbile in LuCI.
To fix this remove "rmempty" attribute and add a remove function which will
called if the textarea is empty.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-06-14 11:50:55 +02:00
Kevin Darbyshire-Bryant
8f67019713 wireguard: update wireguard url
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-06-11 11:43:39 +01:00
Yurii
0c410c848b
luci-base: update Ukrainian translation
Updated Polish translations.

Signed-off-by: Yurii <yuripet@gmail.com>
2018-06-10 16:56:13 +03:00
Krystian Kozak
ad5f768c40 luci-base: update Polish translation
Updated Polish translations.

Signed-off-by: Krystian Kozak <krystian.kozak20@gmail.com>
2018-06-10 11:25:54 +02:00
Hannu Nyman
fad02ac8d7
Merge pull request #1868 from sotux/master-zh_CN
Update Simplified Chinese translation
2018-06-09 17:53:27 +03:00
Jo-Philipp Wich
e7866c7dcc luci-mod-admin-full: add suggested italian translations
Merge two italian translations suggested in #1870 and add back two missing
dots accidentially removed from the translations in a previous commit.

Fixes: 588c8618b ("luci-mod-admin-full: fix translation interpolation in JS confirm() calls")
Suggested-by: Ansuel Smith <ansuelsmth@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 16:05:48 +02:00
Jo-Philipp Wich
588c8618b6 luci-mod-admin-full: fix translation interpolation in JS confirm() calls
Use luci.http.write_json() in conjunction with translate() to write out
unescaped translation strings in a manner suitable for interpolation inside
JavaScript.

Fixes #1870
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 15:48:26 +02:00
Jo-Philipp Wich
0e0ee2fed5 luci-mod-admin-full: git rid of embedded newlines in translation strings
Also switch one usage of raw '<%_ ... %>' interpolation to '<%: ... %>' in
order to avoid issues with translations using apostrophes.

Globally resnyc translations after the fix.

Fixes #1866.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 13:50:14 +02:00
Zheng Qian
2e7fa89e1a luci-base: update Simplified Chinese translation
Signed-off-by: Zheng Qian <sotux82@gmail.com>
2018-06-08 16:43:40 +08:00
Jo-Philipp Wich
74be6f3974 treewide: switch firewall zone, network and iface lists to dropdown code
Also switch the weekday and monthday lists in the firewall rule details to
cbi dropdowns, vastly uncluttering the form.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 08:19:20 +02:00
Jo-Philipp Wich
9d48490729 luci-base: add markup, JS and CSS for new dropdown
This commit introduces the required code for a new, markup based dropdown
widget which can be used as a styleable alternative to select boxes or
radio/checkbox button groups.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 08:14:36 +02:00
Jo-Philipp Wich
4cca96ef09 luci-base: support option aliases in luci.cbi
AbstractValue descendants may now specify a new optional property `alias`
which refers to a uci option to read/write/remove that differs from the
option name itself.

This is mainly useful for widgets that are toggled based on dependencies,
e.g. for alternating between SingleValue and MultiValue, but which are
intented to write into the same uci option.

Such a setup was previously possible already by overriding the .cfgvalue(),
.write() and .remove() callbacks with custom implementations, but that
required a lot of boiler plate code and was rather fragile.

With the `alias` property, CBI now takes care of the details and tracks
aliased fields within a section accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 07:25:54 +02:00
Jo-Philipp Wich
7be3f0400c luci-base: fix some minor luci.model.uci issues
- Properly serialize option delete changelogs
 - Do not perform a section create if a nil value is passed to set()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-06 21:45:49 +02:00
Jo-Philipp Wich
2d352a9251 luci-base: cbi: atomically reorder uci sections
Since the switch to ubus uci operations we do not have a local application-
side cursor cache anymore, instead uci operations happen synchronously in
the rpcd backend server.

This may cause cbi section reorder operations involving multiple elements
to fail, because anonymous section hashes may change due to rehashing
between consecutive ubus uci reorder calls.

In order to avoid that problem, use the ubus uci batch reorder extension,
which allows to pass a complete (or partial) list of section ids in the
desired order in one call, bypassing the volatile section id problem.

Fixes #1844.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-03 20:02:44 +02:00
INAGAKI Hiroshi
f28784b61e luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-06-01 02:45:53 +09:00
INAGAKI Hiroshi
2d196614f4 luci-base: sync translations
Synchronized translations with sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-06-01 02:20:05 +09:00
Jo-Philipp Wich
a64ab077d7 luci-mod-freifunk: use common alert message markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 19:08:14 +02:00
Jo-Philipp Wich
29b391d7bc luci-base: use common alert message markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 19:06:48 +02:00
Jo-Philipp Wich
724cc29978 luci-mod-admin-full: use common alert message markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 19:00:56 +02:00
Jo-Philipp Wich
298d164dd7 luci-base: update coxpcall() implementation, fix runtime error reporting
Sync our coxpcall() implementation to the newest upstream version in order to
get access to the inner backtrace information and propagate these traces to
the browser in luci.dispatcher.dispatch().

This should make tracking down runtime errors much easier.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 17:45:49 +02:00
Jo-Philipp Wich
5427395649 luci-base: add full page overlay during apply
After applying uci configuration, a full map reload is required in many
cases as the anonymous section identifiers might have been rehashed, causing
the rendered map to go out of sync.

To avoid that, add both a full page overlay preventing further page
interaction and let the apply widget forcibly reload the current view once
the operation is complete.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 15:38:42 +02:00
Jo-Philipp Wich
7bd1bcaf30 luci-mod-admin-full: fix status page render glitch on Chrome
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 07:38:40 +02:00
Jo-Philipp Wich
c3da1fc232 luci-base: cbi.js: remove unused serialize functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-30 16:04:07 +02:00
Jo-Philipp Wich
d1df5a6b7d luci-base: cbi.js: fix cbi_row_swap() after recent table markup changes
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-30 15:59:52 +02:00
Jo-Philipp Wich
0d2ae8d653 luci-mod-admin-full: rework network and wifi status displays
Use a more compact flex layout instead of the tabular display.
Also rename "WAN status" to "Upstream" to avoid future confusion about
wan interfaces vs. defaultroute interfaces.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-30 14:59:24 +02:00
Ansuel Smith
f0094cc06e luci-mod-admin-full: fix revert page
This fix the strange redirect link, a bug with uwsgi where the controller
is empty and a bug with the revert page showing the apply content empty.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[drop unrelated revert.html template change]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-30 14:59:24 +02:00
Ansuel Smith
b8f32b6da7
luci-admin-full: add architecture info
Referring to this, #1698 , we add architecture info and we show Unknown instead of ?. This is usefull if someone needs to install opkg packages manually.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-05-28 15:38:57 +02:00
Jo-Philipp Wich
067d7dc9f7 treewide: convert HTML tables to div
Mostly convert HTML tables to div based markup to allow for easier styling
in the future. Also change JS accessor code accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-28 15:18:45 +02:00
Jo-Philipp Wich
79c82237e3 luci-base: add element creation helper to cbi.js
Add a new helper function `E()` to cbi.js which can be used to conveniently
build HTML markup.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-28 15:18:45 +02:00
Hannu Nyman
6f630b5e66
Merge pull request #1834 from Ansuel/fixpo
luci-base: fix broken translation
2018-05-27 22:07:52 +03:00
Ansuel Smith
c29ffe4dfc
luci-base: fix broken translation
Currently this translation refer to an old string, sync to the new one.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-05-27 21:01:33 +02:00
Yusuf Soyipek
2d053d39d0
Update base.po
Some of the shortcomings in Turkish were added.
2018-05-27 16:17:15 +03:00
Hannu Nyman
9de9a71a9f i18n: one more fix for Polish translation
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-05-25 17:11:47 +03:00
Hannu Nyman
36654b7f4d i18n: sync, fix and cleanup translations
* sync translations (aiccu removal)
* remove some other old strings
* fix Polish translation

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-05-25 16:44:50 +03:00
Ansuel Smith
da1e655294
luci-base: fix dispacher fail
http.getenv("SCRIPT_NAME") fail if it's not provided. This can happen in the login screen when we don't have any script to load.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-05-23 02:52:08 +02:00
INAGAKI Hiroshi
b01471b1fc luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-05-21 01:04:53 +09:00
INAGAKI Hiroshi
b1fd056fa5 i18n: sync translations
Synchronized translations with sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-05-21 01:04:53 +09:00
Jo-Philipp Wich
37a4a1c070 luci-mod-admin-full: fix crash on wireless when no networks are declared
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-19 23:28:14 +02:00
Jo-Philipp Wich
fdbb417abe luci-mod-admin-full: do not override iface section in wireless cbi map
Do override the iface section id upon commit to avoid clobbering the resulting
configuration. The manual config sync is not needed anymore after switching
to uncached ubus uci operations.

Fixes #1770.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-19 23:26:34 +02:00
Jo-Philipp Wich
64da34b13c luci-base: handle potential crash in luci.model.network.interface.get_i18n()
Should prevent the crash mentioned in #1779.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-19 22:11:08 +02:00
Jo-Philipp Wich
9ed48ef2a6 luci-base: break circular luci.config <> luci.model.uci dependency
On certain environments, mainly with the embedded uhttpd interpreter, the
luci.config class cannot be loaded due to a circular dependency with the
luci.model.uci class.

Break up the dependency by deferring the loading of luci.config in
luci.model.uci until it is actually needed.

Fixes #1803, FS#1553.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-19 13:07:37 +02:00
Jo-Philipp Wich
364c271a84 luci-mod-rpc: fix unresolved controller reference in rpc_auth()
Fixes the following error:

   .../rpc.lua:85: attempt to index global 'ctrl' (a nil value)

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-18 16:58:17 +02:00
Jo-Philipp Wich
828202ef52
Merge pull request #1769 from jow-/master
UCI apply/rollback workflow
2018-05-18 16:44:33 +02:00
Jo-Philipp Wich
80cb4fef8c luci-base: raise maximum POST value size to 100KB
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-18 16:43:29 +02:00
Hannu Nyman
521554f4a7
Merge pull request #1748 from hnyman/wifidata
luci-base: show wifi chip identification on overview
2018-05-18 12:51:24 +03:00
Rixerx
3782e74cf8 luci-base: update Polish translation
Signed-off-by: Rixerx <krystian.kozak20@gmail.com>
2018-05-15 11:40:27 +02:00
Yousong Zhou
2f0f456b71 luci-base: harden cookie sysauth=
A simple scan of the code indicates that currently no code in the repo
is accessing the sysauth= cookie

Closes openwrt/luci#1555

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-13 18:30:47 +08:00
Yousong Zhou
b810d99503 luci-mod-freifunk: fix redirect url
location.hostname lacks port info

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 22:27:58 +08:00
Yousong Zhou
c91ba4babc luci-mod-admin-full: use fs.glob instead nixio.fs.glob
It's how the module was named when "require"d and used by other code in
the same function

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

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

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

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

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 20:36:40 +08:00
Florian Eckert
6f3007980b luci-base: reload log on uci system change
If log configuration get changed in uci system no new values are applied
until reboot. Add /etc/init.d/log reload to exec option will solve this
issue.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-05-07 14:37:35 +08:00
Florian Eckert
3cb7452eba luci-base: fix i18n de typo for rc.local
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-05-07 13:51:18 +08:00
Jo-Philipp Wich
9f796fad3a luci-base: add transitional /etc/init.d/ucitrack
Ship an /etc/init.d/ucitrack for spawning a virtual service with the sole
purpose to track the configurations and dependencies formerly handled by
luci-reload.

Once all LuCI supported services ship with procd compatible init scripts,
the uci track support can be dropped.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Jo-Philipp Wich
fd1ddcc419 luci-mod-admin-full: rework wifi configuration
- localize variables
- get rid of redirects breaking apply workflow
- auto-adjust unusable channels when switching country
- use apply/rollback workflow when enabling/disabling networks

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

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

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

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

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

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

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Jo-Philipp Wich
7cca313959 luci-base: enable uci session isolation
Switch to per-session save directories to decouple LuCI configuration changes
from system wide ones.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Jo-Philipp Wich
055b621cf5 luci-mod-rpc: more auth/login fixes, expose further libraries
The previous attempt to fix authentication broke login functionality so
rework the code once again, this time with referencing helper functions
directly via the controller scope.

Furthermore, properly expose luci.sys.wifi.getiwinfo() and luci.ip.

For getiwinfo(), the RPC wrapped function accepts one further optional
parameter specifying the operation to invoke on the iwinfo instance.
If no operation is specified, a summary object containing all info
without country and scan list is returned.

Example to obtain iwinfo summary object:
  curl --cookie sysauth=... \
       --data '{"method": "wifi.getiwinfo", "params": ["wlan0"]}' \
		"http://192.168.1.1/cgi-bin/luci/rpc/sys"

Example to obtain iwinfo scan list:
  curl --cookie sysauth=... \
       --data '{"method": "wifi.getiwinfo", "params": ["wlan0", "scanlist"]}' \
		"http://192.168.1.1/cgi-bin/luci/rpc/sys"

The exposed luci.ip class uses a similar approach to allow invoking
instance methods on cidr objects. The new(), IPv4(), IPv6() and MAC()
constructors accept two further optional arguments, with the first
specifying the instance method to invoke and the second the value to
pass to the instance method.

Example to get list of IPv4 neighbours (ARP entries):
  curl --cookie sysauth=... \
       --data '{"method": "neighbors", "params": [{"family": 4}]}' \
		"http://192.168.1.1/cgi-bin/luci/rpc/ip"

Example to add 100 hosts to a network address:
  curl --cookie sysauth=... \
       --data '{"method": "IPv4", "params": ["192.168.0.1", "255.255.255.0", "add", 1000]}' \
		"http://192.168.1.1/cgi-bin/luci/rpc/ip"

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:07 +02:00
Jo-Philipp Wich
34821b15a5 luci-base: xhr.js: fix timeout setting with IE 11
Internet Explorer 11 requires the timeout to be applied after the open()
call, otherwise an invlaid state exception will be raised

Fixes aa6c97154 ("luci-base: extend xhr.js")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 21:16:53 +02:00
Hannu Nyman
4edc9256fa luci-base: show wifi chip identification on overview
Show the correct wifi chip identification in case iwinfo
recognises the chip.

So far the wifidev.get_i18n function has practically always
returned just "Generic", but use iwinfo.hardware_name to
fetch the name.

In case iwinfo returns the default "Generic MAC80211", there
is a double 80211 in the final string, which is a cosmetic bug.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-05-05 21:20:41 +03:00
Jo-Philipp Wich
6a1cdca345 luci-mod-rpc: fix authentication via query string parameter
Localize the `authenticatior()` and `session_retrieve()` functions into the
`index()` function scope so that they're retained when extracting the
function into the dispatcher bytecode cache.

Also allow access to the global scope since upvalues do not work reliably
due to the out-of-context byte code caching of index functions.

Fixes https://github.com/openwrt/luci/issues/1300#issuecomment-381352765
Fixes feefc600e ("luci-mod-rpc: rework authentication and session handling")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 19:56:26 +02:00
Jo-Philipp Wich
b0f3946570 luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:25:26 +02:00
Jo-Philipp Wich
07de9190d8 Revert "luci-base: support hiding the "Back to Overview" button in cbi maps"
This reverts commit 52cf265c9d.

I accidentally committed unrelated changes.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:24:36 +02:00
Jo-Philipp Wich
52cf265c9d luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:22:55 +02:00
Ricardo Lamego
e55a5fa386 Fixing small typo
indentifies > identifies
2018-05-02 21:01:53 +01:00
Hannu Nyman
c946efee0f
Merge pull request #1775 from musashino205/l10n/base-upd-ja
luci-base: update Japanese translation
2018-05-02 18:40:08 +03:00
INAGAKI Hiroshi
27af493779 luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-05-03 00:25:41 +09:00
Jo-Philipp Wich
9adbd79faa luci-mod-admin-full: canonicalize configured static lease MAC
When reading the configured mac address of the static lease, filter it
through luci.ip.checkmac() to canonicalize and uppercase the value for
mapping it against the combo box host hints.

Fixes #1772.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-02 16:55:22 +02:00
INAGAKI Hiroshi
0efc6daecf luci-base: sync translations
Synchronized translations with sources.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-05-02 23:53:48 +09:00
Jo-Philipp Wich
8335997df5
Merge pull request #1705 from Mushoz/add-igmp-snooping
luci-mod-admin-full: add igmp snooping option
2018-05-02 16:31:27 +02:00
Hannu Nyman
8656ab726d
Merge pull request #1767 from SvenRoederer/patch-2
luci-mod-freifunk: align spacing
2018-04-28 08:48:09 +03:00
Jo-Philipp Wich
aa6c97154e luci-base: extend xhr.js
Add timeout options to get() and post() and introduce XHR.stop() to support
stopping a poll operation.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-26 09:40:17 +02:00
Jo-Philipp Wich
8459ec0ec8 luci-base: add simple CORS handling to luci.dispatcher
Support a new boolean property `cors` which - if set to true - causes the
dispatcher to positively answer CORS OPTIONS requests after authentication
without actually running the dispatching target.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-26 08:26:30 +02:00
Jo-Philipp Wich
7d13ec6010 luci-base: handle bodies of non-POST requests as well
Decode the HTTP message bodies of any request carrying a Content-Length
header, not just those in POST requests.

This allows handling parameters in other methods, OPTIONS in particular.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-26 08:26:19 +02:00
Sven Roederer
c4460f09a5
luci-mod-freifunk: align spacing
remove some tailing tabs and an empty line in OSMLatLon.htm

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
2018-04-25 21:13:00 +02:00
INAGAKI Hiroshi
f55a1faeaa luci-base: update japanese translation
Updated japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-04-26 00:30:23 +09:00
Jo-Philipp Wich
11f4a50b3f luci-base: additionally return error code strings in luci.util.ubus()
Add a 3rd return value to luci.util.ubus() containing the string value
of the error return value.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-24 19:22:55 +02:00
Jo-Philipp Wich
914c661b58 luci-base: ensure that file upload values have length
Ensure that the (table) length of a file upload value has nonzero length
by initializing the first table index with the file name.

This fixes tests in the form

    x = luci.http.formvalue(...)
    if x and #x > 0 then ... end

Fixes #1763.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-24 13:44:40 +02:00
Jo-Philipp Wich
82abf9add9 luci-base: decode plus signs in x-www-form-urlencoded POST data
Depends on 5ef51b2ab ("lucihttp: update to latest HEAD").
Fixes #1755.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-22 12:03:23 +02:00
Jo-Philipp Wich
628048772d luci-base: ship rpcd uci access ACL
Ship an ACL definition for granting full read/write access to uci
configuration files via ubus rpc. This is a precondition for enabling
uci session isolation later on.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-21 14:59:41 +02:00
Jo-Philipp Wich
172155eb46 luci-base: properly handle repeated POST parameters
Restore the old luci.http behaviour of converting repeated POST params into
single tables holding all values instead of letting each repeated parameter
overwrite the value of the preceeding one.

Fixes, among other things, the handling of CBI dynamic list values.

Fixes #1752
Fixes 59dea0230 ("luci-base: switch to lucihttp based POST data processing")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-19 12:00:13 +02:00
Jo-Philipp Wich
9b22c9c1e1 luci-base: implement session handling in luci.model.uci
Introduce luci.model.uci.set_session_id() and luci.model.uci.get_session_id()
to set and get the effective session ID respectively.

When a session ID is set, it is sent as `ubus_rpc_session` attribute to rpcd,
causing it to use per-session change directories, isolating LuCI changes from
the global system uci state.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-19 11:42:12 +02:00
Jo-Philipp Wich
fc8f825e2f luci-base: drop dependency on libuci-lua
LuCI itself now uses ubus calls to interact with uci configuration while
the remaining direct libuci-lua users have been updated to either depend
on the binding library or to use luci.model.uci.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:54:53 +02:00
Jo-Philipp Wich
b4040aacb0 libs: move http.protocol.{date,mime,conditionals} to luci-lib-httpprotoutils
Also adjust the dependencies of components depending on these classes and
flatten the namespace from luci.http.protocol.* to luci.http.*

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
eb4571c6dc luci-base: fold luci.http.protocol into luci.http
With only the decoder routines remaining in luci.http.protocol, it makes no
sense to keep the low level protocol class around, so fold the remaining code
into the central luci.http class.

Also adjust the few direct users of luci.http.protocol accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
8f66de12c1 luci-base: refactor luci.http
- Rewrite getcookie() to use liblucihttp header value parsing
 - Rewrite setfilehandler() to use local variables and have cleaner code
 - Fix build_querystring() to actually *en*code the given params

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
db0d5b33d0 luci-base: drop luci.util.dtable()
The dtable() function has no user in the entire LuCI repo, so drop it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
1d5a3123ed Revert "luci-base: add urldecode() and urlencode() C implementations"
This reverts commit ad7dc4a492.

Since we're using liblucihttp now, that library is the appropriate place to
add such decoding helper functions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
59dea0230c luci-base: switch to lucihttp based POST data processing
Use the liblucihttp provided multipart and x-www-urlencoded body parsers
and drop the old Lua parsing code.

The C based data parsers are way faster than their old Lua counterparts
while producing less string garbage and more correct results.

While refactoring the luci.http.protocol code, also drop unused functions
and dead code, heavily reducing the module size.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
f52c8d0b7f luci-base: switch to lucihttp.urldecode() and lucihttp.urlencode()
Drop the Lua implementation in luci.http.protocol and use the optimized C
variants of liblucihttp instead.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-18 16:21:27 +02:00
Qian Zheng
8e087a3d53 luci-base: zh_CN: update Simplified Chinese translation
Signed-off-by: Zheng Qian <sotux82@gmail.com>
2018-04-18 09:22:07 +08:00
Hannu Nyman
b2eceb0bcc i18n: sync translations, cleanup
* sync translations
* clean-up old strings from adblock

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-10 18:27:07 +03:00
Hannu Nyman
d42ce28e20
Merge pull request #1742 from fantom-x/dhcp_cachesize_max
luci-mod-admin-full: limit dns cachesize to 10000
2018-04-10 17:36:29 +03:00
Jo-Philipp Wich
2b516423a0 luci-base: fix rendering of 404 HTML error template
This 404 error template rendering has been broken for a long time due to bad
function environment level in luci.template when invoking the rendering from
the toplevel dispatcher context.

Fix this issue by adding a local function indirection, essentially adding an
additional stack frame.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-10 12:03:15 +02:00
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
Marc Benoit
fbeea4ee33 luci-mod-admin-full: limit dns cachesize to 10000
The value of cachesize is hardcoded to 10000 in
dnsmasq-2.79/src/option.c to 10000 max

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

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

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

            daemon->cachesize = size;
          }
        break;
      }

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

Tested on Netgear R7800

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

Fix whitespace, edit the proposed help text.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-09 17:17:02 +03:00
Jo-Philipp Wich
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
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
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
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
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
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
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
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
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
10fbf9b2e4 luci-mod-admin-full: add hint on backup restore
Add a hint to backup restore that files could remain on the system.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-01 12:33:43 +01:00
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
Hannu Nyman
76f9f5e94d
Merge pull request #1627 from user7887/luci-ru
i18n-ru: fixed russian translation
2018-02-08 18:17:02 +02:00
Vladimir
c21d22c017 i18n-ru: fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-02-07 17:37:34 +03:00
Jo-Philipp Wich
e6cfe35baf luci-mod-admin-full: prevent unknown sysctl key warnings on status page
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-04 19:20:32 +01:00
Hannu Nyman
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
Mathias Kresin
cfdeaa91fa luci-mod-admin-full: set 0 db DSL SNR offset by default
If no DSL SNR offset is set for the dsl line the first entry from the
dropdown list is pre-selected by default, which would apply a -10 db
offset by default.

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

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

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

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

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

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
[add empty line before meshfwd assignment]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-09 07:08:08 +01:00
Jo-Philipp Wich
08b40acc4e luci-mod-admin-full: allow setting DSL SNR offset for VDSL
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-08 10:31:03 +01:00
Hannu Nyman
6e1bd7e42d
Merge pull request #1509 from user7887/luci-ru
fixed and updated russian translation
2018-01-08 09:18:23 +02:00
Vladimir
ad3ee48813 fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-08 01:48:03 +03:00
Kishan Gondaliya
267bf83db0 luci-mod-admin-full: Add meshId support
Signed-off-by: Kishan Gondaliya <kishanpgondaliya@gmail.com>
[move mode before the SSID / Mesh ID setting]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-07 19:38:23 +01:00
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
Jo-Philipp Wich
dac0cce6b9 luci-mod-admin-full: remove unused button cbi model
Remove the unused admin_system/buttons cbi model. It has been broken,
was not exposed in the controller and the corresponding support code
which only ever was available for the ath25 target has been dropped in
with https://git.lede-project.org/0a3d721in June 2016.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-03 23:25:35 +01:00
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
dbb694c699 luci-mod-admin-full: allow a wider range of DSL SNR margins
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-02 18:26:16 +01:00
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
Jo-Philipp Wich
a41215581d
Merge pull request #1452 from mkresin/master
fix DHCPv6 hostname display
2017-12-07 14:03:54 +01:00
Brian J. Murrell
2c2e7f5cbb
Fix bad argument #1 to 'tonumber'
Fixes [FS#1118](https://bugs.lede-project.org/index.php?do=details&task_id=1118)

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

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

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

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

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

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

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

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

Signed-off-by: Lorenzo Santina <lorenzo.santina@edu.unito.it>
2017-11-06 14:10:18 +01:00
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
Jo-Philipp Wich
4609c1360f Merge pull request #1365 from psyborg55/master
luci-mod-admin-full: add fontsize style parameter
2017-10-20 10:22:52 +02:00
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
48ed00e5b9 luci-mod-admin-full: wifi: expose "wpa_disable_eapol_key_retries" option
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:19:08 +02:00
Jo-Philipp Wich
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
04e45906da luci-mod-admin-full: wifi.lua: fix indentation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 17:37:11 +02:00
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
psyborg55
549949ad8b add fontsize style parameter
add fontsize style parameter to reduce output text size

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2017-09-13 19:49:40 +02:00
psyborg55
bac20bc648 add fontsize style parameter
add fontsize style parameter to reduce output text size

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2017-09-13 19:47:47 +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
Anton Engelhardt
e38a03f1e3 [PATCH] luci-mod-admin-full: 802.11r AP-WDS mode enable
Made 802.11r selection availible in AP-WDS mode

Signed-off-by: Anton Engelhardt anton@neednow.de
2017-08-09 18:52:50 +02:00
Martin Schiller
a50c56d474 luci-mod-admin-full: add 'auto' xfer_mode to dsl configuration
This change is needed to support the new default 'auto' xfer_mode
setting.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-08-07 08:06:18 +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
00ae50134b luci-mod-admin-full: use rpcd-mod-rrdns for reverse DNS lookups
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:18:40 +02: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
b2154e0b63 luci-mod-admin-mini: eliminate use of luci.sys.net.deviceinfo()
The luci-mod-admin-mini network controller is the only remaining user of the
deviceinfo() call so inline the required code there so that the function can
be dropped from base LuCI in a later commit.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:05:31 +02:00
Jo-Philipp Wich
198e4ab17b luci-mod-freifunk: eliminate use of luci.sys.net.deviceinfo()
The result of the luci.sys.net.deviceinfo() call was never actually used
anywhere in the following code, so simply drop the invocation.

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
Jo-Philipp Wich
de2e92a1f4 Merge pull request #1182 from kishangondaliya/feature_x
luci-mod-admin-full: Enable adhoc mode encryption options
2017-06-23 13:23:53 +02:00
Hannu Nyman
cb557f61c3 Merge pull request #1194 from TDT-GmbH/add-license-tags
Add license tags
2017-06-20 16:40:48 +03: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
Quirin Hofstaetter
ec6a1d6d4d luci-mod-rpc: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:23 +02:00
Quirin Hofstaetter
56aea9794b luci-mod-admin-full: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:20 +02:00
Kishan Gondaliya
d735903e94 luci-mod-admin-full: Enable adhoc mode encryption options
Currently there are only 2 encryption options visible for adhoc
	mode. But in netifd, others are also supported and working as
	expected. So adding WPA-PSK, WPA2-PSK and WPA-PSK/WPA2-PSK Mixed
	mode as encryption options.

Signed-off-by: Kishan Gondaliya <kishanpgondaliya@gmail.com>
2017-06-05 14:30:37 +05:30
Jo-Philipp Wich
a9e8376c20 luci-mod-admin-full: automatically set dns=1 for static leases with hostname
Most users likely want the hostname of a static DHCP lease to be resolveable,
even if the corresponding host is currently offline.

Adjust the form logic to automatically set 'option dns 1' whenever a name is
specified in the static lease entry.

FIxes LEDE FS#815.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-02 01:02:42 +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
Jo-Philipp Wich
2a81ae6d15 luci-mod-admin-full: use "Lease time" instead of "Leasetime" as translation label
This allows sharing a common translation string between DHCP and interface pages.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-30 21:25:28 +02:00
Jo-Philipp Wich
aa2b1cdc2c luci-mod-admin-full: auto-migrate ifnames when changing VLAN configuration
This change extends the switch VLAN configuration page to automatically
adjust interface ifname options when altering VLAN settings.

For example "eth0" is changed to "eth0.1" when a previously untagged LAN
VLAN is switched to tagged on the CPU port and vice versa.

Notifications are displayed in the page header if an auto migration was
performed.

This change should make the switch configuration more user friendly and
less prone to soft bricking.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-29 08:45:38 +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
Hannu Nyman
1970c21e3b luci-mod-admin-full: add advice to restart cron
Cron init script starts the service only if a crontab file
exists. If there is no crontab file at boot and the user
later creates one, he needs to manually restart the service.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-08 15:20:13 +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
fantom-x
aee99ce927 luci-mod-admin-full: "isolate" option is missing for mac80211
Signed-off-by: Marc Benoit marcb6218@gmail.com
2017-05-01 17:16:00 -04:00
muddyfeet
4669782829 luci-mod-admin-full: correct logic for dnsmasq boguspriv keyword
Prevents deletion of the UCI dns boguspriv keyword and explicitly sets it to
either 0 or removes it as the LEDE/Openwrt dnsmasq.conf default is 1 - not 0.

This allows boguspriv to be turned off from the GUI.

Signed-off-by: Warren Linton <warren@linton.id.au>
[Jo-Philipp Wich: squashed commits, updated commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-25 14:40:18 +02:00
Jo-Philipp Wich
7ae244a26e luci-mod-admin-full: use nf_conntrack_count for counting connections (#1114)
As suggested by PR #1114, use `/proc/sys/net/netfilter/nf_conntrack_count`
instead of counting the lines in `/proc/net/nf_conntrack` but use a slightly
more efficient approach which avoids spawning an extra `cat` command.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-20 16:55:29 +02: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
f2d5cb1060 luci-mod-admin-full: add advanced force_link option
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2017-03-14 14:22:12 +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
b0943391d8 luci-mod-admin-full: new hostapd functionality for 80211w/r detection
Use the new hostapd functionality (in LEDE) to detect 802.11r and 802.11w
more properly. Leave the old logic in place for Openwrt.

Adjust 802.11w default value from "0" to "" in order to avoid unnecessary
"option ieee80211w 0" lines in /etc/config/wireless

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-28 14:16:19 +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
Hannu Nyman
6a2a62fa4f luci-mod-admin-full: change html for compatibility with openwrt theme
Openwrt theme apparently accepsts slightly different html than
Bootstrap or Material. Cahnge code to <br /> to make it compatible.

This fixes #1011

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-15 08:52:10 +02:00
Hannu Nyman
07e01d094e luci-mod-admin-full: place 80211w options behind a check for wpad-full
The default hostapd/wpad mini version does not support ieee80211w
and the option's visibility in LuCI may lead it to be placed in user's
/etc/config/wireless preventing wifi from starting.

Check for hostapd/wpad full before exposing the option.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-14 23:30:51 +02:00
Eric Luehrsen
52771816a0 luci: ignore '::1' in realtime connections
luci ignores only 127.0.0.1 in real time connections.
The dnsmasq.init script sets up resolv.conf(s) as such.
With alternate DNS servers configured 'localhost' will
resolve to '127.0.0.1' or '::1'. The connections graph
will spam itself. openwrt/luci#996

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-10 21:38:25 -05: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
4d31f7ca30 luci-mod-admin-full: tweak 80211w options
Use ListValue type and enable translation of the option values.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-10 15:07:17 +02:00
Hannu Nyman
4ddb6b2816 luci-mod-admin-full: add support for 802.11w options
Add support for IEEE802.11w Management Frame Protection options.

Mention in the help text that the full version of wpad/hostapd is
needed.

Currently supported by ath9k and ath10k, and in LEDE also by
mwlwifi and mt76.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-09 21:35:24 +02:00
Hannu Nyman
c491c181ea luci-mod-admin-full: add validation to more 802.11r options
Apply hexstring datatype to mobility domain and r1_key_holder.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-09 17:01:44 +02: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
Hannu Nyman
02bed26188 luci-mod-admin-full: improve 802.11r support
* Add WPA/WPA2-PSK mixed mode to the list of allowed modes
* Add datatype validation to some fields
* Add help texts
* Reformat longest lines

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-09 14:49:08 +02:00
muddyfeet
171c06146a Add support for 802.11r fast transition to wireless config
Adds support for 802.11r fast transition to luci.
Corrects the deletion on nasid in issue #844

The R0KH & R1KH options are not perfect as it would be better
to separate out each option and do some sanity checking on
the values, but that is beyond my capabilities.

Signed-off-by: Warren Linton warren@linton.id.au

(squashed from three original commits in #994. commit message reworded)
2017-02-09 13:46:11 +02:00
Hannu Nyman
f02794f28c luci-mod-admin-full: prevent accidental deletion of 802.11r nasid
The same wifi option 'nasid' is used for two purposes,
RADIUS NAS ID and 802.11r NAS ID / R0KH-ID.

In LuCI the 'nasid' option has depended on WPA-EAP/WPA2-EAP, which
can lead to accidental deletion of the option, if the user modifies
any wifi settings while he has WPA(2)-PSK & 802.11r mode.

802.11r can also be with WPA(2)-PSK, so add them to the dependency
list of allowed encryptions.

(Note: after this fix the 'nasid' field is shown unnecessarily
to "normal" WPA(2)-PSK users. It might later be set to depend on
802.11r being used, after 802.11r has been added to LuCI.)

Reference to bugs:
https://github.com/openwrt/luci/issues/844
https://dev.openwrt.org/ticket/20764
https://bugs.lede-project.org/index.php?do=details&task_id=274

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-09 10:23:53 +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
Jo-Philipp Wich
926935f831 luci-mod-admin-full: fixes for usbport LED triggers
The previous commit erroneously used "ports" instead of "port" as name for the
option widget, causing wrong uci values to be written.

Also work around some cbi idiosyncrasies regarding MultiValue widgets which
prevented rendering the correct initial selection state.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-30 15:50:45 +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
ca75550267 luci-mod-admin-full: admin: change password in Map.parse()
Move the password setting into the .parse() callback to ensure that it is
updated regardless of whether "Save" or "Save & Apply" has been pressed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:21:19 +01:00
Jo-Philipp Wich
1640d14191 luci-mod-admin-full: support configuring usbport LED triggers
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:08:43 +01: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
b5db545077 luci-mod-admin-full: reload wifi settings page after changing countey code
Reloading the page ensures that the allowed tx power values and channel select
lists are properly populated with the new effective values.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-25 23:37:40 +01:00
Rafał Miłecki
dbbb3c7497 luci-mod-admin-full: allow unset txpower value
Sometimes txpower is not set so we should have an option with empty
value to let it stay unset.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-25 23:21:30 +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
Daniel Dickinson
2cb780c8cc Merge pull request #861 from ynezz/master
luci-mod-admin-full: Store system time into RTC also
2017-01-16 01:49:21 -05:00
Daniel Dickinson
98d1a09b57 Merge pull request #859 from feckert/realtime_wlan
luci-mod-admin-full: show realtime wlan graph only if iw command is installed
2017-01-16 01:42:00 -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
INAGAKI Hiroshi
9b56b0709f luci-mod-admin-full: Fix display problems of mount
Fixed some display problems where the UUID label of the drop down
list does not exist and the positions of other labels are misplaced
in mount settings page.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-16 12:52:06 +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
INAGAKI Hiroshi
35f68fb7ea luci-mod-admin-full: Fix display problem of wifi_add
Fixed an issue where the network name is displayed as "%q" on wlan
connection destination network settings page.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-15 02:16:33 +09: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
Hannu Nyman
44b56f71bd luci-mod-admin-full: fix help text for wifi join options
Clarify the help text in the wifi join dialog.
Reference to #793, #876, #897

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-01-11 15:31:54 +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
Florian Eckert
3c7d766778 luci-mod-admin-full: show realtime wlan graph only if iw command is installed
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2016-12-12 15:08:50 +01:00
Hannu Nyman
ac5bd8c2f1 luci-mod-failsafe: use same string as luci-mod-admin-full
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-10 19:11:50 +02:00
Daniel Dickinson
8c6c75f6ec Merge pull request #821 from andrewshadura/luci-route-types
Add support for route types
2016-12-10 11:00:16 -05: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
Hannu Nyman
73749fa048 luci-mod-admin-{full,mini}: make more distro agnostic
Remove some non-essential references to explicit distro names.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-12-10 14:12:37 +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
Daniel Dickinson
a3fc4859dd Merge pull request #656 from nlhintz/pull-request
luci: broadcom - add n-mode support
2016-12-10 06:34:22 -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
70bad4da4f luci-mod-admin-full: handle infinite lease times in output
When a lease objects expires property is set to "false", its expiry time is
unlimited, so adjust the templates to properly display that state.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-09 13:07:42 +01: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
Petr Štetiar
b064c5c209 luci-mod-admin-full: Store system time into RTC also
We're currently just setting system time, but we don't set battery
backed RTC. Time in the RTC is only set on the graceful shutdown, which
is quite hard to achieve on embedded devices.

In other words, on systems with battery backed RTC we currently don't
handle following use case properly:

1. Set system time from web UI (sets only system time, but not RTC)
2. Unplug the device from power

Then after the reboot, we've wrong system time again, because time set
in [1] is not saved to battery backed RTC.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2016-11-28 15:37:58 +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
Jo-Philipp Wich
98e12fcebb Merge pull request #793 from remakeelectric/rme-master-tweaks
wifi_add minor usability tweaks
2016-10-28 16:17:05 +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
Dan Lüdtke
82add13629 Typo 2016-10-21 20:24:57 +02: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
Andrew Shadura
44d43c6932
luci-mod-admin-full: routes: specify sizes for metric and MTU
Specify reasonable sizes for metric and MTU fields to
prevent the table from being too wide.

Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
2016-10-08 18:41:52 +02:00
Andrew Shadura
3d83c15fe1
luci-mod-admin-full: routes: add support for route types
Allow specifying route types.

Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
2016-10-08 18:41:31 +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
067fe5bcce luci-mod-admin-full: figure out diagnostics host in postinstall
Attempt to infer the default diagnostics host for nslookup / ping / traceroute
from the various URLs in /etc/os-release. Fall back to "openwrt.org" if no
host is found to preserve backwards compatibility.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-06 17:13:23 +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
Karl Palsson
4a5cee22ed wifi_add: allow multi SSID by default if supported.
Instead of defaulting to replace, even on hardware that supports multi
SSID, make the default to add.  This reduces the chance of locking
oneself out when adding a second network.  If you intended to replace,
ending up with two networks then deleting one is easier than recovering
when the old network configuration is gone.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-23 17:05:47 +00:00
Karl Palsson
ccc9970c24 wifi_add: help text should match reality
An additonal network is created if the box _is_ checked.
2016-09-23 17:05:47 +00:00
Karl Palsson
0bea4d17e6 wifi_add: show the SSID of the network being joined.
After clicking the "join" button on the scan list, the SSID is no longer
visible, though it's kept in the form to pass to the server.

Show the chosen SSID on the top of the page, to help people confirm that
they're joining the right network.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-23 17:05:40 +00: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
Hannu Nyman
107b3c7def luci-mod-admin-full: tweak checksum item presentation
Simplify the sysupgrade image checksum strings in order to
avoid translating "Checksum xxx" items both for MD5 and SHA256.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-08-24 11:46:20 +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
Hannu Nyman
c0af3601fb luci-mod-admin-full: show also sha256 checksum for sysupgrade images
Show also the sha256 checksum in addition to MD5 checksum to enable
image verification also for builds with only sha256 checksums.

If the 'sha256sum' command is not present in the system, the value
remains empty.

Note: The easiest way to get the 'sha256sum' command is to compile it
into busybox.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-08-19 11:08:24 +03:00
Jo-Philipp Wich
19981732fc luci-mod-admin-full: properly skip over unused switch ports
Fix incomplete port status display on vlan setup page when ports in the middle
are not used, e.g. some Lantiq boards use ports 0, 1, 2 and 4 for LAN ports so
JS code should not attempt to reference an undefined status element for port 3.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-18 10:02:53 +02:00
Jo-Philipp Wich
c390a09cea luci-mod-admin-full: fallback to generic switch topology
Use a generic default topology if we cannot infer switch information from
board.json and display an error message in this case. Should fix #779 and
similar issues.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-18 09:23:32 +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
3ea9c85ed6 luci-mod-admin-full: use switch toplogy information for vlan setup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-15 17:57:06 +02: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
bd4534496a luci-mod-admin-full: status page formatting fix
Display a question mark for undefined SSID and BSSID strings.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-04 11:45:30 +02:00