summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-10-09 10:14:30 +0300
committerGitHub <noreply@github.com>2024-10-09 10:14:30 +0300
commitbb2fa1da6aac5786976614136ec34dfb0854eee4 (patch)
tree471d08e50905af9828cb5023eff192c63accd7a4 /src
parent65991f7f4d79b0c9255776a4160946e52e7da320 (diff)
downloadvyos-1x-bb2fa1da6aac5786976614136ec34dfb0854eee4.tar.gz
vyos-1x-bb2fa1da6aac5786976614136ec34dfb0854eee4.zip
T6525: Add default dir for ext-scripts without absolute path (#4144)
(cherry picked from commit 2f52106dc160f217d6e27da45674c0231a93382a) Co-authored-by: khramshinr <khramshinr@gmail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/service_snmp.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/conf_mode/service_snmp.py b/src/conf_mode/service_snmp.py
index 6f025cc23..c9c0ed9a0 100755
--- a/src/conf_mode/service_snmp.py
+++ b/src/conf_mode/service_snmp.py
@@ -41,6 +41,7 @@ config_file_client = r'/etc/snmp/snmp.conf'
config_file_daemon = r'/etc/snmp/snmpd.conf'
config_file_access = r'/usr/share/snmp/snmpd.conf'
config_file_user = r'/var/lib/snmp/snmpd.conf'
+default_script_dir = r'/config/user-data/'
systemd_override = r'/run/systemd/system/snmpd.service.d/override.conf'
systemd_service = 'snmpd.service'
@@ -85,8 +86,20 @@ def get_config(config=None):
tmp = {'::1': {'port': '161'}}
snmp['listen_address'] = dict_merge(tmp, snmp['listen_address'])
+ if 'script_extensions' in snmp and 'extension_name' in snmp['script_extensions']:
+ for key, val in snmp['script_extensions']['extension_name'].items():
+ if 'script' not in val:
+ continue
+ script_path = val['script']
+ # if script has not absolute path, use pre configured path
+ if not os.path.isabs(script_path):
+ script_path = os.path.join(default_script_dir, script_path)
+
+ snmp['script_extensions']['extension_name'][key]['script'] = script_path
+
return snmp
+
def verify(snmp):
if 'deleted' in snmp:
return None