diff options
| author | Christian Poessinger <christian@poessinger.com> | 2021-09-15 19:14:37 +0200 | 
|---|---|---|
| committer | Christian Poessinger <christian@poessinger.com> | 2021-09-15 19:39:22 +0200 | 
| commit | 3e85333ae7c53fc8b2ceae1d1788e795fd92c939 (patch) | |
| tree | 874233b4b1426f89c2419ba250b242521a856510 | |
| parent | 74878d14157408ef3a4c42f32608dcd5bbf812a1 (diff) | |
| download | vyos-1x-3e85333ae7c53fc8b2ceae1d1788e795fd92c939.tar.gz vyos-1x-3e85333ae7c53fc8b2ceae1d1788e795fd92c939.zip | |
ipsec: T3830: "authentication id|use-x509-id" are mutually exclusive
Manually set peer id and use-x509-id are mutually exclusive!
| -rw-r--r-- | data/templates/ipsec/swanctl/peer.tmpl | 2 | ||||
| -rwxr-xr-x | src/conf_mode/vpn_ipsec.py | 3 | 
2 files changed, 4 insertions, 1 deletions
| diff --git a/data/templates/ipsec/swanctl/peer.tmpl b/data/templates/ipsec/swanctl/peer.tmpl index 5d69b3d66..98c09436c 100644 --- a/data/templates/ipsec/swanctl/peer.tmpl +++ b/data/templates/ipsec/swanctl/peer.tmpl @@ -31,7 +31,7 @@          encap = yes  {%   endif %}          local { -{%   if peer_conf.authentication is defined and peer_conf.authentication.id is defined and peer_conf.authentication.use_x509_id is not defined %} +{%   if peer_conf.authentication is defined and peer_conf.authentication.id is defined and peer_conf.authentication.id is not none %}              id = "{{ peer_conf.authentication.id }}"  {%   endif %}              auth = {{ 'psk' if peer_conf.authentication.mode == 'pre-shared-secret' else 'pubkey' }} diff --git a/src/conf_mode/vpn_ipsec.py b/src/conf_mode/vpn_ipsec.py index ff6090e22..99b82ca2d 100755 --- a/src/conf_mode/vpn_ipsec.py +++ b/src/conf_mode/vpn_ipsec.py @@ -362,6 +362,9 @@ def verify(ipsec):              if 'authentication' not in peer_conf or 'mode' not in peer_conf['authentication']:                  raise ConfigError(f"Missing authentication on site-to-site peer {peer}") +            if {'id', 'use_x509_id'} <= set(peer_conf['authentication']): +                raise ConfigError(f"Manually set peer id and use-x509-id are mutually exclusive!") +              if peer_conf['authentication']['mode'] == 'x509':                  if 'x509' not in peer_conf['authentication']:                      raise ConfigError(f"Missing x509 settings on site-to-site peer {peer}") | 
