project/luci.git
18 months agoluci-app-pbr: update to 1.1.1-5 6375/head
Stan Grishin [Fri, 5 May 2023 01:53:20 +0000 (01:53 +0000)]
luci-app-pbr: update to 1.1.1-5

* Artificial version bump as WebUI compares version number to the principal package

Signed-off-by: Stan Grishin <stangri@melmac.ca>
(cherry picked from commit 831d05163448a7dabb016caa4c07fa3c122ffe60)

18 months agoMerge pull request #6368 from stangri/openwrt-22.03-luci-app-pbr
Stan Grishin [Fri, 5 May 2023 01:41:09 +0000 (19:41 -0600)]
Merge pull request #6368 from stangri/openwrt-22.03-luci-app-pbr

[22.03] luci-app-pbr: update to 1.1.1-1

18 months agoluci-app-banip: sync with banIP 0.8.4-4
Dirk Brenken [Thu, 4 May 2023 10:28:50 +0000 (12:28 +0200)]
luci-app-banip: sync with banIP 0.8.4-4

* small changes
* sync translations

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 0632f167d8008e5d013418644596e79249826362)
Signed-off-by: Dirk Brenken <dev@brenken.org>
18 months ago luci-app-banip: sync with banIP 0.8.4-3
Dirk Brenken [Tue, 2 May 2023 19:46:33 +0000 (21:46 +0200)]
 luci-app-banip: sync with banIP 0.8.4-3

* add new option 'ban_autoallowuplink'

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 483229c8cf090f66605ded9c87a41a90b993d452)

18 months agoMerge pull request #6328 from stangri/openwrt-22.03-luci-app-simple-adblock
Stan Grishin [Tue, 2 May 2023 01:36:27 +0000 (19:36 -0600)]
Merge pull request #6328 from stangri/openwrt-22.03-luci-app-simple-adblock

[22.03] luci-app-simple-adblock: update to 1.9.5

18 months agoluci-app-pbr: update to 1.1.1-1 6368/head
Stan Grishin [Mon, 1 May 2023 01:17:59 +0000 (01:17 +0000)]
luci-app-pbr: update to 1.1.1-1

Signed-off-by: Stan Grishin <stangri@melmac.ca>
(cherry picked from commit dfa792148a71f88f26ac66abd1a2d2d57c924b5e)

18 months agoluci-lua-runtime: fix legacy luci-mod-rpc authentication
Jo-Philipp Wich [Sat, 29 Apr 2023 22:19:35 +0000 (00:19 +0200)]
luci-lua-runtime: fix legacy luci-mod-rpc authentication

The split of the former `sysauth` cookie into `sysauth_http` and
`sysauth_https` ones was also imposed upon the RPC module, without
leaving the option to use just `sysauth` in place, so allow this cookie
name again for the legacy RPC logins.

Fixes: #6333
Fixes: e1932592c3 ("luci-base: use different cookie names for HTTP and HTTPS")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 2a9c3a3173e0cec686fb8d9fafb8c063f80958e4)

18 months agotreewide: sync and merge master translations
Jo-Philipp Wich [Sat, 29 Apr 2023 21:47:27 +0000 (23:47 +0200)]
treewide: sync and merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
18 months agoluci-app-nlbwmon: fix row sorting
Jo-Philipp Wich [Sat, 29 Apr 2023 21:42:55 +0000 (23:42 +0200)]
luci-app-nlbwmon: fix row sorting

Add raw cell values to support proper numerical row sorting.

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

19 months agoluci-app-babeld: use table markup for overview tables
Jo-Philipp Wich [Fri, 28 Apr 2023 22:23:56 +0000 (00:23 +0200)]
luci-app-babeld: use table markup for overview tables

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

19 months agoluci-app-ddns: order list of DDNS service providers
Jo-Philipp Wich [Fri, 28 Apr 2023 22:04:13 +0000 (00:04 +0200)]
luci-app-ddns: order list of DDNS service providers

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

19 months agoluci-base: ui.js: make upload cancellation message translatable
Jo-Philipp Wich [Fri, 28 Apr 2023 21:56:46 +0000 (23:56 +0200)]
luci-base: ui.js: make upload cancellation message translatable

Resync base translation templates as well.

Fixes: #6364
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 6fb185f956bdda0e6fa72b2beb77a9138279f9d0)

19 months agoluci-mod-system: uhttpd.js: remove flag option overrides
Jo-Philipp Wich [Fri, 28 Apr 2023 21:52:45 +0000 (23:52 +0200)]
luci-mod-system: uhttpd.js: remove flag option overrides

Use standard 0/1 values for the `redirect_https` option.

Supersedes: #6332
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 58f7b27adf0087721dcb509f16745203513e15e8)

19 months agoluci-app-dockerman: gracefully handle empty registry mirror setting
Jo-Philipp Wich [Fri, 28 Apr 2023 21:43:31 +0000 (23:43 +0200)]
luci-app-dockerman: gracefully handle empty registry mirror setting

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

19 months agoluci-mod-network: expose peerdns option for dhcpv6
Jo-Philipp Wich [Fri, 28 Apr 2023 20:42:24 +0000 (22:42 +0200)]
luci-mod-network: expose peerdns option for dhcpv6

