oweals/luci.git
4 years agoluci-base: move unused tools.webadmin class to luci-compat
Jo-Philipp Wich [Wed, 4 Mar 2020 08:49:13 +0000 (09:49 +0100)]
luci-base: move unused tools.webadmin class to luci-compat

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoluci-theme-bootstrap: fix overview wireless display quirks
Jo-Philipp Wich [Wed, 4 Mar 2020 08:29:07 +0000 (09:29 +0100)]
luci-theme-bootstrap: fix overview wireless display quirks

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit aa2445cdd85109987b893fb950adbe7d3ef2dddb)

4 years agoluci-mod-status: don't drop lines with negated addresses
Jo-Philipp Wich [Tue, 18 Feb 2020 12:58:52 +0000 (13:58 +0100)]
luci-mod-status: don't drop lines with negated addresses

Fixes: #3642
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c3b07fb3586500afb6395bef6fe05ac8ae008df7)

4 years agoluci-mod-status: routes.js: remove debug code
Jo-Philipp Wich [Wed, 4 Mar 2020 07:25:15 +0000 (08:25 +0100)]
luci-mod-status: routes.js: remove debug code

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit acef56726c09e9eed15165be17aa955bf93d2e93)

4 years agoluci-mod-status: reimplement route status page as client side view
Jo-Philipp Wich [Sun, 29 Dec 2019 22:03:58 +0000 (23:03 +0100)]
luci-mod-status: reimplement route status page as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 16d049f7cd76f0e309814a2b09cde32ff680d962)

4 years agoluci-mod-status: reimplement log pages as client side views
Jo-Philipp Wich [Sat, 21 Dec 2019 19:28:25 +0000 (20:28 +0100)]
luci-mod-status: reimplement log pages as client side views

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 939b371bc72f4c020c499c815f636dafc296829a)

4 years agoluci-mod-status: reimplement iptables status page as client side view
Jo-Philipp Wich [Sat, 21 Dec 2019 18:23:10 +0000 (19:23 +0100)]
luci-mod-status: reimplement iptables status page as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit b9bb34612e28a239153dd2e041921a50e4d7578f)

4 years agoluci-mod-status: replace iptables controller actions with cgi-io calls
Jo-Philipp Wich [Wed, 18 Dec 2019 20:57:01 +0000 (21:57 +0100)]
luci-mod-status: replace iptables controller actions with cgi-io calls

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 43a4481e103d764d6f656f2ed1f5c57f8580858e)

4 years agoluci-mod-network: replace controller address check action with cgi-io script
Jo-Philipp Wich [Wed, 18 Dec 2019 20:32:48 +0000 (21:32 +0100)]
luci-mod-network: replace controller address check action with cgi-io script

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 3a657b8ab585f6e0fef5c9128dc84c5a008a6969)

4 years agoluci-mod-network: reimplement diagnostics page as client side view
Jo-Philipp Wich [Sun, 15 Dec 2019 21:35:21 +0000 (22:35 +0100)]
luci-mod-network: reimplement diagnostics page as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit ab07b8c4d960925fe3467ea666871965b5b34259)

4 years agoluci-base: fs.js: exec_direct(): add ability to encode command as latin1
Jo-Philipp Wich [Wed, 12 Feb 2020 10:38:53 +0000 (11:38 +0100)]
luci-base: fs.js: exec_direct(): add ability to encode command as latin1

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit dc60aaeb77575bc261331ba1ea288d18c330f160)

4 years agoluci-base: fs.js: support Blob/JSON in read_direct() and exec_direct()
Jo-Philipp Wich [Thu, 30 Jan 2020 10:58:15 +0000 (11:58 +0100)]
luci-base: fs.js: support Blob/JSON in read_direct() and exec_direct()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit da4b0f0483024066a163080324638eb3761bd3aa)

4 years agoluci-base: luci.js: allow overriding response type for requests
Jo-Philipp Wich [Thu, 30 Jan 2020 10:45:46 +0000 (11:45 +0100)]
luci-base: luci.js: allow overriding response type for requests

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 478ed0d886af87415efb2ad81e59ae7027a80d6d)

4 years agoluci-base: remove hardcoded cgi-bin path
Ansuel Smith [Wed, 15 Jan 2020 23:30:30 +0000 (00:30 +0100)]
luci-base: remove hardcoded cgi-bin path

