Commit Graph

46 Commits

Author SHA1 Message Date
Nikos Mavrogiannopoulos 20ea72607b openconnect: make host dependency more resilient
Retry when resolveip fails as it seems to be causing issues
on startup depending on various unpredictable parameters.

Resolves: #23185

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2024-02-16 04:57:48 +01:00
Vladislav Grigoryev 4af0378ef9 openconnect: add support for option --pfs
Add support for the OpenConnect option `--pfs`.
Designed to require perfect forward secrecy.

Signed-off-by: Vladislav Grigoryev <vg.aetera@gmail.com>
2023-10-14 15:30:15 +03:00
Michael Brown 99213e6311 openconnect: Allow reconnect timeout to be specified
Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
2022-08-07 16:20:21 +01:00
Michael Brown 5c84d8ceba openconnect: Support use of a proxy server
Allow connection via a proxy server (required on some sites where
direct outbound HTTP(S) access is not permitted).

Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
2022-08-07 16:18:18 +01:00
Rui Salvaterra 916fa87c33 openconnect: make the host dependency optional
According to David Woodhouse, OpenConnect has no issues reconnecting on any
interface. Make the host dependency optional, as it can cause issues in multiple
WAN scenarios.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-01 13:54:13 -07:00
Rui Salvaterra a85bda72cc openconnect: avoid using the --juniper switch
The --juniper switch has been deprecated in favour of --protocol=nc. Fix the
proto script thusly, while keeping compatibility with existing configurations.

Note that, as far as UCI is concerned, if both options juniper and vpn_protocol
are specified, the latter takes precedence.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-01 13:54:13 -07:00
Rui Salvaterra 278a35be9c openconnect: fix inclusion of netifd proto scripts
This is the preferred way, according to the wiki.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-01 13:54:13 -07:00
Rui Salvaterra 2ab669d0b9 Revert "openconnect: drop the dependency on resolveip"
Using resolveip is more robust and predictable than depending on nslookup and
awk.