Ref: https://github.com/openwrt/luci/commit/2be01cbfcb34746d9713173a60c3f8a69c554a68#commitcomment-111035308
Fixes: 2be01cbfcb ("luci-mod-network: restrict peerdns option to protocols that implemenent it")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b2476ba71de964828def0967793556bdb141d7e2)

19 months agoluci-base: rpcd: handle swap entries in getBlockDevices
Jo-Philipp Wich [Fri, 28 Apr 2023 13:04:43 +0000 (15:04 +0200)]
luci-base: rpcd: handle swap entries in getBlockDevices

Add entries from `/proc/swaps` to the result array as well in order to
let the ui properly deal with swap files.

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

19 months agoluci-app-banip: more feed editor improvements
Dirk Brenken [Fri, 28 Apr 2023 10:46:23 +0000 (12:46 +0200)]
luci-app-banip: more feed editor improvements

* add more 'upload' and 'save' safeguards
* save only keys with values in exported JSON structure/file
* sync translations

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit d25d5c28b7daddd9cfdf650b15642f1e89b2c2e5)
Signed-off-by: Dirk Brenken <dev@brenken.org>
19 months agoluci-app-banip: more feed editor improvements
Dirk Brenken [Fri, 28 Apr 2023 10:43:05 +0000 (12:43 +0200)]
luci-app-banip: more feed editor improvements

* add upload safeguards
* beautify JSON output
* small translation fix

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 7ce43d20cb51ff0e002e5fda4267c876bd4a44ce)
Signed-off-by: Dirk Brenken <dev@brenken.org>
19 months agoluci-app-banip: feed editor improvements
Dirk Brenken [Fri, 28 Apr 2023 10:41:36 +0000 (12:41 +0200)]
luci-app-banip: feed editor improvements

* add the ability to up-/download a local/remote JSON feed file

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit ee3f56bd02aec46fd73f81e7470f213579534a9c)
Signed-off-by: Dirk Brenken <dev@brenken.org>
19 months agoluci-app-banip: sync with banIP-0.8.4-1
Dirk Brenken [Fri, 28 Apr 2023 10:39:50 +0000 (12:39 +0200)]
luci-app-banip: sync with banIP-0.8.4-1

* add a custom feed editor (req. >= banIP-0.8.4-1)
* various small fixes and enhancements

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 876c9b292d0a5d3915dd6e085a0a3c0dbe3f16ac)
Signed-off-by: Dirk Brenken <dev@brenken.org>
19 months agoluci-app-banip: sync with banIP 0.8.3-1
Dirk Brenken [Wed, 12 Apr 2023 17:37:37 +0000 (19:37 +0200)]
luci-app-banip: sync with banIP 0.8.3-1

* requires the latest banIP backend (>= 0.8.3-1)
* sync translations

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 31def1846db019f66c432b043ca9cac5111bf578)
Signed-off-by: Dirk Brenken <dev@brenken.org>
19 months agoluci-app-simple-adblock: update to 1.9.5 6328/head
Stan Grishin [Mon, 3 Apr 2023 21:27:48 +0000 (21:27 +0000)]
luci-app-simple-adblock: update to 1.9.5

* update to support corresponding principal package

Signed-off-by: Stan Grishin <stangri@melmac.ca>
(cherry picked from commit b7be432ba79e1320661a7a92d2203358bcbde88c)

19 months agotimezone data: update to 2023c
Hannu Nyman [Mon, 3 Apr 2023 15:51:44 +0000 (18:51 +0300)]
timezone data: update to 2023c

Update timezone data to 2023a, 2023b, 2023c.
(2023c reverts 2023b.)

https://mm.icann.org/pipermail/tz-announce/2023-March/000077.html
https://mm.icann.org/pipermail/tz-announce/2023-March/000078.html
https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html

Summary:
* Egypt now uses DST again, from April through October.
* Much of Greenland still uses DST from 2024 on.
* America/Yellowknife now links to America/Edmonton. (removed here)
* Europe/Kirov and Europe/Volgograd now use the abbreviations MSK/MSD

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
19 months agotreewide: sync and merge master translations
Jo-Philipp Wich [Mon, 3 Apr 2023 12:08:51 +0000 (14:08 +0200)]
treewide: sync and merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
19 months agoluci-app-omcproxy: relax menu dependencies
Jo-Philipp Wich [Thu, 30 Mar 2023 18:12:49 +0000 (20:12 +0200)]
luci-app-omcproxy: relax menu dependencies

The uci configuration may be completely empty, so adjust the menu dependency
to check the existence of the configuration file itself instead.

Fixes: #6301
Supersedes: #6304
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e1fa41ec15c66d1d26913b4394af48f5809d6d86)

19 months agoluci-proto-openconnect: relax key checking
Jo-Philipp Wich [Wed, 29 Mar 2023 13:32:44 +0000 (15:32 +0200)]
luci-proto-openconnect: relax key checking

Valid keys may begin/end with `-----BEGIN PRIVATE KEY-----` and
`-----END PRIVATE KEY-----` so make the `RSA` keyword optional.

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

19 months agoluci-theme-bootstrap: File input background color
Santiago Kozak [Sun, 26 Mar 2023 09:31:10 +0000 (06:31 -0300)]
luci-theme-bootstrap: File input background color

