diff options
| -rw-r--r-- | data/templates/accel-ppp/l2tp.config.j2 | 3 | ||||
| -rw-r--r-- | data/templates/accel-ppp/pptp.config.j2 | 3 | ||||
| -rw-r--r-- | interface-definitions/include/accel-ppp/radius-accounting-interim-interval.xml.i | 15 | ||||
| -rw-r--r-- | interface-definitions/vpn-l2tp.xml.in | 1 | ||||
| -rwxr-xr-x | smoketest/scripts/system/test_kernel_options.py | 13 | ||||
| -rwxr-xr-x | src/conf_mode/vpn_l2tp.py | 6 | ||||
| -rwxr-xr-x | src/conf_mode/vpn_pptp.py | 4 | 
7 files changed, 44 insertions, 1 deletions
| diff --git a/data/templates/accel-ppp/l2tp.config.j2 b/data/templates/accel-ppp/l2tp.config.j2 index 5914fd375..a2f9c9fc7 100644 --- a/data/templates/accel-ppp/l2tp.config.j2 +++ b/data/templates/accel-ppp/l2tp.config.j2 @@ -91,6 +91,9 @@ server={{ r.server }},{{ r.key }},auth-port={{ r.port }},acct-port={{ r.acct_por  {%     if radius_dynamic_author.server is vyos_defined %}  dae-server={{ radius_dynamic_author.server }}:{{ radius_dynamic_author.port }},{{ radius_dynamic_author.key }}  {%     endif %} +{%     if radius_acct_interim_interval is vyos_defined %} +acct-interim-interval={{ radius_acct_interim_interval }} +{%     endif %}  {%     if radius_acct_inter_jitter %}  acct-interim-jitter={{ radius_acct_inter_jitter }}  {%     endif %} diff --git a/data/templates/accel-ppp/pptp.config.j2 b/data/templates/accel-ppp/pptp.config.j2 index 78a629d2d..0082e55bf 100644 --- a/data/templates/accel-ppp/pptp.config.j2 +++ b/data/templates/accel-ppp/pptp.config.j2 @@ -70,6 +70,9 @@ verbose=1  server={{ r.server }},{{ r.key }},auth-port={{ r.port }},acct-port={{ r.acct_port }},req-limit=0,fail-time={{ r.fail_time }}  {%     endfor %} +{%     if radius_acct_interim_interval is vyos_defined %} +acct-interim-interval={{ radius_acct_interim_interval }} +{%     endif %}  {%     if radius_acct_inter_jitter %}  acct-interim-jitter={{ radius_acct_inter_jitter }}  {%     endif %} diff --git a/interface-definitions/include/accel-ppp/radius-accounting-interim-interval.xml.i b/interface-definitions/include/accel-ppp/radius-accounting-interim-interval.xml.i new file mode 100644 index 000000000..311ef969c --- /dev/null +++ b/interface-definitions/include/accel-ppp/radius-accounting-interim-interval.xml.i @@ -0,0 +1,15 @@ +<!-- include start from accel-ppp/radius-accounting-interim-interval.xml.i --> +<leafNode name="accounting-interim-interval"> +  <properties> +    <help>Interval in seconds to send accounting information</help> +    <valueHelp> +      <format>u32:1-3600</format> +      <description>Interval in seconds to send accounting information</description> +    </valueHelp> +    <constraint> +      <validator name="numeric" argument="--range 1-3600"/> +    </constraint> +    <constraintErrorMessage>Interval value must be between 1 and 3600 seconds</constraintErrorMessage> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/vpn-l2tp.xml.in b/interface-definitions/vpn-l2tp.xml.in index 6b64c5f5d..ec186cd23 100644 --- a/interface-definitions/vpn-l2tp.xml.in +++ b/interface-definitions/vpn-l2tp.xml.in @@ -177,6 +177,7 @@                    #include <include/radius-auth-server-ipv4.xml.i>                    <node name="radius">                      <children> +                      #include <include/accel-ppp/radius-accounting-interim-interval.xml.i>                        <tagNode name="server">                          <children>                            #include <include/accel-ppp/radius-additions-disable-accounting.xml.i> diff --git a/smoketest/scripts/system/test_kernel_options.py b/smoketest/scripts/system/test_kernel_options.py index 94be0483a..fe2a1c48a 100755 --- a/smoketest/scripts/system/test_kernel_options.py +++ b/smoketest/scripts/system/test_kernel_options.py @@ -63,6 +63,19 @@ class TestKernelModules(unittest.TestCase):              self.assertIn(option, config_data,                            f"Option {option} is not present in /proc/config.gz") +    def test_synproxy_enabled(self): +        options_to_check = [ +            'CONFIG_NFT_SYNPROXY', +            'CONFIG_IP_NF_TARGET_SYNPROXY' +        ] +        if not os.path.isfile(CONFIG): +            call('sudo modprobe configs') +        with gzip.open(CONFIG, 'rt') as f: +            config_data = f.read() +        for option in options_to_check: +            tmp = re.findall(f'{option}=(y|m)', config_data) +            self.assertTrue(tmp) +      def test_qemu_support(self):          # The bond/lacp interface must be enabled in the OS Kernel          for option in ['CONFIG_VIRTIO_BLK', 'CONFIG_SCSI_VIRTIO', 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']) | 