This reverts commit 131ec7b3bd.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-01 13:54:13 -07:00
Rui Salvaterra 9bbecd2438 openconnect: don't bother loading the tun module
If it exists (if it isn't built-in), it will be loaded automatically at boot.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-05-23 23:58:42 +01:00
Rui Salvaterra 131ec7b3bd openconnect: drop the dependency on resolveip
We have nslookup and awk, let's use them.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-05-23 23:58:42 +01:00
Frederick Morlock 5d85f5af63 openconnect: Fix secondary password script overwriting primary
When specifying a secondary password script, the output should be appended to the temporary password file and shouldn't overwrite it. If you refer to the case where there is a static secondary password, you can see that the secondary password is appended. Without this fix, only the secondary password is passed to the `openconnect` session.

Signed-off-by: Frederick Morlock <FrederickGeek8@gmail.com>
2021-01-01 17:18:27 +08:00
Mengyang Li b6119433a5 openconnect: allow specify --protocol from config
openconnect v8.10 supports 4 VPN protocols

  --protocol=anyconnect  Compatible with Cisco AnyConnect SSL VPN, as well as ocserv (default)
  --protocol=nc          Compatible with Juniper Network Connect
  --protocol=gp          Compatible with Palo Alto Networks (PAN) GlobalProtect SSL VPN
  --protocol=pulse       Compatible with Pulse Connect Secure SSL VPN

This patch allows user to specify protocol use the new "vpn_protocol"
option and deprecate the old option "juniper" which seems to be missing in
the current openconnect client.

Signed-off-by: Mengyang Li <mayli.he@gmail.com>
2020-10-25 21:44:32 +01:00
Yousong Zhou 3445e1b470 openconnect: allow disable dtls with bool option no_dtls
openconnect may emit following error logs every minute when negotiating
with deployments forbidding usage of dtls

  Thu Aug 27 04:11:59 2020 daemon.notice openconnect[12024]: DTLS handshake failed: Error in the push function.
  Thu Aug 27 04:11:59 2020 daemon.notice openconnect[12024]: (Is a firewall preventing you from sending UDP packets?)

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2020-08-27 13:59:52 +08:00
Yousong Zhou fce2b069df openconnect: break each var into its own line in order
For easier review

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2020-08-27 13:59:35 +08:00
Marco Gulino 6464166660 openconnect: Allow to set `usergroup` option in OpenConnect
Just adding the extra option `-g|--usergroup <group>` (required by the VPN server I'm currently using)

Signed-off-by: Marco Gulino <marco@gulinux.net>
2020-04-29 22:37:11 +01:00
Jo-Philipp Wich 900ac76bdb openconnect: preserve whitespace in arguments
Properly quote arguments when assembling the command line and eval the
proto_run_command() invocation in order to prevent the shell from
improperly splitting the command arguments on $IFS.

Fixes: #10137
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-02-03 08:55:54 +01:00
Yousong Zhou 384398d452 openconnect: allow specifying form_entry list
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-09-21 10:33:18 +00:00
Gavin Ni ede858fb5d openconnect: support reading password from script
"token_mode" add support for "script", which execute "token_script" to
get the password.  Some token is not supported by OpenConnect natively,
e.g. "MobilePass" or "Softoken II" used in Cisco VPN

Signed-off-by: Gavin Ni <gisngy@gmail.com>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-12-04 16:00:46 +08:00
Gavin Ni 5d216df6cd openconnect: re-introduce config: interface
In some cases, it's useful to specify which interface to establish the VPN connection

Signed-off-by: Gavin Ni <gisngy@gmail.com>
2017-11-22 10:10:22 +08:00
Vladimir Berezhnoy d710c629e8
openconnect: add options to support juniper
Signed-off-by: Vladimir Berezhnoy <non7top@gmail.com>
2017-11-20 14:03:28 +03:00
Yousong Zhou 4034e9ee21 openconnect: new option mtu
According to openconnect --help output:

  -m, --mtu=MTU                   Request MTU from server
      --base-mtu=MTU              Indicate path MTU to/from server

Fixes #2099 by allowing setting tunnel mtu

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-06-18 13:10:34 +02:00
Yousong Zhou 4b3fde326c openconnect: drop stale config: interface
It was introduced with 41f8d5465 ("openconnect: fix a couple of minor
things and add an interface option") and not needed since 4083de9d7
("openconnect: use proto_add_host_dependency")

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-06-18 13:10:34 +02:00
Nikos Mavrogiannopoulos 4083de9d74 openconnect: use proto_add_host_dependency
This ensures that a direct route to the connected host is added
by netifd.

Resolves #2548
2016-05-22 17:42:34 +02:00
Nikos Mavrogiannopoulos 8661ebeefa openconnect: disabled the resolving code from ppp in netifd script
That code was causing netifd disabling openconnect with no way
to restart it.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2015-08-26 22:59:31 +02:00
Nikos Mavrogiannopoulos 2765d7b779 openconnect: corrected call to proto_add_host_dependency
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2015-07-07 22:48:44 +02:00
Nikos Mavrogiannopoulos 749abcacc8 openconnect: allow processing multiple passwords from stdin
Resolves #1419

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2015-06-20 12:36:39 +02:00
Florian Fainelli b1f228f4cf openconnect: allow specifying a custom CSD wrapper script
Some VPN servers might be configured in a way that a CSD wrapper script
is mandatory to complete the authentication process, allow that to be
specified for openconnect.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
2015-04-04 12:32:59 -07:00
Florian Fainelli 70c10c0a5e openconnect: allow specifying "os"
Some servers might be implementing ACLs based on the value specified by
openconnect for "os", allow that to be configured.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
2015-04-04 12:31:49 -07:00
Daniel Gimpelevich 41f8d54650 openconnect: fix a couple of minor things and add an interface option
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2015-02-06 11:54:39 -08:00
Nikos Mavrogiannopoulos 500db547b8 openconnect: use openconnect.upgrade to save configured files
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2015-01-19 23:15:57 +01:00
Nikos Mavrogiannopoulos ab50e4802f Revert "openconnect: move certificate files to config/ to add graceful upgrade"
This reverts commit b53e5bfe87.
2015-01-19 23:15:54 +01:00
Nikos Mavrogiannopoulos cd73693255 Revert "openconnect: cmdline parameter for CA not moved"
This reverts commit fa8f547945.
2015-01-19 23:15:51 +01:00
Jasper fa8f547945 openconnect: cmdline parameter for CA not moved
The location for the server CA file was moved in b53e5bfe87, but the corresponding command line option for opeconnect not updated.
2015-01-16 17:21:44 +01:00
Nikos Mavrogiannopoulos b53e5bfe87 openconnect: move certificate files to config/ to add graceful upgrade
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2015-01-10 11:12:33 +01:00
Matthew Sykes f2fb6217ab openconnect: Restore support for vpnc-script hooks
* Restore hooks support from vpnc-script
* Use consistent style for tests and blocks in openconnect.sh
* Cleanup code that writes banner to syslog

Signed-off-by: Matthew Sykes <matthew.sykes@gmail.com>
2014-12-20 11:09:33 -05:00
Florian Fainelli a54d31ed3f openconnect: add an option to support stoken
Add a new build configuration option for openconnect and let it link
against libstoken if instructed to. Two new uci configuration variables
are introduced: "token_mode" and "token_secret" to allow openconnect to
use those.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
2014-12-07 21:18:52 -08:00
Nikos Mavrogiannopoulos 78bf9cc554 openconnect: simplified cmdline appending
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-12-05 20:27:45 +01:00
Nikos Mavrogiannopoulos 05999937ed openconnect: when serverhash or cafile are present, set --no-system-trust
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-11-29 19:05:04 +01:00
Nikos Mavrogiannopoulos 6cbf21b65d openconnect: use SIGINT to bring down openconnect
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-10-28 12:31:48 +01:00
Nikos Mavrogiannopoulos 11116b3610 openconnect: increased the timeout value for retrying
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-09-28 18:27:30 +02:00
Nikos Mavrogiannopoulos e9215bf85d openconnect: set config variable on teardown and correctly pass the password
This addresses https://dev.openwrt.org/ticket/16634

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-09-01 00:26:39 +02:00
Nikos Mavrogiannopoulos 144cb1e0bc openconnect: corrected typo
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-07-06 13:25:23 +02:00
Nikos Mavrogiannopoulos 74dadb1aee openconnect: increase timeout time on resolving error and use the IPs for proto_add_host_dependency
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-07-01 20:29:22 +02:00
Nikos Mavrogiannopoulos 53f33536c0 openconnect: include the Interface name in the files used for certificates and keys
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-06-08 11:03:28 +02:00
Nikos Mavrogiannopoulos 51c1c55125 openconnect: Added configuration options for hash and user cert/key pairs
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2014-06-04 23:18:02 +02:00
Nikos Mavrogiannopoulos af551b6683 Added openconnect 2014-06-03 18:18:17 +02:00