Remove the white background color for the file input elements, this way it'll use the default color defined for input elements, matching the light/dark theme.

Signed-off-by: Santiago Kozak <santikzk1406@gmail.com>
(cherry picked from commit d94a7285e57eba268764490ab8317d12e24ecd5f)

19 months agoluci-proto-modemmanager: fix acl regex to support more then 9 modem objects
Florian Eckert [Fri, 3 Feb 2023 08:56:00 +0000 (09:56 +0100)]
luci-proto-modemmanager: fix acl regex to support more then 9 modem objects

If a modem is restarted often, the modem manager object number is
increased by one. Currently, the regex is set so that the modem can no
longer be selected if the object number is greater than 9. This change
fixes that.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
[replace wildcard with rule duplication to disallow option injection]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 71b7ecb7770e11168f02e53b00195c94cee9b28e)

19 months agoluci-mod-network: add stricter wireless interface name validation
Glenn Washburn [Thu, 2 Mar 2023 05:39:48 +0000 (23:39 -0600)]
luci-mod-network: add stricter wireless interface name validation

Linux wireless interface names have the following restrictions:

 * It must not be an empty string
 * It must not be '.' or '..'
 * It must not contain any /, : or space character ( , \t, \n, ...)
 * It must be less than 16 chars
 * It likely must not contain any % either

Fixes: 8673aef8db ("luci-mod-network: remove uciname validation from wireless interface")
Signed-off-by: Glenn Washburn <development@efficientek.com>
[reword validation error messages, remove extended description text as it would be
 shown as part of the validation errors]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6ad6a241c32ebd4d62f6021a2e3cbe4e1bc192c2)

19 months agoapplication/luci-app-firewall: fix null access
Jo-Philipp Wich [Thu, 30 Mar 2023 18:05:44 +0000 (20:05 +0200)]
application/luci-app-firewall: fix null access

Fixes: 48086e1c7b ("luci-app-firewall: Add ipset field to snats")
Fixes: d0d891c23e ("luci-app-firewall: Add ipset field to forwards (redirects)")
Fixes: f407a013ba ("luci-app-firewall: Add ipset field to rules")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7a4afdcb05ad69fd9c0e39de9b44a59ad31130a7)

19 months agoluci-app-firewall: add masq6 option for zones
Tianling Shen [Tue, 28 Mar 2023 16:56:55 +0000 (00:56 +0800)]
luci-app-firewall: add masq6 option for zones

Allow configure Masquerading6 via LuCI interface.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ef288b791d4455478f6244f2d41c3aac55271226)

19 months agoluci-app-firewall: Add ipset field to snats
Paul Dee [Fri, 17 Feb 2023 11:50:00 +0000 (12:50 +0100)]
luci-app-firewall: Add ipset field to snats

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 48086e1c7b3e7094b6fbe61335209189b1006bfb)

19 months agoluci-app-firewall: Add ipset field to forwards (redirects)
Paul Dee [Fri, 17 Feb 2023 12:56:40 +0000 (13:56 +0100)]
luci-app-firewall: Add ipset field to forwards (redirects)

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit d0d891c23eb65da42ae6c1b8f0156e971abea5b3)

19 months agoluci-app-firewall: Add ipset field to rules
Paul Dee [Fri, 17 Feb 2023 13:07:44 +0000 (14:07 +0100)]
luci-app-firewall: Add ipset field to rules

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit f407a013ba1e889ba4cd09eaf456724cb41e1537)

19 months agoluci-app-firewall: implement IPsets GUI
Paul Dee [Fri, 17 Feb 2023 13:44:00 +0000 (14:44 +0100)]
luci-app-firewall: implement IPsets GUI

Enable it and place it between snats and custom tabs

Tested on 22.03.2, 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 0484343903e9c284766044c2542fed1bc89b34e3)

19 months agoluci-app-firewall: allow ipv6 setup
Chen Minqiang [Wed, 19 Oct 2022 10:01:15 +0000 (18:01 +0800)]
luci-app-firewall: allow ipv6 setup

Allow setup ipv6 for Port Forwards and NAT Rules if firewall4 is
used.

Add 'Restrict to address family' option for NAT Rules, if family is
any/empty , assume it is ipv4. this allow setup NAT6 rules in web ui

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
(cherry picked from commit 9c55500fe8efa309d55f34c21d5ae2bf69fabf06)

19 months agoluci-app-firewall: suppress lengthy masq description in zone table
Jo-Philipp Wich [Wed, 15 Mar 2023 22:33:56 +0000 (23:33 +0100)]
luci-app-firewall: suppress lengthy masq description in zone table

Ensure that the description of the masquerade option does not end up in
the grid section overview as it messes up the table layout.

Fixes: c54efde717 ("luci-app-firewall: Add clarification to masquerading option")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c0d4c0172529e060926e8fa00714bd9e8b567cb4)

19 months agoluci-app-firewall: extend icmpv6 types available
Paul Dee [Thu, 9 Feb 2023 22:47:15 +0000 (23:47 +0100)]
luci-app-firewall: extend icmpv6 types available

