summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt5
-rw-r--r--pysnmp/proto/mpmod/rfc2576.py9
2 files changed, 11 insertions, 3 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 2f2097a8..24bc91f3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -108,6 +108,11 @@ Revision 4.2.5rc2
bogus stateReference in some cases what causes SNMP engine crashes.
- Fix to IPv6 transport to zero ZoneID, FlowID and ScopeID components
sometimes coming along with incoming packet.
+- Fix to SNMPv1 MP module to pass stateReference to registered app on
+ unconfirmed notifications reception (to let NotificationReceiver
+ Apps browsing request details).
+ (transport information at the moment) at SNMP engine.
+-
- Asyncsock sockets now configured with SO_REUSEADDR option to fix possible
Windows error 10048.
- Gracefully handle malformed SnmpEngineID at USM coming from SNMPv3 header.
diff --git a/pysnmp/proto/mpmod/rfc2576.py b/pysnmp/proto/mpmod/rfc2576.py
index 5b6f6ceb..d988496c 100644
--- a/pysnmp/proto/mpmod/rfc2576.py
+++ b/pysnmp/proto/mpmod/rfc2576.py
@@ -308,9 +308,6 @@ class SnmpV1MessageProcessingModel(AbstractMessageProcessingModel):
else:
sendPduHandle = None
- # state is only saved for incoming confirmed-type requests
- stateReference = None
-
# no error by default
statusInformation = None
@@ -330,6 +327,8 @@ class SnmpV1MessageProcessingModel(AbstractMessageProcessingModel):
errorIndication = errind.dataMismatch
)
+ stateReference = None
+
# rfc3412: 7.2.12c
smHandler.releaseStateInformation(securityStateReference)
@@ -398,8 +397,12 @@ class SnmpV1MessageProcessingModel(AbstractMessageProcessingModel):
# rfc3412: 7.2.14
if pduType in rfc3411.unconfirmedClassPDUs:
+ # Pass new stateReference to let app browse request details
+ stateReference = self._cache.newStateReference()
+
# This is not specified explicitly in RFC
smHandler.releaseStateInformation(securityStateReference)
+
return ( messageProcessingModel,
securityModel,
securityName,