Currently LuCI can be loaded only when placed in the root of the server as the cgi-bin path are hardcoded. Change the index.html to load the cgi-bin path from the current level.
Also add a new entry in the env Object to make the cgi_base path easily accessible.
This variable will be based on the position of /cgi-bin/luci.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 5e6ec8562fe828934ef835490cee405653b06d3a)

4 years agotreewide: resync and merge master translations
Jo-Philipp Wich [Tue, 3 Mar 2020 20:35:11 +0000 (21:35 +0100)]
treewide: resync and merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoluci-base: fix typos
Balázs Úr [Tue, 17 Dec 2019 10:41:00 +0000 (11:41 +0100)]
luci-base: fix typos

Signed-off-by: Balázs Úr <balazs@urbalazs.hu>
(backported from commit d0bc86bcc3fc0c6668e04601344daa956cea2b32)

4 years agoluci-proto-wireguard: remove peer sections when deleting interface
Jo-Philipp Wich [Tue, 3 Mar 2020 20:14:04 +0000 (21:14 +0100)]
luci-proto-wireguard: remove peer sections when deleting interface

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 890dcac2de7b1d6bc6768c69ea7129d27a809ef9)

4 years agoluci-base: network.js: gracefully handle deleteConfiguration() rejects
Jo-Philipp Wich [Tue, 3 Mar 2020 20:30:32 +0000 (21:30 +0100)]
luci-base: network.js: gracefully handle deleteConfiguration() rejects

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d5f30d335ff0651a3291e350602cba7409cf1e4a)

4 years agoluci-base: network.js: add Protocol.deleteConfiguration() callback
Jo-Philipp Wich [Tue, 3 Mar 2020 20:12:44 +0000 (21:12 +0100)]
luci-base: network.js: add Protocol.deleteConfiguration() callback

Add a new Protocol.deleteConfiguration() callback function which can be
overridden by protocol handler to perform additional cleanup tasks, such
as unsetting related uci entries which are not part of the interface
configuration itself.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a22aba2fed7b95f241b70c215e23e5699a3ff9d9)

4 years agoluci-app-adblock: Fix enter key submitting form but not showing any results.
Stefan Sundin [Thu, 27 Feb 2020 02:53:49 +0000 (18:53 -0800)]
luci-app-adblock: Fix enter key submitting form but not showing any results.

Signed-off-by: Stefan Sundin <git@stefansundin.com>
(cherry picked from commit 872693761117238aa5caff0408612a7467bb6a89)

4 years agoluci-app-firewall: don't treat zone name as network fallback
Jo-Philipp Wich [Mon, 2 Mar 2020 09:11:44 +0000 (10:11 +0100)]
luci-app-firewall: don't treat zone name as network fallback

Drop obsolete extra logic which treats the zone name as covered network
name in case the network list is unset. This behaviour applied to the
pre-fw3 uci firewall, but is not supported since fw3 anymore.

Ref: https://forum.openwrt.org/t/luci-zone-creation-bug/55921
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 663134cd2d6b9603d69f59665715586f77f4610a)

4 years agoluci-base: firewall.js: don't treat zone name as network fallback
Jo-Philipp Wich [Mon, 2 Mar 2020 09:08:32 +0000 (10:08 +0100)]
luci-base: firewall.js: don't treat zone name as network fallback

Drop obsolete extra logic which treats the zone name as covered network
name in case the network list is unset. This behaviour applied to the
pre-fw3 uci firewall, but is not supported since fw3 anymore.

Ref: https://forum.openwrt.org/t/luci-zone-creation-bug/55921
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4052436d825e1e78d1734ddd4d06d2291fbc5684)

4 years agoluci-mod-network: switch.js: fix internal port ordering
Jo-Philipp Wich [Mon, 2 Mar 2020 08:34:03 +0000 (09:34 +0100)]
luci-mod-network: switch.js: fix internal port ordering

Fixes: #3709
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 1c547d36b545e79838acca021767071ae95ca5c9)

4 years agorpcd-mod-luci: use correct dlopen() flags
Jo-Philipp Wich [Mon, 2 Mar 2020 07:17:56 +0000 (08:17 +0100)]
rpcd-mod-luci: use correct dlopen() flags

Fixes: #3707
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit ff4111f6571d6faad7ae8b55c624d09b8c5f504a)

4 years agoluci-app-minidlna: fix service check
Jo-Philipp Wich [Sun, 1 Mar 2020 16:32:23 +0000 (17:32 +0100)]
luci-app-minidlna: fix service check

The service process was renamed from `minidlna` to `minidlnad`.

Fixes: #3700
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0d68d0ad7bd2ab036caba973daa85864f8ec81a3)