luci complement to https://github.com/openwrt/firewall4/commit/e6e82a55206cf7017f26b92f7097f779161b5cac

Tested on 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 88a016cbff7eacf3a8248bc4949904abacef6685)

19 months agoluci-app-firewall: remove the '', 'any' mapping in icmpv6 entries
Paul Dee [Fri, 10 Feb 2023 20:15:00 +0000 (21:15 +0100)]
luci-app-firewall: remove the '', 'any' mapping in icmpv6 entries

This prevents its inconsistent checked/unchecked behaviour when exiting
and re-entering the dialogue.

Tested on 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 7bf1c2daa02c070e6c8b76eadadd1648ed592851)

19 months agoluci-app-dawn: fix crash issue when viewing hearing map
BCoverstone [Tue, 10 Jan 2023 03:28:28 +0000 (22:28 -0500)]
luci-app-dawn: fix crash issue when viewing hearing map

When viewing the hearing map, sometimes a crash will happen when one of the
routers suddenly cannot view a client. This PR simply checks that the radio
frequency in data2 is not 0, and skips the entry if it is a 0.

Submitted-by: Brian Coverstone <brian@mainsequence.net>
[fix commit subject, add commit description]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 2221110c17c2799948209463590618190cce8808)

19 months agoluci-app-bcp38: migration to JavaScript
S. Brusch [Thu, 9 Feb 2023 12:40:45 +0000 (13:40 +0100)]
luci-app-bcp38: migration to JavaScript

- One to one migration of lua based package to JavaSript.

Signed-off-by: S. Brusch <ne20002@gmx.ch>
(cherry picked from commit a159d98f97b56f80d3211c56f19d8b3db0adaec4)

19 months agoluci-mod-network: handle dynamic device configuration defaults
Jo-Philipp Wich [Tue, 7 Feb 2023 09:01:25 +0000 (10:01 +0100)]
luci-mod-network: handle dynamic device configuration defaults

Most uci network device configuration settings have no specific default
value which means that netifd will only alter the related sysfs parameters
if an explicit value is specified in uci. When omitted from the
configuration, the related sysfs setting is left untouched.

This behaviour collides with LuCI's approach of purging boolean options
from the configuration if they match their default value, leading to the
inability to disable or enable certain settings as described in #6219.

Solve this issue by replacing flag widgets with tri-state selects offering
an "automatic" (default) as well as an explicit "enabled" and "disabled"
choice. Also query sysfs on load and preset the automatic choice with an
indication whether the underlying sysfs settings is currently active or not.

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

19 months agoluci-theme-bootstrap: minor style fixes
Jo-Philipp Wich [Tue, 7 Feb 2023 08:57:51 +0000 (09:57 +0100)]
luci-theme-bootstrap: minor style fixes

 - Apply CSS reset to before/after pseudo elements as well and fix
   resulting shifted offsets
 - Apply focus highlight to select elements too
 - Improve radio button styling

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

19 months agoluci-theme-bootstrap: add focus indication for tabs
Jo-Philipp Wich [Sun, 5 Feb 2023 19:00:26 +0000 (20:00 +0100)]
luci-theme-bootstrap: add focus indication for tabs

Underline the link text if a tab has keyboard focus in order to give a
visual indication of the focus state.

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

19 months agoluci-base: ui.js: modal dialog tweaks
Jo-Philipp Wich [Sun, 5 Feb 2023 18:41:20 +0000 (19:41 +0100)]
luci-base: ui.js: modal dialog tweaks

 - Automatically focus modal dialog frame
 - Close modal dialog on pressing escape key

Fixes: #4609, #6205
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c9939a83e72beb32dd1e11b07139714e2ae91623)

19 months agoluci-base: ui.js: improve ui.Dropdown event handling
Jo-Philipp Wich [Sun, 5 Feb 2023 18:39:13 +0000 (19:39 +0100)]
luci-base: ui.js: improve ui.Dropdown event handling

Improve overall event and focus handling, avoid registering a global
mouseover event listener, stop propagating escape keypress on closing
dropdown and avoid `Element.blur()` to prevent de-focusing open modals.

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

19 months agoluci-mod-network: interfaces.js: avoid stray empty device uci sections
Jo-Philipp Wich [Sun, 5 Feb 2023 18:35:00 +0000 (19:35 +0100)]
luci-mod-network: interfaces.js: avoid stray empty device uci sections

Ensure that just created uci device sections are removed if the edit
option modal is cancelled without saving. This prevents empty, but
harmless `config device` sections from being created on a subsequent
Save & Apply operation.

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

19 months agoluci-app-firewall: Add clarification to masquerading option
Martijn Staal [Fri, 20 Jan 2023 10:41:53 +0000 (11:41 +0100)]
luci-app-firewall: Add clarification to masquerading option

Signed-off-by: Martijn Staal <27222398+mastaal@users.noreply.github.com>
(cherry picked from commit c54efde71718f6a05b7832f5092e7a7da83d22eb)

19 months agoluci-mod-status: add missing cbi-section class to routing view
Florian Eckert [Thu, 26 Jan 2023 09:24:38 +0000 (10:24 +0100)]
luci-mod-status: add missing cbi-section class to routing view

With the material theme, there is a gap between the tab view and the
content. The css class 'cbi-section' is missing here in the data-tab div.

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

