Commit graph

11786 commits

Author SHA1 Message Date
Jo-Philipp Wich
8de9b69b1a luci-mod-status: 60_wifi.js: fix channel and bitrate display
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 18:12:28 +01:00
Jo-Philipp Wich
54163c95e1 luci-mod-system: sshkeys.js: explicitely require ui.js
While ui.js is implicitely autoloaded by other classes, we need to require
it directly in the view to avoid race conditions during rendering.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 18:03:01 +01:00
Jo-Philipp Wich
284918bfaf treewide: move templates and libraries not used by the core to luci-compat
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
7a2fefc671 luci-mod-network: remove unused iface_down endpoint
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
f16a47042c luci-base, luci-mod-network: invoke ifdown directly in interface overview
Replace the `iface_down` endpoint with a direct invocation of `/sbin/ifdown`
and replace the interface connectivity check with a call to the new
`remote_addr` endpoint.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
9cb4aa1306 luci-mod-network: add admin/network/remote_addr endpoint
The remote_addr endpoint allows clients to query their external IP address
as seen by the device as well as the inbound network devices and logical
interfaces on the router.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
e9hack
dbafa93e81 rpcd-mod-luci: handle DHCPv6 leases in dnsmasq lease file
For DHCPv6, the second entry of a lease is the IAID. The parsing code
expects a MAC instead of a IAID.

Reported-by: Hartmut Birr <e9hack@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
cfb5af89e1 luci-base, luci-mod-status: convert realtime stats to client side views
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
a2f43983b6 luci-base: add luci/getRealtimeStats and luci/getConntrackList rpc methods
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 17:56:58 +01:00
Jo-Philipp Wich
740d07573b
Merge pull request #3256 from ysc3839/gridsection
luci-base: form.js: fix GridSection not using user-input name when add
2019-11-03 17:55:09 +01:00
Richard Yu
fa15370f0e
luci-base: form.js: fix GridSection not using user-input name when add
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2019-11-04 00:19:33 +08:00
Florian Eckert
6c7b1e156d
Merge pull request #2672 from ZachCook/feature_status_add_available_cached
luci-mod-status: use available and cached memory for progress bars
2019-11-03 12:03:13 +01:00
Zachary Cook
b436eb0545 luci-mod-status: use available and cached memory for progress bars
Fixes: #1148

Uses available and cached memory from /proc/meminfo via procd, and carefully
handles the cases where they are nil or zero, so as to not require specific
linux or procd versions to function

MemAvailable is a better estimate than free + buffered/cached, see:
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0

Also adds a new progressbar that shows cached memory if not nil

Signed-off-by: Zachary Cook <zachcook1991@gmail.com>
2019-11-02 17:35:15 -04:00
Jo-Philipp Wich
aa5151e2d1 rpcd-mod-luci: bump version
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-02 20:44:22 +01:00
Jo-Philipp Wich
180f6b78a2 rpcd-mod-luci: fix crash on not existing uci options
Checking the return value of uci_lookup_ptr() is not enough to ensure that
the requested optiomn has actually been found.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-02 20:14:25 +01:00
Jo-Philipp Wich
1b835a50aa luci-base: sys.lua: lazy-load luci.model.network
This allows using luci.sys without installed luci.model.network class.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-02 20:14:25 +01:00
Jo-Philipp Wich
8234d03340 rpcd-mod-luci: depend on libnl-tiny, do not runtime depend on libiwinfo
Also fix package description.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-02 15:06:49 +01:00
Jo-Philipp Wich
af5dc2652e luci-mod-system: flash.js: upon sysupgrade, select reconnect ip by keep state
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:45:00 +01:00
Jo-Philipp Wich
7d84396471 luci-mod-system: flash.js: fix flash erase modal
The firstboot rpc call might not return, therefor do not wait on promise
fullfillment but display modal dialog right away.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:42:48 +01:00
Jo-Philipp Wich
b4861da886 luci-mod-network: fix disabled state in wifi settings modal
Also auto-enable the radio upon network join.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:32:17 +01:00
Richard Yu
c360cdd1f0 luci-app-opkg: add ipk upload feature
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
[fix duplicate upload errors, remove temporary file, tweak style]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
33346dadf4 luci-base, luci-mod-system: move file upload handling to ui.js
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
470464ae4a luci-mod-system: use declarative dependencies in controller
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
22beb3f1df luci-mod-status: use declarative dependencies in controller
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
1ca168c2e9 luci-mod-network: use declarative dependencies in controller
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
790005cdfa luci-base: dispatcher.lua: support declarative node dependencies
Introduce two new properties for page nodes to allow for declaratively
specifiying system dependencies which is useful to e.g. make certain
views depend on specific uci values or the presence of certain files.