4 years agotreewide: merge master translations
Jo-Philipp Wich [Wed, 26 Feb 2020 15:20:19 +0000 (16:20 +0100)]
treewide: merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoluci-app-opkg: gracefully handle empty config files
Jo-Philipp Wich [Sun, 23 Feb 2020 20:16:23 +0000 (21:16 +0100)]
luci-app-opkg: gracefully handle empty config files

Fixes: #3668
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 562425605af51443986cb2596199564e4102ffff)

4 years agoluci-mod-status: hide DHCP status if dnsmasq/odhcpd aren't present
Jo-Philipp Wich [Sun, 23 Feb 2020 20:12:54 +0000 (21:12 +0100)]
luci-mod-status: hide DHCP status if dnsmasq/odhcpd aren't present

Fixes: #3674
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4efc7cbbda86280343683a7d1c2563233c499550)

4 years agoluci-app-firewall: snats.js: fix rewrite IP validation for SNAT target
Jo-Philipp Wich [Sat, 22 Feb 2020 21:19:54 +0000 (22:19 +0100)]
luci-app-firewall: snats.js: fix rewrite IP validation for SNAT target

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d527c28ffa973e04f1ed3eac9f4a7504404b4fcd)

4 years agotreewide: resync and backport translations
Jo-Philipp Wich [Fri, 21 Feb 2020 21:22:17 +0000 (22:22 +0100)]
treewide: resync and backport translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoluci-mod-network: wifi join: allow reclaiming empty wwan networks
Jo-Philipp Wich [Fri, 21 Feb 2020 21:12:31 +0000 (22:12 +0100)]
luci-mod-network: wifi join: allow reclaiming empty wwan networks

Fixes: #3660
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 48e18fb8acfdc661793582e4a907b10b9e8d0d43)

4 years agoluci-mod-network: wifi join: add option to lock bssid
Jo-Philipp Wich [Fri, 21 Feb 2020 20:30:06 +0000 (21:30 +0100)]
luci-mod-network: wifi join: add option to lock bssid

Fixes: #3661
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7ec007f926a9c966b3297085c4c46915372ba1dc)

4 years agoluci-mod-network: wifi scan: add button to start/stop refreshes
Jo-Philipp Wich [Fri, 21 Feb 2020 20:09:45 +0000 (21:09 +0100)]
luci-mod-network: wifi scan: add button to start/stop refreshes

Fixes: #3662
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a2fe3d9fc4f967b9d79346f358aaaf12eeb1e040)

4 years agoluci-mod-network: explicitely configure "none" encryption in wifi join
Jo-Philipp Wich [Fri, 21 Feb 2020 19:53:42 +0000 (20:53 +0100)]
luci-mod-network: explicitely configure "none" encryption in wifi join

Fixes: #3663
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9b024767d7604c5a17b1e70df45231f134282003)

4 years agoluci-mod-network, luci-mod-status: harmonize wifi signal indicators
Jo-Philipp Wich [Mon, 17 Feb 2020 08:49:34 +0000 (09:49 +0100)]
luci-mod-network, luci-mod-status: harmonize wifi signal indicators

Fixes: #3636
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 2cad20e7ea90c962020bb2f2463fb660271b84ea)

4 years agoMerge pull request #3622 from Andy2244/luci-app-ksmbd_new-UCI-(19.07)
Jo-Philipp Wich [Mon, 17 Feb 2020 07:52:27 +0000 (08:52 +0100)]
Merge pull request #3622 from Andy2244/luci-app-ksmbd_new-UCI-(19.07)

[19.07] luci-app-ksmbd: support new UCI option, update for 3.2.1 version

4 years agoluci-app-ksmbd: support new UCI option "allow_legacy_protocols" 3622/head
Andy Walsh [Sat, 15 Feb 2020 16:18:09 +0000 (17:18 +0100)]
luci-app-ksmbd: support new UCI option "allow_legacy_protocols"

* support new UCI option "allow_legacy_protocols"

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
4 years agoluci-app-ksmbd: update for 3.2.1 version (usmbd -> ksmbd.mountd)
Andy Walsh [Sat, 15 Feb 2020 16:16:17 +0000 (17:16 +0100)]
luci-app-ksmbd: update for 3.2.1 version (usmbd -> ksmbd.mountd)

