summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-02-10 19:45:52 +0100
committerGitHub <noreply@github.com>2023-02-10 19:45:52 +0100
commit847434e1e34ea66c41a0c77ff22321452fbe5f7b (patch)
tree048ae0c57eb8eb18adf03687358119795415b4b8
parentabb45b2dac6d21899b47f792f887c42e757f0a2f (diff)
parent011e6a2cdea8fca73f7c433de5e2d6bc22bd9c19 (diff)
downloadvyos-1x-847434e1e34ea66c41a0c77ff22321452fbe5f7b.tar.gz
vyos-1x-847434e1e34ea66c41a0c77ff22321452fbe5f7b.zip
Merge pull request #1805 from nicolas-fort/T4857-frr-fix
T4857: snmp: Fix error when not defining client|network under community
-rw-r--r--data/templates/snmp/etc.snmpd.conf.j24
-rw-r--r--interface-definitions/snmp.xml.in5
-rwxr-xr-xsrc/conf_mode/snmp.py3
3 files changed, 6 insertions, 6 deletions
diff --git a/data/templates/snmp/etc.snmpd.conf.j2 b/data/templates/snmp/etc.snmpd.conf.j2
index 793facc3f..9d78d479a 100644
--- a/data/templates/snmp/etc.snmpd.conf.j2
+++ b/data/templates/snmp/etc.snmpd.conf.j2
@@ -77,10 +77,6 @@ agentaddress unix:/run/snmpd.socket{{ ',' ~ options | join(',') if options is vy
{% endif %}
{% endfor %}
{% endif %}
-{% if comm_config.client is not vyos_defined and comm_config.network is not vyos_defined %}
-{{ comm_config.authorization }}community {{ comm }} -V RESTRICTED
-{{ comm_config.authorization }}community6 {{ comm }} -V RESTRICTED
-{% endif %}
{% endfor %}
{% endif %}
diff --git a/interface-definitions/snmp.xml.in b/interface-definitions/snmp.xml.in
index 10dd828a5..592db7f4e 100644
--- a/interface-definitions/snmp.xml.in
+++ b/interface-definitions/snmp.xml.in
@@ -13,9 +13,9 @@
<properties>
<help>Community name</help>
<constraint>
- <regex>[a-zA-Z0-9\-_!@*#]{1,100}</regex>
+ <regex>[[:alnum:]-_!@*#]{1,100}</regex>
</constraint>
- <constraintErrorMessage>Community string is limited to alphanumerical characters, !, @, * and # with a total lenght of 100</constraintErrorMessage>
+ <constraintErrorMessage>Community string is limited to alphanumerical characters, -, _, !, @, *, and # with a total lenght of 100</constraintErrorMessage>
</properties>
<children>
<leafNode name="authorization">
@@ -65,6 +65,7 @@
</constraint>
<multi/>
</properties>
+ <defaultValue>0.0.0.0/0 ::/0</defaultValue>
</leafNode>
</children>
</tagNode>
diff --git a/src/conf_mode/snmp.py b/src/conf_mode/snmp.py
index ab2ccf99e..1a8434783 100755
--- a/src/conf_mode/snmp.py
+++ b/src/conf_mode/snmp.py
@@ -103,6 +103,9 @@ def get_config(config=None):
if 'community' in snmp:
default_values = defaults(base + ['community'])
+ if 'network' in default_values:
+ # convert multiple default networks to list
+ default_values['network'] = default_values['network'].split()
for community in snmp['community']:
snmp['community'][community] = dict_merge(
default_values, snmp['community'][community])