diff --git a/SecureAgentParameters.cs b/SecureAgentParameters.cs index 33e7ac5..1cb9f88 100644 --- a/SecureAgentParameters.cs +++ b/SecureAgentParameters.cs @@ -537,8 +537,10 @@ public void UpdateDiscoveryValues(SnmpPacket packet) _engineTime.Value = pkt.USM.EngineTime; _engineBoots.Value = pkt.USM.EngineBoots; UpdateTimeStamp(); - _contextEngineId.Set(pkt.ScopedPdu.ContextEngineId); - _contextName.Set(pkt.ScopedPdu.ContextName); + if (_contextEngineId.Length == 0) + _contextEngineId.Set(pkt.ScopedPdu.ContextEngineId); + if (_contextName.Length == 0) + _contextName.Set(pkt.ScopedPdu.ContextName); } else throw new SnmpInvalidVersionException("Invalid SNMP version."); diff --git a/UTarget.cs b/UTarget.cs index b23bc85..0fc2589 100644 --- a/UTarget.cs +++ b/UTarget.cs @@ -317,8 +317,10 @@ public void UpdateDiscoveryValues(SnmpPacket packet) _engineTime.Value = pkt.USM.EngineTime; _engineBoots.Value = pkt.USM.EngineBoots; UpdateTimeStamp(); - _contextEngineId.Set(pkt.ScopedPdu.ContextEngineId); - _contextName.Set(pkt.ScopedPdu.ContextName); + if (_contextEngineId.Length == 0) + _contextEngineId.Set(pkt.ScopedPdu.ContextEngineId); + if (_contextName.Length == 0) + _contextName.Set(pkt.ScopedPdu.ContextName); } else throw new SnmpInvalidVersionException("Invalid SNMP version.");