* update for 3.2.1 version (usmbd -> ksmbd.mountd)

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
4 years agoMerge pull request #3621 from Andy2244/luci-app-samba4_new-UCI-(19.07)
Florian Eckert [Sat, 15 Feb 2020 16:04:46 +0000 (17:04 +0100)]
Merge pull request #3621 from Andy2244/luci-app-samba4_new-UCI-(19.07)

[19.07] luci-app-samba4: add support for new UCI option

4 years agoluci-app-samba4: add support for new UCI option 3621/head
Andy Walsh [Mon, 10 Feb 2020 14:08:52 +0000 (15:08 +0100)]
luci-app-samba4: add support for new UCI option

* add support for new UCI option "allow_legacy_protocols"

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
4 years agoluci-base: cbi.js: avoid double-initialization of dropdowns
Jo-Philipp Wich [Fri, 14 Feb 2020 07:43:28 +0000 (08:43 +0100)]
luci-base: cbi.js: avoid double-initialization of dropdowns

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9ae1f478960f9587e8123e61e1a2221e866da26b)

4 years agoluci-base: luci.js: L.dom.data(): gracefully handle non-node argument
Jo-Philipp Wich [Fri, 14 Feb 2020 07:40:15 +0000 (08:40 +0100)]
luci-base: luci.js: L.dom.data(): gracefully handle non-node argument

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 308215ca156212ad2a632b31179c2284a59a8556)

4 years agotreewide: merge master translation updates
Jo-Philipp Wich [Fri, 14 Feb 2020 07:27:50 +0000 (08:27 +0100)]
treewide: merge master translation updates

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoluci-base: form.js: pass section_id to Button onclick handler
Jo-Philipp Wich [Wed, 12 Feb 2020 21:21:29 +0000 (22:21 +0100)]
luci-base: form.js: pass section_id to Button onclick handler

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c1aeb300f6976086e48dd90aac1504f38b73cdf9)

4 years agoluci-base: form.js: ButtonValue: pass sid as first onclick argument
Jo-Philipp Wich [Wed, 12 Feb 2020 17:31:36 +0000 (18:31 +0100)]
luci-base: form.js: ButtonValue: pass sid as first onclick argument

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 311bcd4b5cb9f630e41f4fc5e08a6993fddc289a)

4 years agorpcd-mod-luci: honour dhcp leases without ip address for host hints
Jo-Philipp Wich [Wed, 12 Feb 2020 21:22:05 +0000 (22:22 +0100)]
rpcd-mod-luci: honour dhcp leases without ip address for host hints

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 3702e13f544a0b5478d8e0bacd8b28fe55709a57)

4 years agoluci-base: extend rollback timeout to 90 seconds
Jo-Philipp Wich [Thu, 13 Feb 2020 18:25:56 +0000 (19:25 +0100)]
luci-base: extend rollback timeout to 90 seconds

Ref: #3628
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 81cf99a50706a75a2259296e4aab3f7b3bf5d54e)

4 years agoluci-lib-ip: explicitly clear scope when allocating new userdata
Jo-Philipp Wich [Sat, 8 Feb 2020 10:00:54 +0000 (11:00 +0100)]
luci-lib-ip: explicitly clear scope when allocating new userdata

Fixes: #3609
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c2eeb09bd99b03eead837d8dbfb3f0d8046ccc65)

4 years agoluci-base: validation.js: fix integer and float type validation
Jo-Philipp Wich [Fri, 31 Jan 2020 16:26:39 +0000 (17:26 +0100)]
luci-base: validation.js: fix integer and float type validation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 187bef9f6ce1263da21f72e91f79192847273ba7)

4 years agoluci-mod-network: dhcp.js: fix resolvefile option depends
Jo-Philipp Wich [Fri, 31 Jan 2020 10:19:09 +0000 (11:19 +0100)]
luci-mod-network: dhcp.js: fix resolvefile option depends

Ref: https://forum.openwrt.org/t/resolvfile-option-not-showing/54229
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5d15363408d263fccae90b3b7ab0ebac6329eebb)

4 years agoluci-app-advanced-reboot: fix faulty ip.new() invocation
Jo-Philipp Wich [Thu, 30 Jan 2020 07:32:16 +0000 (08:32 +0100)]
luci-app-advanced-reboot: fix faulty ip.new() invocation

Ref: https://github.com/openwrt/luci/issues/3587#issuecomment-580044459
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6638de5f626a639169ee354bd4d1e99747c8a1c4)

4 years agotreewide: switch to bcp47 language codes
Jo-Philipp Wich [Wed, 29 Jan 2020 12:37:46 +0000 (13:37 +0100)]
treewide: switch to bcp47 language codes

