diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/high-availability.py | 7 | ||||
| -rwxr-xr-x | src/conf_mode/vpn_l2tp.py | 6 | ||||
| -rwxr-xr-x | src/conf_mode/vpn_pptp.py | 4 | 
3 files changed, 16 insertions, 1 deletions
| diff --git a/src/conf_mode/high-availability.py b/src/conf_mode/high-availability.py index 5e76dd9f9..7a63f5b4b 100755 --- a/src/conf_mode/high-availability.py +++ b/src/conf_mode/high-availability.py @@ -106,6 +106,13 @@ def verify(ha):                  if not {'password', 'type'} <= set(group_config['authentication']):                      raise ConfigError(f'Authentication requires both type and passwortd to be set in VRRP group "{group}"') +            if 'health_check' in group_config: +                from vyos.utils.dict import check_mutually_exclusive_options +                try: +                    check_mutually_exclusive_options(group_config["health_check"], ["script", "ping"], required=True) +                except ValueError as e: +                    raise ConfigError(f'Health check config is incorrect in VRRP group "{group}": {e}') +              # Keepalived doesn't allow mixing IPv4 and IPv6 in one group, so we mirror that restriction              # We also need to make sure VRID is not used twice on the same interface with the              # same address family. diff --git a/src/conf_mode/vpn_l2tp.py b/src/conf_mode/vpn_l2tp.py index 65623c2b1..ffac3b023 100755 --- a/src/conf_mode/vpn_l2tp.py +++ b/src/conf_mode/vpn_l2tp.py @@ -1,6 +1,6 @@  #!/usr/bin/env python3  # -# Copyright (C) 2019-2020 VyOS maintainers and contributors +# Copyright (C) 2019-2023 VyOS maintainers and contributors  #  # This program is free software; you can redistribute it and/or modify  # it under the terms of the GNU General Public License version 2 or later as @@ -63,6 +63,7 @@ default_config_data = {      'ppp_ipv6_peer_intf_id': None,      'radius_server': [],      'radius_acct_inter_jitter': '', +    'radius_acct_interim_interval': None,      'radius_acct_tmo': '3',      'radius_max_try': '3',      'radius_timeout': '3', @@ -190,6 +191,9 @@ def get_config(config=None):          # advanced radius-setting          conf.set_level(base_path + ['authentication', 'radius']) +        if conf.exists(['accounting-interim-interval']): +            l2tp['radius_acct_interim_interval'] = conf.return_value(['accounting-interim-interval']) +          if conf.exists(['acct-interim-jitter']):              l2tp['radius_acct_inter_jitter'] = conf.return_value(['acct-interim-jitter']) diff --git a/src/conf_mode/vpn_pptp.py b/src/conf_mode/vpn_pptp.py index 986a19972..b9d18110a 100755 --- a/src/conf_mode/vpn_pptp.py +++ b/src/conf_mode/vpn_pptp.py @@ -37,6 +37,7 @@ default_pptp = {      'local_users' : [],      'radius_server' : [],      'radius_acct_inter_jitter': '', +    'radius_acct_interim_interval': None,      'radius_acct_tmo' : '30',      'radius_max_try' : '3',      'radius_timeout' : '30', @@ -145,6 +146,9 @@ def get_config(config=None):          # advanced radius-setting          conf.set_level(base_path + ['authentication', 'radius']) +        if conf.exists(['accounting-interim-interval']): +            pptp['radius_acct_interim_interval'] = conf.return_value(['accounting-interim-interval']) +          if conf.exists(['acct-interim-jitter']):              pptp['radius_acct_inter_jitter'] = conf.return_value(['acct-interim-jitter']) | 