The recognized properties are:

 - `uci_depends` - a nested table in one of the following forms:

     1) `{ config = { section = { option = "exact_value" } }`
     2) `{ config = { section = { option = true } }`
     3) `{ config = { section = "exact_type" } }`
     4) `{ config = { section = true } }`
     5) `{ config = true }`

   Depending on the declaration, the uci option or section type must either
   match the given "exact_value" or "exact_type" values or be a non-nil value
   in case boolean "true" is specified.

 - `file_depends` - a flat lists of file paths that must be accessible

   If a path listed in `file_depends` points to a directory, that directory
   must be not empty, otherwise it suffices if the path exists.

Examples:

 - Only display the node if an /etc/config/wireless file exists with
   a "config wifi-device radio0" section.

    node = page(...)
    node.uci_depends = { wireless = { radio0 = "wifi-device" } }

 - Only display the node when swconfig is installed.

    node = page(...)
    node.file_depends = { "/sbin/swconfig" }

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
c72c78bed9 luci-mod-network: interfaces.js: issue iface restart via file/exec rpc call
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
6aa4b83f24 luci-mod-network: wireless.js: issue wifi restart via file/exec rpc call
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
650d7f64d5 luci-base: remove unused Lua code
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
c85af3d761 luci-mod-status: reimplement index status page as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
5ce16764ad luci-base, luci-mod-system: replace luci/setUmount with fs.exec calls
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
c67d2ddc2c luci-base, luci-mod-system: replace luci/setReboot with fs.exec
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
6e633b3ed2 luci-base: consolidate network.js data acquisition
The new luci-rpc/getNetworkDevices procedure offers netdev enumeration
with included IPv4 and IPv6 address information as well as 64bit traffic
counters, so we can remove the calls to network.device/status and
luci/getIfaddrs now as we're able to obtain all info from a single source.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
cc1cbdaf32 luci-base: migrate luci/getNetworkDevices to C plugin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
a96e7a664f luci-base: migrate luci/getWirelessDevices to C plugin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
37b6092aef luci-base, luci-mod-network, luci-app-firewall: migrate luci/getHostHints
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
5ff35d8be4 luci-base, luci-mod-network: migrate luci/getDHCPLeases to C plugin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
d21ebcfbbc luci-base: migrate luci/getBoardJSON to C plugin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
c882a053e7 luci-base: depend on rpcd-mod-luci
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
b292c1d5fa libs: add rpcd-mod-luci
Add rpcd-mod-luci, a fast rpcd C plugin for speeding up common backend
ubus operations.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:28 +01:00
Paul Spooren
4798b3f062 translation: Add Bulgarian to luci.mk
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-10-30 23:43:56 -10:00
Hosted Weblate
d48ba99799 translation: weblate update
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-10-30 16:49:47 -10:00
Allan Nordhøy
09916d1aeb translation: weblate update
Added translation using Weblate (Bulgarian)
Translated using Weblate (Chinese (Traditional))
Translated using Weblate (German)
Translated using Weblate (Italian)
Translated using Weblate (Japanese)
Translated using Weblate (Portuguese (Brazil))
Translated using Weblate (Russian)
Translated using Weblate (Spanish)
Translated using Weblate (Turkish)

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-10-29 13:58:31 -10:00
Paul Spooren
58ae7e1dc0 translation: squashed weblate update
these updates are getting slightly out of hand, I'd suggest to squash
them now instead of having a single commit per language.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-10-28 21:53:43 -10:00
Florian Eckert
50a685a975
Merge pull request #3245 from stangri/master-luci-app-vpnbypass
luci-app-vpnbypass: bugfix: call to action has no parent node
2019-10-29 06:23:13 +01:00
Stan Grishin
c145ad0cbf luci-app-vpnbypass: bugfix: call to action has no parent node
Signed-off-by: Stan Grishin <stangri@melmac.net>
2019-10-28 16:34:54 -07:00
Jo-Philipp Wich
7707b679e2
Merge pull request #3223 from stangri/master-luci-app-vpnbypass
luci-app-vpnbypass: better service control buttons
2019-10-28 10:15:06 +01:00
Jo-Philipp Wich
3827bf103c
Merge pull request #3239 from ysc3839/cifsd
luci-app-cifsd: fix read_only option incorrect default value
2019-10-28 10:14:23 +01:00
Jo-Philipp Wich
1b7f08767f
Merge pull request #3242 from ysc3839/led
luci-mod-system: add missing speed_mask option in leds.js
2019-10-28 08:16:41 +01:00
Richard Yu
c6d0822793
luci-mod-system: add missing speed_mask option in leds.js
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2019-10-28 14:57:19 +08:00