Fixes: #3477
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 48749ca873a5ba385dc372a6a57738024cc2acfb)

4 years agoluci-app-advanced-reboot: properly handle multiple or missing lan IPs
Jo-Philipp Wich [Wed, 29 Jan 2020 08:37:43 +0000 (09:37 +0100)]
luci-app-advanced-reboot: properly handle multiple or missing lan IPs

Fixes: #3587
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0a07d53594b1b9152ea87e4be7366cc91ad36cc1)

4 years agoluci-base: add another magic security attribute to the sysauth cookie
Jo-Philipp Wich [Wed, 29 Jan 2020 08:07:51 +0000 (09:07 +0100)]
luci-base: add another magic security attribute to the sysauth cookie

Fixes: #3585
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 885c97da535c0c77d79e53391de5c37f2704e01a)

4 years agoluci-mod-system: fix zram compression placeholder
Jo-Philipp Wich [Wed, 29 Jan 2020 08:00:57 +0000 (09:00 +0100)]
luci-mod-system: fix zram compression placeholder

Fixes: #3583
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b8f65c340c42acda920298af4318784a79a0965c)

4 years agoluci-base: make swconfig port state parsing more robust
Jo-Philipp Wich [Tue, 28 Jan 2020 17:14:28 +0000 (18:14 +0100)]
luci-base: make swconfig port state parsing more robust

Since swconfig output varies wildly among different switch drivers, rely
on a simpler more robust parsing approach to find the required information.

Ref: https://forum.openwrt.org/t/cannot-read-property-link/50766
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6d59a6400ed055d71e0b335679d291c22bbdbd40)

4 years agoluci-mod-network: handle missing switch port state information
Jo-Philipp Wich [Tue, 28 Jan 2020 09:08:40 +0000 (10:08 +0100)]
luci-mod-network: handle missing switch port state information

Ref: https://github.com/openwrt/luci/issues/3565
Ref: https://forum.openwrt.org/t/cannot-read-property-link/50766
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 616d44c155ae2b4f19e8b2645744a107e38a56c7)

4 years agotreewide: sync and merge master translations
Jo-Philipp Wich [Wed, 29 Jan 2020 07:47:34 +0000 (08:47 +0100)]
treewide: sync and merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agobuild: add script to merge master translation into branches
Jo-Philipp Wich [Wed, 29 Jan 2020 07:29:17 +0000 (08:29 +0100)]
build: add script to merge master translation into branches

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit cab574958c580c38ca8dc852d8dada1681d62046)

4 years agobuild: i18n-scan.pl: use xgettext to extract message strings
Jo-Philipp Wich [Tue, 21 Jan 2020 17:39:32 +0000 (18:39 +0100)]
build: i18n-scan.pl: use xgettext to extract message strings

Using xgettext has a few benefits compared to the previous perl extraction
approach. The xgettext utility is able to properly distinguish commented
from uncommented code and it is able handle concatenated constant
expressions such as `_("Some " + "string")`.

A further benefit is the ability to extract translations with disambiguation
contexts and plural translation calls.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 901a0821f66b1623ea04d1930a2e6e336138263a)

4 years agobuild: i18n-scan.pl: support extracting translations from menu json
Jo-Philipp Wich [Fri, 6 Dec 2019 13:54:45 +0000 (14:54 +0100)]
build: i18n-scan.pl: support extracting translations from menu json

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9f9358c3e2184c6bac373c93176c474f2658a632)

4 years agoluci-proto-openconnect: explicitely escape slashes in regex literals
Jo-Philipp Wich [Tue, 21 Jan 2020 17:38:46 +0000 (18:38 +0100)]
luci-proto-openconnect: explicitely escape slashes in regex literals

The unespaced slashes confuse xgettext and likely other source
scanners as well.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c43fa199bf741589a24c8c7cd23bd0eb7376662e)

4 years agoluci-proto-wireguard: explicitely escape slashes in regex literals
Jo-Philipp Wich [Tue, 21 Jan 2020 17:38:04 +0000 (18:38 +0100)]
luci-proto-wireguard: explicitely escape slashes in regex literals

The unespaced slashes confuse xgettext and likely other source
scanners as well.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f1c89c103b6e5109d45a7573f707fb83d8365ce2)

4 years agoluci-app-firewall: fix variable clash leading to incorrect family display
Jo-Philipp Wich [Mon, 20 Jan 2020 17:57:47 +0000 (18:57 +0100)]
luci-app-firewall: fix variable clash leading to incorrect family display

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9fd7e9fc23647fe7adfe84d1bc3b406ab52186e7)

