diff options
| -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}") | 