19 months agoluci-app-advanced-reboot: add support for Linksys WHW03 v2
Vincent Tremblay [Tue, 17 Jan 2023 22:02:08 +0000 (17:02 -0500)]
luci-app-advanced-reboot: add support for Linksys WHW03 v2

Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
(cherry picked from commit 10e438fabf755d24a0ed6eade897da52eef8c568)

19 months agoluci-base: help-text spell fix
Paul Dee [Tue, 17 Jan 2023 20:24:44 +0000 (21:24 +0100)]
luci-base: help-text spell fix

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 3c2b35cf903378fc7dfa54fa4bc6c7a64b3bb471)

19 months agoluci-mod-network: remove uciname validation from wireless interface
Hannu Nyman [Sun, 15 Jan 2023 08:09:30 +0000 (10:09 +0200)]
luci-mod-network: remove uciname validation from wireless interface

Remove the 'uciname' validation rule, as it prevents using '-' that
is a valid character.

Fixes: 0c1be9ae5 luci-mod-network: Add length restriction to wireless
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 8673aef8db90b2ae276b9323f23d078cc68f4189)

19 months agoluci-mod-network: Add length restriction to wireless interface name
Hannu Nyman [Sat, 14 Jan 2023 08:40:43 +0000 (10:40 +0200)]
luci-mod-network: Add length restriction to wireless interface name

Based on issue #6101, add a maxlength of 15 chars to the wireless
interface's optional name field. Also validate it as uciname.

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

19 months agoluci-app-xinetd: update redirect help
Florian Eckert [Mon, 23 Jan 2023 07:37:28 +0000 (08:37 +0100)]
luci-app-xinetd: update redirect help

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

19 months agoluci-app-xinetd: add processing of redirect option
Helge Mader [Wed, 11 Jan 2023 12:06:58 +0000 (13:06 +0100)]
luci-app-xinetd: add processing of redirect option

Signed-off-by: Helge Mader <ma@dev.tdt.de>
(cherry picked from commit 2947b4507302524128569df604e08c03c81c8749)

19 months agoluci-app-statistics: Generate graphs for humidity sensors
Uwe Kleine-König [Fri, 16 Dec 2022 22:22:04 +0000 (23:22 +0100)]
luci-app-statistics: Generate graphs for humidity sensors

This fixes graph generation for sensors that provide humidity data.

Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
(cherry picked from commit 9f321b831f41b73554819ac54e308dfa3677ab45)

19 months agoluci-theme-: add postrm script
Florian Eckert [Tue, 12 Apr 2022 11:38:15 +0000 (13:38 +0200)]
luci-theme-: add postrm script

Remove uci theme config section on uninstall.

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

19 months agoluci-app-https-dns-proxy: Change files names and replace bootstrap_dns
Zuev Aleksandr [Thu, 5 Jan 2023 21:14:21 +0000 (01:14 +0400)]
luci-app-https-dns-proxy: Change files names and replace bootstrap_dns

Signed-off-by: Zuev Aleksandr <A.Zuev@stdev.su>
(cherry picked from commit 1bf53a1b9a0e5178db2be7fc86877b0713f35577)

19 months agoluci-app-https-dns-proxy: Add new and update adguard dns server
Zuev Aleksandr [Sun, 31 Jul 2022 14:58:01 +0000 (18:58 +0400)]
luci-app-https-dns-proxy: Add new and update adguard dns server

Add adguard unsecured dns provider and update ips on existents based on https://adguard-dns.io/en/public-dns.html info. Also added ipv6 bootstrap_dns ips.

Signed-off-by: Zuev Aleksandr <A.Zuev@stdev.su>
(cherry picked from commit a2fef4a3269e27c695b5e99c3fea776e05fe2da3)

19 months agoluci-mod-network: disambiguate DHCP IP set help text
Paul Dee [Wed, 4 Jan 2023 16:36:27 +0000 (16:36 +0000)]
luci-mod-network: disambiguate DHCP IP set help text

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(backported from commit 8414f916bab61b661062bf20c5e1a789893100b4)

19 months agoluci-mod-network: place wlan roaming related options to a tab
Hannu Nyman [Wed, 21 Dec 2022 18:44:52 +0000 (20:44 +0200)]
luci-mod-network: place wlan roaming related options to a tab

Collectd all WLAN roaming related options to a new dedicated tab.

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

19 months agoluci-mid-status: nftables.js: minor cleanups and enhancements
Jo-Philipp Wich [Tue, 13 Dec 2022 22:49:11 +0000 (23:49 +0100)]
luci-mid-status: nftables.js: minor cleanups and enhancements

 - Recognize `log` expression as action
 - Recognize `meta time` expression
 - Remove debug tooltip from `reject` targets

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

19 months agoluci-mod-network: (wireless) Expose WPA Enterprise RADIUS VLAN settings.
Paul Dee [Thu, 2 Dec 2021 19:37:39 +0000 (20:37 +0100)]
luci-mod-network: (wireless) Expose WPA Enterprise RADIUS VLAN settings.

Tested on: 21.02.1

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 107791e9d8f31cf0297900cfe48d621041fedf9d)

