summaryrefslogtreecommitdiff
path: root/pysnmp/proto
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2018-08-04 20:24:26 +0200
committerIlya Etingof <etingof@gmail.com>2018-08-06 09:16:50 +0200
commit7b28a4822c3f8daf7a93870a253c044a12f6a0f8 (patch)
treed1f6e6a8cb89b8c60188d7e0259e638cde554ce5 /pysnmp/proto
parent59281af34400e508608234bd66dea08dce818882 (diff)
downloadpysnmp-git-7b28a4822c3f8daf7a93870a253c044a12f6a0f8.tar.gz
Fix crash on wrong SNMPv3 security model
Fixed crash caused by incoming SNMPv3 message requesting SNMPv1/v2c security model
Diffstat (limited to 'pysnmp/proto')
-rw-r--r--pysnmp/proto/mpmod/rfc2576.py2
-rw-r--r--pysnmp/proto/mpmod/rfc3412.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/pysnmp/proto/mpmod/rfc2576.py b/pysnmp/proto/mpmod/rfc2576.py
index 93ded6da..717110d3 100644
--- a/pysnmp/proto/mpmod/rfc2576.py
+++ b/pysnmp/proto/mpmod/rfc2576.py
@@ -271,7 +271,7 @@ class SnmpV1MessageProcessingModel(AbstractMessageProcessingModel):
try:
try:
- smHandler = snmpEngine.securityModels[int(securityModel)]
+ smHandler = snmpEngine.securityModels[securityModel]
except KeyError:
raise error.StatusInformation(
diff --git a/pysnmp/proto/mpmod/rfc3412.py b/pysnmp/proto/mpmod/rfc3412.py
index 5f9268a5..58f3acc0 100644
--- a/pysnmp/proto/mpmod/rfc3412.py
+++ b/pysnmp/proto/mpmod/rfc3412.py
@@ -40,8 +40,11 @@ class HeaderData(univ.Sequence):
namedtype.NamedType('msgMaxSize',
univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(484, 2147483647))),
namedtype.NamedType('msgFlags', univ.OctetString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, 1))),
+ # NOTE (etingof): constrain SNMPv3 message to only USM+ security models
+ # because SNMPv1/v2c seems incompatible in pysnmp implementation, not sure
+ # if it's intended by the SNMP standard at all...
namedtype.NamedType('msgSecurityModel',
- univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 2147483647)))
+ univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(3, 2147483647)))
)