Commit graph

255 commits

Author SHA1 Message Date
Howard Chu
37176dc126 luci-proto-mbim: introduce package
Based on luci-proto-qmi
Tested with Sierra Wireless MC7455

Signed-off-by: Howard Chu <hyc@symas.com>

[Squashed. updated commit message, adjusted the parameters to match
upstream-accepted implementation of MBIM protocol]

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-05-18 01:23:44 +02:00
Jo-Philipp Wich
b8ee30589b 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>
2023-03-29 15:33:37 +02:00
Florian Eckert
71b7ecb777 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>
2023-03-16 00:05:18 +01:00
Jo-Philipp Wich
e11ff51b17
Merge pull request #6288 from oskarirauta/luci-cni-protocol
luci-proto-cni: add package
2023-03-15 14:09:04 +01:00
Oskari Rauta
8cd2793b2c luci-proto-cni: add package
adds support for cni-protocol in luci

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
2023-03-15 14:54:23 +02:00
Jo-Philipp Wich
59a6f062d2 luci-proto-wireguard: use ddns lookup_host for peer hints
The `domain` option of a DDNS service entry may contain non-hostname values,
use the `lookup_hostname` option instead.

Fixes: #6289
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-03-14 23:36:39 +01:00
Jo-Philipp Wich
b200e0e90f luci-proto-openconnect: fix server url validation
The OpenConnect configuration form incorrectly assumed that the server
setting must be hostname while it actually may be a full URL.

Fixes: #6184
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-02-08 08:57:24 +01:00
Jo-Philipp Wich
41e9b8d121 Revert "luci-proto-openconnect: fix server url validation"
This reverts commit f1312cadc6.

The commit contained unrelated changes.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-02-08 08:56:36 +01:00
Jo-Philipp Wich
f1312cadc6 luci-proto-openconnect: fix server url validation
The OpenConnect configuration form incorrectly assumed that the server
setting must be hostname while it actually may be a full URL.

Fixes: #6184
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-02-07 11:53:31 +01:00
Jo-Philipp Wich
ae47caf383 luci-proto-autoip: fix protocol name
Fixes: 2965e527f5 ("luci-proto-autoip: add protocol support for avahi-autoipd")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-12-19 15:29:47 +01:00
Jo-Philipp Wich
2965e527f5 luci-proto-autoip: add protocol support for avahi-autoipd
Fixes: #6162
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-12-19 15:28:06 +01:00
Jo-Philipp Wich
785792a591 luci-proto-wireguard: fix configuration import
Avoid referencing not existing `peerdns` option during the configuration
file import process.

Fixes: #6136
Fixes: 2be01cbfcb ("luci-mod-network: restrict peerdns option to protocols that implemenent it")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-12-05 10:34:51 +01:00
Jo-Philipp Wich
22c51acf81 luci-proto-wireguard: fix loading peer descriptions
Explicitly load `network` uci in wireguard rpcd backend as `ctx.foreach()`
does not implicitly load it.

Also remove leftover test setup information from the status page source.

Fixes: #6095
Fixes: 008fa18878 ("luci-proto-wireguard: rewrite rpcd handler in ucode")
Fixes: 6e6fce3eb4 ("luci-proto-wireguard: merge status page functionality")
Ref: https://github.com/jow-/ucode/pull/126
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-11-23 13:20:42 +01:00
Jo-Philipp Wich
6e6fce3eb4 luci-proto-wireguard: merge status page functionality
Merge status page functionality from the separate `luci-app-wireguard`
package into the `luci-proto-wirguard` protocol backend.

Also rewrite the status page markup to be more compact while we're at it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-11-22 10:56:36 +01:00
Julien Cassette
73aca68b9e luci-proto-wireguard: fix generated AllowedIPs
This corrects the option `AllowedIPs` in generated peer configurations,
and allows to customize it via a dropdown list.