19 months agoluci-mod-network: improve description for filterwin2k option again
Lukas Tribus [Sun, 20 Nov 2022 09:56:34 +0000 (10:56 +0100)]
luci-mod-network: improve description for filterwin2k option again

Stop using the word useless both in the name and the description and call
the feature what it actually is (Filter SRV/SOA service discovery).

Signed-off-by: Lukas Tribus <lukas@ltri.eu>
[slightly reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8607aa7a6712d6a78e4c8cc1be391fe60b85908c)

19 months agoluci-app-udpxy: rewritten in JS
Tianling Shen [Wed, 23 Nov 2022 11:03:59 +0000 (19:03 +0800)]
luci-app-udpxy: rewritten in JS

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3aca045ec6173da675184d24d57d971065ce2eaf)

19 months agoluci-mod-network: fix address validation
Kyle Schwarz [Sat, 19 Nov 2022 21:33:55 +0000 (16:33 -0500)]
luci-mod-network: fix address validation

Fixes --server validation for:
- /domain[/domain]
- //
- /#/

Fixes hostname validation for:
- *.domain
- *domain

Changes ..domain to be an invalid hostname

Signed-off-by: Kyle Schwarz <zeranoe@gmail.com>
(cherry picked from commit de9341648aba82ebbf4af1843854dffb9e63322e)

19 months agoluci-mod-network: restrict peerdns option to protocols that implemenent it
Jo-Philipp Wich [Tue, 15 Nov 2022 00:44:28 +0000 (01:44 +0100)]
luci-mod-network: restrict peerdns option to protocols that implemenent it

Only some supported protocol extensions honour the `peerdns` options.

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

19 months agoluci-mod-network: DNS - support filtering A or AAAA records
Hannu Nyman [Sat, 12 Nov 2022 18:54:59 +0000 (20:54 +0200)]
luci-mod-network: DNS - support filtering A or AAAA records

Support Dnsmasq 2.87-5 feature to filter DNS results:
* remove IPv6 AAAA records and return only IPv4 addresses
* remove IPv4 A records and return only IPv6 addresses

Especially the removal of IPv6 AAAA records can be useful with
ISPs that provide IPv6 address resolving but do not actually
offer IPv6 routing/connectivity.

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

19 months agoluci-mod-network: fix output style of diagnostics commands
Jo-Philipp Wich [Fri, 27 Jan 2023 12:58:40 +0000 (13:58 +0100)]
luci-mod-network: fix output style of diagnostics commands

Ensure that the output textarea uses a monospace font and preformatted text.

Fixes: 5f2d305476 ("luci-mod-network: convert diagnostic page to LuCI look and feel")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7c91e62575e31a1e39aa7a99012a76039358657c)

19 months agoluci-mod-network: convert diagnostic page to LuCI look and feel
Florian Eckert [Mon, 7 Nov 2022 12:40:24 +0000 (13:40 +0100)]
luci-mod-network: convert diagnostic page to LuCI look and feel

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

19 months agoluci-app-openvpn: add possibility to set param "compress" without algorithm
Martin Schiller [Mon, 30 Mar 2020 08:16:11 +0000 (10:16 +0200)]
luci-app-openvpn: add possibility to set param "compress" without algorithm

In some situations you need to set the compress param without an
algorithm. Compression will be turned off, but the packet framing for
compression will still be enabled, allowing a different setting to be
pushed later.

As it is not possible to have options with optional values at the
moment, I've introduced a pseudo value "frames_only" which will be
removed in the init script.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
(cherry picked from commit f8efd2c347f23f515da996754b05efbabf10b00a)

19 months agoluci-app-https-dns-proxy: add cn.edu.tsinghua.tuna.dns.lua provider
Zhang Rui [Wed, 2 Nov 2022 07:24:31 +0000 (15:24 +0800)]
luci-app-https-dns-proxy: add cn.edu.tsinghua.tuna.dns.lua provider

Signed-off-by: Zhang Rui <rui.crater@gmail.com>
(cherry picked from commit 37a836c0c03d2fb68bebbb9a06ae6a691879e392)

19 months agoluci-mod-network: fix invalid markup in the relay tab
Jo-Philipp Wich [Mon, 21 Nov 2022 11:35:54 +0000 (12:35 +0100)]
luci-mod-network: fix invalid markup in the relay tab

Fixes: #6107
Fixes: a627744bb5 ("luci-mod-network: 'relay' tab added")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7c3705bb0f351e1d107c38e21bf7d0480824baa0)

19 months agoluci-mod-network: 'relay' tab added
Paul Dee [Thu, 20 Oct 2022 00:06:32 +0000 (02:06 +0200)]
luci-mod-network: 'relay' tab added

Adds LuCI GUI for dnsmasq DHCP 'relays'.

The helper functions in dnsmasq/files/dnsmasq.init limit behaviour
whereby it is not possible to omit server_addr, where to omit
it (dnsmasq supported) would result in a broad- or multicast further on.

Tested on 22.03.2

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit a627744bb5d008f42835b538173a0c0842b9155c)

19 months agoluci-mod-network: remove uppercase for interface name in modal view
Florian Eckert [Thu, 27 Oct 2022 08:42:05 +0000 (10:42 +0200)]
luci-mod-network: remove uppercase for interface name in modal view

