summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-05-28 21:55:30 +0200
committerGitHub <noreply@github.com>2024-05-28 21:55:30 +0200
commit7ad2235761aa2c6e7ec7876955eba246aa83c047 (patch)
treedb01b2b595c99607329e754e26e1421aa8835fe3
parent6c295b860e3e227dbb2b21b5823c1a87cad54b7a (diff)
parent380e998b10341b6dd42bb94d00a9d7a462ada27a (diff)
downloadvyos-1x-7ad2235761aa2c6e7ec7876955eba246aa83c047.tar.gz
vyos-1x-7ad2235761aa2c6e7ec7876955eba246aa83c047.zip
Merge pull request #3528 from dmbaturin/T6374-openvpn-s2s-tls-validation
openvpn: T6374: ensure that TLS role is configured for site-to-site with TLS
-rwxr-xr-xsrc/conf_mode/interfaces_openvpn.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces_openvpn.py b/src/conf_mode/interfaces_openvpn.py
index 0ecffd3be..5b9c21757 100755
--- a/src/conf_mode/interfaces_openvpn.py
+++ b/src/conf_mode/interfaces_openvpn.py
@@ -260,6 +260,11 @@ def verify(openvpn):
# OpenVPN site-to-site - VERIFY
#
elif openvpn['mode'] == 'site-to-site':
+ # XXX: site-to-site is the only mode that still can work without TLS,
+ # so we need to make sure that if TLS is used, then TLS role is also specified
+ if 'shared_secret_key' not in openvpn['tls'] and 'role' not in openvpn['tls']:
+ raise ConfigError('"tls role" is required for site-to-site OpenVPN with TLS')
+
if 'local_address' not in openvpn and 'is_bridge_member' not in openvpn:
raise ConfigError('Must specify "local-address" or add interface to bridge')