Fixes: #5956
Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
[correct fixes tag, slightly adjust option description]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-11-09 21:00:56 +01:00
Jo-Philipp Wich
036424df5b treewide: add explicit Lua runtime dependencies where needed
Some packages require Lua libraries but do not ship with a luasrc directory,
add explicit dependencies in these cases.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-10-25 01:03:37 +02:00
Jo-Philipp Wich
008fa18878 luci-proto-wireguard: rewrite rpcd handler in ucode
Rewrite the wireguard rpcd plugin in ucode to prevent an implicit dependency
on the LuCI Lua runtime.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-10-25 01:03:37 +02:00
Stan Grishin
aff9f12440
Merge pull request #6023 from stangri/master-luci-proto-nebula
luci-proto-nebula: add nebula protocol support
2022-10-17 10:21:24 -07:00
Jaymin Patel
6be4bd886d luci-proto-vti: add vti protocol support
Signed-off-by: Jaymin Patel <jem.patel@gmail.com>
2022-10-14 19:53:39 +05:30
Stan Grishin
d55913cfa4 luci-proto-nebula: add nebula protocol support
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-14 12:02:56 +00:00
Florian Eckert
20ae64edec
Merge pull request #5968 from db260179/master
luci-proto-openconnect: Add options proxy server and reconnect timeout
2022-09-14 19:21:42 +02:00
David Bentham
1f25483953 luci-proto-openconnect: Add options proxy server and reconnect timeout support
Signed-off-by: David Bentham <db260179@gmail.com>
2022-09-10 19:54:18 +01:00
Hannu Nyman
38ce475bc9 luci-proto-unet: initial support
Initial support for the new unetd VPN daemon.

Currently this just enables seeing the VPN interface
in the LuCI network overview, plus the keys used.
No relevant config change possibilities, yet.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-09-06 23:48:56 +03:00
Florian Eckert
bce530e18c
Merge pull request #5448 from clayface/master
luci-proto-openfortivpn: cert/key PEM support, persistent option, SHA label fix
2022-08-11 07:53:38 +02:00
Matthew Hagan
57936a40c3 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>
2022-08-10 23:03:58 +01:00
Matthew Hagan
c084570d06 luci-proto-openfortivpn: add persistent reconnect option
Add ability to specify persistent reconnection interval.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2022-08-10 23:03:58 +01:00
Matthew Hagan
1f01a661c9 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>
2022-08-10 23:03:54 +01:00
Jo-Philipp Wich
94bfa33452 luci-proto-wireguard: handle multiple peers in imported configuration
When importing a fully configuration, import all peer entries from it
instead of non-deterministically merging all peer keys into one.

When importing a remote configuration as peer, only use the setting from
the peer section matching our local interface pubkey.

Also relabel the `Import peer configuration` button to
`Import configuration as peer` in order to be more explicit.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-08-01 13:00:31 +02:00
Jalakas
049d876bc1 luci-proto-ncm: adds missing error messages, removes 'dialnumber' option, changes 'delay' according to real behavior
This commit:
Adds missing error messages and harmonizes message texts with comgt-ncm script. [1]
Removes option 'dialnumber' not used in comgt-ncm. [1][2]
Fixes option 'delay' according to comgt-ncm script real behavior. (No default value, if parameter is set, then there's always sleep) [1]

[1] https://github.com/openwrt/openwrt/blob/master/package/network/utils/comgt/files/ncm.sh
[2] https://github.com/openwrt/openwrt/blob/master/package/network/utils/comgt/files/ncm.json

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
2022-07-28 19:53:26 +03:00
Jo-Philipp Wich
2ae74b909b luci-proto-wireguard: configuration import improvements
- Reword texts in import dialogs for better clarity, use different
   descriptions for full import and peer import

 - Allow importing configurations without [Peer] section

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-07-23 20:24:09 +02:00
Jo-Philipp Wich
4d6642b636 luci-proto-ncm: rename service option to mode
Package luci-proto-ncm depends on comgt-ncm which uses an option
called 'mode' to set the radiomode of the modem. There is no option
'service' in the comgt-ncm scripts.

Suggested-by: breenstorm <49235337+breenstorm@users.noreply.github.com>
[fix commit subject, add commit message, rebase onto master branch]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-07-23 13:18:03 +02:00
Jo-Philipp Wich
340183786e luci-proto-wireguard: gracefully deal with missing uci configs
The /etc/config/ddns in particular might not be present on the system,
don't fail if it is absent.

Fixes: #5838
Fixes: 9ba20645b0 ("luci-proto-wireguard: rewrite protocol handler")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-06-21 00:07:48 +02:00
Jo-Philipp Wich
4769bf11aa luci-proto-wireguard: grant uci read access to system and ddns config
The configuration export requires access to /e/c/system and /e/c/ddns for
external hostname hints.

Fixes: #5838
Fixes: 9ba20645b0 ("luci-proto-wireguard: rewrite protocol handler")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-06-20 23:58:07 +02:00
Jo-Philipp Wich
9ba20645b0 luci-proto-wireguard: rewrite protocol handler
This commit rewrites large chunks of the WireGuard protocol handler in order
to simplify the process of importing and exporting configuration. The major
changes are:

1) The wireguard interface configuration tab (General Settings) gained an
   import assistant which allows dragging or pasting a native WireGuard
   configuration file in order to import required settrings into uci