4 years agoluci-app-firewall: add SNAT config migration
Jo-Philipp Wich [Sun, 19 Jan 2020 18:37:28 +0000 (19:37 +0100)]
luci-app-firewall: add SNAT config migration

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit f1771d14aaa5f489d925f4ae775ae54a74ed7b81)

4 years agoluci-app-firewall: rework rule descriptions, deduplicate code
Jo-Philipp Wich [Sun, 19 Jan 2020 15:08:47 +0000 (16:08 +0100)]
luci-app-firewall: rework rule descriptions, deduplicate code

Use a simple custom format string DSL to assemble the rule description
texts in the overview page.

Also move common code for shared, complex cbi options to the firewall
tool class.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 7944b0a90bbb0f0f5d1da5eaf5d9906ac546c44b)

4 years agoluci-app-firewall: consolidate duplicate option code
Jo-Philipp Wich [Thu, 16 Jan 2020 21:13:34 +0000 (22:13 +0100)]
luci-app-firewall: consolidate duplicate option code

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 0608ff09f8a3b4e558c44ec73b1ef62e19666bac)

4 years agoluci-app-firewall: support 'limit' and 'limit_burst' options
Jo-Philipp Wich [Thu, 16 Jan 2020 20:36:39 +0000 (21:36 +0100)]
luci-app-firewall: support 'limit' and 'limit_burst' options

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 28f4a9fcedda504adac3426195749c45b8893836)

4 years agoluci-app-firewall: support 'DSCP' action and matches for rules
Jo-Philipp Wich [Thu, 16 Jan 2020 20:00:46 +0000 (21:00 +0100)]
luci-app-firewall: support 'DSCP' action and matches for rules

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit aa62419e5ba92a0cdd8ceb487e9b9b819cf357d0)

4 years agoluci-app-firewall: support 'MARK' action and matches for rules
Jo-Philipp Wich [Thu, 16 Jan 2020 19:34:34 +0000 (20:34 +0100)]
luci-app-firewall: support 'MARK' action and matches for rules

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 3c0fcf49d4f1a5ee95a82eba50f43e0c2ad67aa7)

4 years agoluci-app-firewall: support 'mark' parameter for redirects
Jo-Philipp Wich [Thu, 16 Jan 2020 17:16:55 +0000 (18:16 +0100)]
luci-app-firewall: support 'mark' parameter for redirects

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit cdf240f0a08aa72767adb162230a048f3445fa6c)

4 years agoluci-app-firewall: support 'helper' and 'reflection_src' parameters for redirects
Jo-Philipp Wich [Thu, 16 Jan 2020 15:30:58 +0000 (16:30 +0100)]
luci-app-firewall: support 'helper' and 'reflection_src' parameters for redirects

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 61fe2146dda3af5473a3695afa7d37d110cc2534)

4 years agoluci-app-firewall: support 'helper' and 'set_helper' parameters for rules
Jo-Philipp Wich [Thu, 16 Jan 2020 15:12:38 +0000 (16:12 +0100)]
luci-app-firewall: support 'helper' and 'set_helper' parameters for rules

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d601e79da593528599829290859769d72412f426)

4 years agoluci-app-firewall: support 'direction' and 'device' parameters for rules
Jo-Philipp Wich [Thu, 16 Jan 2020 14:29:54 +0000 (15:29 +0100)]
luci-app-firewall: support 'direction' and 'device' parameters for rules

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 267085cf2d498c34b92a6e8edae627b1705f88a2)

4 years agoluci-app-firewall: fix family display for port forwards
Jo-Philipp Wich [Thu, 16 Jan 2020 12:54:22 +0000 (13:54 +0100)]
luci-app-firewall: fix family display for port forwards

The underlying fw3 program currently only does IPv4 port forwards while
LuCI incorrectly reports IPv4 + IPv6 for each forward. Adjust the text
accordingly to fix this.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a178cdb5cf67a3da8f37e5a8fd5d59fef301fb83)

4 years agoluci-app-firewall: introduce support for "config nat" sections
Jo-Philipp Wich [Wed, 15 Jan 2020 18:22:06 +0000 (19:22 +0100)]
luci-app-firewall: introduce support for "config nat" sections

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit c8b8ae6b8e0b7e249cf0392263f44e519025b426)