Unify the network name display as shown in the overview by removing the
uppercase conversion.

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

19 months agoluci-mod-network: remove uppercase for interface name on overview page
Florian Eckert [Wed, 26 Oct 2022 10:04:52 +0000 (12:04 +0200)]
luci-mod-network: remove uppercase for interface name on overview page

In the overview page, the name of the interface is converted to
uppercase. However, this is not the name in the configuration. From my
point of view, this makes no sense. The name displayed should correspond
exactly to the name in the configuration.

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

19 months agoluci.mk: fix compatibility with GNU Make 4.2
Jo-Philipp Wich [Tue, 25 Oct 2022 09:30:13 +0000 (11:30 +0200)]
luci.mk: fix compatibility with GNU Make 4.2

GNU Make version 4.2 chokes on `#` characters embedded in variable
substitutions, leading to the following error:

    ../../luci.mk:114: *** unterminated call to function 'if': missing ')'.  Stop.

Avoid this problem by replacing variable substitutions with Git branch
format arguments.

Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1289935106
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 639e7faa1ad25b0bc2ffd5bfec79c2b9d95a50ee)

19 months agoluci.mk: adjust path of purged index cache files
Jo-Philipp Wich [Fri, 9 Sep 2022 21:34:32 +0000 (23:34 +0200)]
luci.mk: adjust path of purged index cache files

The index cache files have been split into separate, dynamically named
Lua and JSON files a while ago, so adjust the remove command in the
postinstall script accordingly.

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

19 months agoluci.mk: typo and indentation fixes
Jo-Philipp Wich [Fri, 9 Sep 2022 21:33:15 +0000 (23:33 +0200)]
luci.mk: typo and indentation fixes

 - Fix misspelled comment
 - Fix wrong variable in Lua SrcDiet condition
 - Fix wrong indentation

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

19 months agoluci.mk: rework logic to determine current branch
Jo-Philipp Wich [Sat, 10 Sep 2022 12:54:25 +0000 (14:54 +0200)]
luci.mk: rework logic to determine current branch

In case `git branch --remote` yields no result, fall back to `git branch`
without `--remote` since it is possible that the local branch has not
been pushed yet.

Also simplify extraction of the branch name by not passing `--verbose`
and utilizing variable substitutions instead of sed expressions.

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

19 months agoluci-base: remove 'dsl' feature flag
Andre Heider [Tue, 20 Sep 2022 06:15:56 +0000 (08:15 +0200)]
luci-base: remove 'dsl' feature flag

This is now unused.

Signed-off-by: Andre Heider <a.heider@gmail.com>
(cherry picked from commit a398ccfde69f66dff0ce439bb1f68a93041e5b91)

19 months agoluci-mod-status: fix determining DSL modem type
Jo-Philipp Wich [Sat, 22 Oct 2022 13:46:47 +0000 (15:46 +0200)]
luci-mod-status: fix determining DSL modem type

The `network.getDSLModemType()` function returns a promise, so handle it
accordingly.

Fixes: 45ab2cd6be ("luci-mod-status: use network.getDSLModemType()")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b5f11bf6ee5ceb04c36d9f88ce82386430321741)

19 months agoluci-mod-status: use network.getDSLModemType()
Andre Heider [Tue, 20 Sep 2022 06:11:44 +0000 (08:11 +0200)]
luci-mod-status: use network.getDSLModemType()

This matches what luci-mod-network does for the DSL modem configuration.

Since this is based on a common uci config, it may also prevent issues as
fixed with 111c551c "luci-base: fix DSL feature detection" in the future.

Signed-off-by: Andre Heider <a.heider@gmail.com>
(cherry picked from commit 45ab2cd6be0cac32ec49364280bbfa2c43c17eda)

19 months agoluci-app-dhcp: 'addresses' helptext improvement with info from manpage.
Paul Dee [Wed, 19 Oct 2022 16:02:33 +0000 (18:02 +0200)]
luci-app-dhcp: 'addresses' helptext improvement with info from manpage.

Placeholder hint also reflects syntax.

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
[replace asdf.com with example.com, use … instead of ..., remove uneeded
 &nbsp; entities]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 45f02d94b2c06599fa0d0ab75b7c5cf485ffc2a8)

19 months agoluci-mod-network: 'mxhosts' tab added
Paul Dee [Wed, 19 Oct 2022 18:38:55 +0000 (20:38 +0200)]
luci-mod-network: 'mxhosts' tab added

DHCP Help does not document mxhost, but they are available in dnsmasq.

This effectively implements MX records within DNS.

Tested on 22.03.2

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
[fix _() calls, fix commit subject, rebase onto current master]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 3240714ed38556e48c635cd4e2703a45ac6fb45d)

19 months agoluci-mod-network: 'srvhosts' tab added
Paul Dee [Wed, 19 Oct 2022 17:18:03 +0000 (19:18 +0200)]
luci-mod-network: 'srvhosts' tab added

DHCP Help does not document srv-host, but they are available in dnsmasq.

This effectively implements SRV records within DNS.

Tested on 22.03.2

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
[fix _() calls, join translation strings on the same line, replace &hellip;
 with …, fix commit subject]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 08a089740af0c9734169f6dc206beec09fe80324)