2) The peer configuration tab gained a similar import assistant which allows
   importing the settings for a WireGuard peer from an existing native
   WireGuard configuration file

3) The QR code export feature has been rewritten to make the resulting codes
   actually useful for importing into a WireGuard client application.
   Additionally the plaintext native WireGuard configuration is displayed
   to allow copy-pasting it for use on a Linux or OS X system

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-05-17 15:45:20 +02:00
Florian Eckert
60137e9c5a
Merge pull request #5698 from onemarcfifty/luci-ptoto-batadv
luci-proto-batman-adv: LuCI Support for the batman-adv protocol
2022-04-16 13:37:40 +02:00
Marc Ahlgrim
0a762fd671 luci-proto-batman-adv: add luci-proto-batman-adv
This commit adds support
for the batadv and the batadv_hardif protocols
to LuCI

Signed-off-by: Marc Ahlgrim <marc@onemarcfifty.com>
2022-04-14 15:08:09 +02:00
Florian Eckert
7206d8fd6a luci-proto-wireguard: adjust MTU range from 0-8940
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2022-04-14 11:59:56 +02:00
Florian Eckert
ddd04a719f luci-proto-wireguard: remove MTU limit
fixes #5737

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2022-04-12 10:32:25 +02:00
Lukas Voegl
b6925a1227 luci-proto-wireguard: add generate psk button
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2022-03-18 14:47:44 +01:00
Florian Eckert
6ada502dde
Merge pull request #5642 from hgl/xfrm
luci-proto-xfrm: add luci xfrm support
2022-01-22 16:10:47 +01:00
Matthew Hagan
37253b5693 luci-proto-ipip: add nohostroute configurable
Add configurable to explicitly disable creation of route to the peer
address.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2022-01-19 23:09:00 +00:00
Matthew Hagan
f62b36ee38 luci-proto-ipip: explicitly set df to optional
Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2022-01-19 23:04:37 +00:00
Glen Huang
9b02d5b776 luci-proto-xfrm: add xfrm proto support
Signed-off-by: Glen Huang <heyhgl@gmail.com>
2022-01-19 22:35:33 +08:00
Jo-Philipp Wich
ff4f52983e
Merge pull request #5540 from jow-/wireguard-peer-gridsection
Implement nested grid section support and use it for wireguard peer config
2021-12-02 10:54:36 +01:00
Florian Eckert
a1723c2272
Merge pull request #5400 from systemcrash/wg_pubkey
luci-proto-wireguard: display interface public key
2021-11-30 14:10:19 +01:00
Jo-Philipp Wich
f2445a862e luci-proto-wireguard: turn peer configuration into grid view
Turn the list of configured peers into a grid section in order to improve
the overview of the configuration form.

Fixes: #5489
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-22 09:43:29 +01:00
Jo-Philipp Wich
f58ae7635c luci-proto-wireguard: fix QR code generation markup
The custom code generation markup lacked a required CSS class.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-21 23:40:21 +01:00
Robert Walli
aaa2b3dd2b luci-proto-wireguard: add option to disable peer-section
Submitted-by: Robert Walli <12079858+rwalli@users.noreply.github.com>
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-11-17 16:38:20 +01:00
Paul Dee
8a9dbe39d5 luci-proto-wireguard: display interface public key
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2021-11-11 01:31:43 +01:00
Jo-Philipp Wich
44445a8097 luci-proto-wireguard: fix potential shell injection vulnerabilities
The `luci.wireguard.generateQrCode` UBUS method allows injecting
arbitrary shell code by not sanitizing the `privkey` and `allowed_ips`
arguments before concatenating them into shell command expressions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-10-08 20:27:13 +02:00