4 years agoluci-base: add L.media() URL construction helper
Jo-Philipp Wich [Tue, 28 Jan 2020 10:14:15 +0000 (11:14 +0100)]
luci-base: add L.media() URL construction helper

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b60b4790d1b1b8d52657c0c9ba91da86d0b8a28d)

4 years agoMerge pull request #3578 from Andy2244/luci-app-smbd-rename_luci-app-ksmbd-(19.07)
Hannu Nyman [Tue, 28 Jan 2020 04:55:37 +0000 (06:55 +0200)]
Merge pull request #3578 from Andy2244/luci-app-smbd-rename_luci-app-ksmbd-(19.07)

[19.07] luci-app-smbd: rename to luci-app-ksmbd

4 years agoluci-app-smbd: rename to luci-app-ksmbd 3578/head
Andy Walsh [Mon, 27 Jan 2020 21:09:08 +0000 (22:09 +0100)]
luci-app-smbd: rename to luci-app-ksmbd

* follow upstream name change to ksmbd
* remove old artifacs from "applications\luci-app-cifsd\po\"

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
4 years agoi18n: fix locale codes (nextdns, vpn-policy-routing)
Hannu Nyman [Sun, 26 Jan 2020 21:04:56 +0000 (23:04 +0200)]
i18n: fix locale codes (nextdns, vpn-policy-routing)

Fix Chinese locale codes for luci-app-nextdns and luci-app-vpn-policy-routing

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agotreewide: i18n - sync translations
Hannu Nyman [Sun, 26 Jan 2020 20:52:53 +0000 (22:52 +0200)]
treewide: i18n - sync translations

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agoluci-mod-system: remove abbreviation from LED config menu item
Hannu Nyman [Thu, 23 Jan 2020 19:11:41 +0000 (21:11 +0200)]
luci-mod-system: remove abbreviation from LED config menu item

Remove the abbreviation coding from the menu item, as it does nor work
in menu and seems to prevent translation of the menu item.

(This was the only menu item in LuCI that had abbr logic.)

Reference to #3553

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 2a1a9874f5747f7dcb3b117da87dccce6ca2ff49)

4 years agoluci-lib-ip: explicitly initialize address scope value
Jo-Philipp Wich [Thu, 23 Jan 2020 11:31:36 +0000 (12:31 +0100)]
luci-lib-ip: explicitly initialize address scope value

Explicitly initialize the address scope value to zero in parse_cidr() and
L_setaddr() to avoid stray scope identifiers getting added when formatting
the address object as string.

Fixes: 1d2b4c777 ("luci-lib-ip: support scoped IPv6 addresses")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5cbbfaba3e2935b61b42fe339e78b3ff300c1619)

4 years agoluci-theme-material: fix button position on modal save
Florian Eckert [Tue, 21 Jan 2020 08:21:39 +0000 (09:21 +0100)]
luci-theme-material: fix button position on modal save

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 71743a7ef69e9ffdf890bf895d704ecc0648548b)

4 years agoluci-app-openvpn: allow and restrict file uploads to /etc/openvpn/ 3544/head
Jo-Philipp Wich [Mon, 20 Jan 2020 18:16:59 +0000 (19:16 +0100)]
luci-app-openvpn: allow and restrict file uploads to /etc/openvpn/

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit cc01770fa1cf09b729dd931df77b149d1b20d2ef)

4 years agoluci-compat: upload.htm: expose root_directory and initial_directory
Jo-Philipp Wich [Mon, 20 Jan 2020 18:13:57 +0000 (19:13 +0100)]
luci-compat: upload.htm: expose root_directory and initial_directory

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 878d6622828676dbb8bf0cb26ffc242079aae306)

4 years agoluci-base: ui.js: UIFileUpload fixes
Jo-Philipp Wich [Mon, 20 Jan 2020 18:38:17 +0000 (19:38 +0100)]
luci-base: ui.js: UIFileUpload fixes

 - Introduce a new option `initial_directory` which describes the initial
   directory to display when nothing is selected, default to the root
   directory

 - Prevent stray legacy cbi reloads when deselecting files

 - Fix within-root-directory-check for initial rendering

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 136b965b255c3d37a21e8cf2fc835f83c2f0d3be)

4 years agoluci-mod-status: refactor luci-bwc
Jo-Philipp Wich [Mon, 20 Jan 2020 17:55:05 +0000 (18:55 +0100)]
luci-mod-status: refactor luci-bwc

 - Read interface statistics from /sys/class/net/
 - Discover all wireless interfaces, not just specifically named ones

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8b1d831935d64758b798958f69dc976ffa6dd8eb)

