Home

Blog

MIB Smithy SDK 4.6.1 Released

September 5th, 2013 by Michael Kirkham

MIB Smithy SDK 4.6.1 is now available for download. This release fixes two issues introduced in the earlier 4.6 release.

The first was a bug introduced in the report handling whereby a synchronous SNMPv3 request returned prematurely when a report (e.g. usmStatsUnknownEngineIDs) was returned by the agent and request reissued–the API returned and left things in an inconsistent state with the SDK still waiting for a response to the second request.

The second corrects an oversight in the new support for specifying unlocalized or localized SNMPv3 keys rather than passwords. A little background:

A handy trick for creating a new SNMP session with the same (or slightly different) configuration as an existing session is automatic expansion of a single argument to the $session configure command, with or without an intermediate array. For example, a new session with the same settings but different timeout/retries as another can be created thus:

% array set options [$session1 configure]
% set options(-timeout) 1000
% set options(-retries) 5
% $session2 configure [array get options]

As previously implemented, arguments were processed purely in the order specified, which was fine before because there were no potential conflicts between arguments.. but the new options for [un]localized keys and existing options for passwords interact with each other (set the -authkey property and the -authpass property is cleared because the password is not recoverable from the key), and the result order for [array get options] is undefined (in reality, it depends on the order of hash values for the array keys). [$session1 configure] returns the options in the proper order, but after going through the intermediate array, they could be reordered and give the empty string precedence, and configuration would not match the source configuration.

So, the fix was to implement hard precedence rules for the order that auth/priv protocols, Engine IDs, passwords, and keys are processed from the arguments, ignoring any that aren’t a change from the existing configuration, and applied such that this design pattern works properly again (i.e., independent of the order the arguments are specified, except that if the same option is specified more than once then the last value given for that option is used).

Posted in RSS Announcements, RSS MIB Smithy SDK, RSS snmp

Both comments and pings are currently closed.

No Comments Yet

Sorry, comments for this entry are closed at this time.