19 months agoluci: sort dependencies alphabetically with newline
Paul Spooren [Tue, 7 Jun 2022 12:27:37 +0000 (14:27 +0200)]
luci: sort dependencies alphabetically with newline

Improve readability and group related packages together.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit fc313a59dbc837f32d0c1d291bba054631c91039)

19 months agoluci-app-example: improve description
Sergey Ponomarev [Thu, 13 Oct 2022 11:27:15 +0000 (14:27 +0300)]
luci-app-example: improve description

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
(cherry picked from commit 7b073526a659842d942a3a0e4717ddba3ee6eadb)

19 months agoluci-app-attendedsysupgrade: Fixed a typo, updated po/pot files
Manu Linares [Wed, 12 Oct 2022 18:45:26 +0000 (15:45 -0300)]
luci-app-attendedsysupgrade: Fixed a typo, updated po/pot files

(cherry picked from commit 18bfccac9d67028345b797073297aab478989096)

19 months agoluci-mod-network: improve description for filterwin2k option
Jan Hoffmann [Thu, 29 Sep 2022 16:34:09 +0000 (18:34 +0200)]
luci-mod-network: improve description for filterwin2k option

Make it clear that this option also filters some not-so-useless queries.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
(cherry picked from commit ec4f219b2b26fc3181c0ea62d4364f8f15aac9c5)

19 months agoluci.mk: refactor install recipe
Jo-Philipp Wich [Wed, 28 Sep 2022 07:17:06 +0000 (09:17 +0200)]
luci.mk: refactor install recipe

Detect the presence of directories using Make $(wildcard ...) and emit
plain install commands depending on the outcome instead of relying on
shell conditionals which impose syntax constraints on code outside of
the scope of the LuCI repo.

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

19 months agoluci-app-dawn: return 0 in case of weird frequency
Nick Hainke [Tue, 27 Sep 2022 07:30:15 +0000 (09:30 +0200)]
luci-app-dawn: return 0 in case of weird frequency

Sometimes 0 is passed to the frequency. Return 0 in that case.

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 88bb5f31c44926170f2ff43adef91877f4af283b)

19 months agoproper cache control in firefox
Daniel Kucera [Sat, 17 Sep 2022 05:18:52 +0000 (07:18 +0200)]
proper cache control in firefox

Added more meta headers to ensure proper cache control in Firefox.
Before this patch, the `/` url hasn't even been requested when opened in Firefox.

Signed-off-by: Daniel Kucera <daniel.kucera@gmail.com>
(cherry picked from commit 34dd31ae9a63c573646cce9f75ca5edf4bc4e82e)

19 months agoluci-app-ddns: sort list of services
Rafał Miłecki [Mon, 12 Sep 2022 14:11:38 +0000 (16:11 +0200)]
luci-app-ddns: sort list of services

It makes it much easier to find selected service provider.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 74cf149544010645dd69f3e9029d0a181138a55a)

19 months agoluci-app-frpc: add plugin options
Liangbin Lian [Tue, 16 Aug 2022 06:03:09 +0000 (14:03 +0800)]
luci-app-frpc: add plugin options

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
(backported from commit 175487f054b904383673d85ca95bdccb386919c1)

19 months agoluci-app-frpc: show remote port
Liangbin Lian [Tue, 16 Aug 2022 05:57:43 +0000 (13:57 +0800)]
luci-app-frpc: show remote port

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
(cherry picked from commit a185562836408ff38dcd0a48f076831424903ba1)

19 months agoluci-app-frpc: fix local_ip datatype
Liangbin Lian [Tue, 16 Aug 2022 05:56:35 +0000 (13:56 +0800)]
luci-app-frpc: fix local_ip datatype

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
(cherry picked from commit 1ab4ce1a5e12afbecf1ed74c49ee91c8a049ca0b)

19 months agoluci-proto-openfortivpn: Correct server certificate SHA label
Matthew Hagan [Sat, 16 Oct 2021 17:12:20 +0000 (18:12 +0100)]
luci-proto-openfortivpn: Correct server certificate SHA label

According to the documentation[1], the SHA256 hash is used for the
trusted-cert option, not SHA1.

[1] https://github.com/adrienverge/openfortivpn/blob/master/doc/openfortivpn.1.in

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
(cherry picked from commit 57936a40c32937d4bedfa6344868668af687bcc5)

19 months agoluci-proto-openfortivpn: add persistent reconnect option
Matthew Hagan [Sat, 16 Oct 2021 12:28:46 +0000 (13:28 +0100)]
luci-proto-openfortivpn: add persistent reconnect option

Add ability to specify persistent reconnection interval.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
(cherry picked from commit c084570d063fd64db6f8a42a0b1d5270d8831d83)

19 months agoluci-proto-openfortivpn: add user, key, CA PEM support
Matthew Hagan [Thu, 14 Oct 2021 19:05:31 +0000 (20:05 +0100)]
luci-proto-openfortivpn: add user, key, CA PEM support

Add PEM inputs and file handling for user cert, key and CA cert. This
handling is largely based upon that used in luci-proto-openconnect.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
(cherry picked from commit 1f01a661c9e39da4e2fcf2a77cbd2bfeb3d0bc93)