4 years agoluci-theme-material: fix apply dropdown color
Florian Eckert [Mon, 20 Jan 2020 13:11:16 +0000 (14:11 +0100)]
luci-theme-material: fix apply dropdown color

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 1c49bda198ef33c0423777a966e6c6ab477da34b)

4 years agoluci-theme-*: remove modal max-height #3383 v2
MartB [Tue, 10 Dec 2019 16:25:41 +0000 (17:25 +0100)]
luci-theme-*: remove modal max-height #3383 v2

Signed-off-by: MartB <mart.b@outlook.de>
(cherry picked from commit c6122af7ea9918439abc20c32603197045259b27)

4 years agoluci-theme-bootstrap: add CSS fixes for tooltip elements
Jo-Philipp Wich [Sun, 19 Jan 2020 16:50:37 +0000 (17:50 +0100)]
luci-theme-bootstrap: add CSS fixes for tooltip elements

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0d97ea26f8a1953ec059191cba31cc06b74f6136)

4 years agoluci-base: form.js: add a new "contains" dependency mode
Jo-Philipp Wich [Sun, 19 Jan 2020 15:00:57 +0000 (16:00 +0100)]
luci-base: form.js: add a new "contains" dependency mode

By tagging option dependencies with `!contains`, dependencies are
considered satisfied when the value is contained in the value of
a related field, instead of being equal to it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 601c4ee01e21f4da3fc615196d21fde72bfbaee9)

4 years agoluci-base: form.js: don't stringify node arguments in CBIValue.value()
Jo-Philipp Wich [Sun, 19 Jan 2020 14:56:59 +0000 (15:56 +0100)]
luci-base: form.js: don't stringify node arguments in CBIValue.value()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4670099a20de4700f4c7cb34f67618975b2f3a16)

4 years agoluci-base: ui.js: support clearChoices()/addChoices() for DynLists
Jo-Philipp Wich [Sun, 19 Jan 2020 14:52:58 +0000 (15:52 +0100)]
luci-base: ui.js: support clearChoices()/addChoices() for DynLists

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit cc123a03ce738dffae9abf5aefad9b75020a0a04)

4 years agoluci-base: ui.js: use placeholder as select placeholder in DynLists
Jo-Philipp Wich [Sun, 19 Jan 2020 14:52:13 +0000 (15:52 +0100)]
luci-base: ui.js: use placeholder as select placeholder in DynLists

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9733a182e8dc1713e27e784fa7aded553caad695)

4 years agoluci-base: ui.js: properly handle rich choices in Dropdowns, DynLists
Jo-Philipp Wich [Sun, 19 Jan 2020 14:50:33 +0000 (15:50 +0100)]
luci-base: ui.js: properly handle rich choices in Dropdowns, DynLists

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4c52718deac9d9259bbf2850bea743d9f3b727f3)

4 years agoluci-base: fs.js: properly escape arguments in exec_direct()
Jo-Philipp Wich [Wed, 18 Dec 2019 20:22:06 +0000 (21:22 +0100)]
luci-base: fs.js: properly escape arguments in exec_direct()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e884b63916ebf6d1a7e4f7c92240a76964ecaa85)

4 years agoluci-base: fs.js: add read_direct() and exec_direct() functions
Jo-Philipp Wich [Wed, 18 Dec 2019 20:10:15 +0000 (21:10 +0100)]
luci-base: fs.js: add read_direct() and exec_direct() functions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f3724e46a5fc33b3a6fc9f935b88e395c746149f)

4 years agoluci-base: cbi.js: collapse whitespace before language string hashing
Jo-Philipp Wich [Thu, 16 Jan 2020 17:10:04 +0000 (18:10 +0100)]
luci-base: cbi.js: collapse whitespace before language string hashing

To mirror the behavior of the Lua runtime, we need to collapse whitepace
in translation source strings before doing the string table lookup.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit aca2c4ba4e4c847e5ae86e5539537f213678a0f3)

4 years agoluci-base: add system cert bundle detection
David Lam [Thu, 16 Jan 2020 09:15:40 +0000 (01:15 -0800)]
luci-base: add system cert bundle detection

Add detection mechanism for system cert CA bundle installed by the
ca-bundle package. Used by LuCI to detect whether the "Use system
certificates" certificate validation option should be enabled.

Signed-off-by: David Lam <david@thedavid.net>
(cherry picked from commit 27b21c2a6262a8c383c783e98320746f22fe8f6f)