From 5f75ad82d869b5e9f67dc1b7052813c71041ac3e Mon Sep 17 00:00:00 2001 From: aapostoliuk <108394744+aapostoliuk@users.noreply.github.com> Date: Tue, 25 Feb 2025 18:25:25 +0200 Subject: snmp: T7180: Fixed verification of engineid in snmpv3 (#4366) * snmp: T7180: Fixed verification of engineid in snmpv3 EngineID must be configured if snmpv3 user is configured. Fixed engineid help string. --- interface-definitions/service_snmp.xml.in | 1 - src/conf_mode/service_snmp.py | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/interface-definitions/service_snmp.xml.in b/interface-definitions/service_snmp.xml.in index f23151ef9..cc21f5b8b 100644 --- a/interface-definitions/service_snmp.xml.in +++ b/interface-definitions/service_snmp.xml.in @@ -304,7 +304,6 @@ ID must contain an even number (from 2 to 36) of hex digits - diff --git a/src/conf_mode/service_snmp.py b/src/conf_mode/service_snmp.py index d85f20820..c64c59af7 100755 --- a/src/conf_mode/service_snmp.py +++ b/src/conf_mode/service_snmp.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2018-2024 VyOS maintainers and contributors +# Copyright (C) 2018-2025 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 @@ -147,6 +147,9 @@ def verify(snmp): return None if 'user' in snmp['v3']: + if 'engineid' not in snmp['v3']: + raise ConfigError(f'EngineID must be configured for SNMPv3!') + for user, user_config in snmp['v3']['user'].items(): if 'group' not in user_config: raise ConfigError(f'Group membership required for user "{user}"!') -- cgit v1.2.3