MIB Views 1.9 Released
MIB Views 1.9 is now available for download. The following changes are in this release:
393: Add option to show additional columns in tools
You can now show additional columns in most tools, either through the View menu or by right-clicking on the table header. For example, for the Table View you can opt to show the instance identifiers, which previously only appeared if the index values could not be parsed. For other tools, you can opt to show the OID and module name.
5006: Add format for TimeTicks values
TimeTicks values (such as sysUpTime) are now rendered in “Nd HH:MM:SS.ss” format (days, hours, minutes, seconds, deciseconds) rather than leaving them as an integer value, by default, unless there’s an associated TEXTUAL-CONVENTION with a different DISPLAY-HINT.
5095: Improve handling of MIB ambiguities in SNMP Tools
Several improvements were made in handling of issues with looking up MIB definitions (such as “search string is ambiguous” errors). The Tree View in particular previously would report the ambiguity and not allow further expansion, but now will ignore it and continue, and (for all tools) message dialogs reporting a problem looking up the entered OID will provide more/better details about what the issue is.
4210: Invalid type reference ” setting object with unimported type
An “Invalid type reference ”” error could occur in the SNMP Query tool when setting object with an undefined/unimported type.
3916: When Tcl error occurs, stop button no longer works
In some cases, an error that occurred during an SNMP operation in a tool that caused the tool to cancel the operation would leave other parts of the GUI (such as the stop button) in a state thinking the operation was still in progress. Typically this required having to open a new window to make the tool usable again.
3915: Error: Don’t know how to encode objects of type ‘SEQUENCE’
The SNMP Query tool will no longer allow entering an ASN.1 type (such as SEQUENCE) that is not legal for an accessible OBJECT-TYPE. Doing so would result in a “Don’t know how to encode …” error (which, while correct, would leave the tool in an unusable state).
5046: More reliable methods to get Host IDs on Unix
Another/new method is used to determine Host IDs on FreeBSD, Linux and Mac OS X. This method should be able to see interfaces that are disconnected or unconfigured. In some cases, these were previously not seen, which could be a hassle for multi-homing or laptop use with no active network connection.
MIB Smithy SDK 4.5 Released
MIB Smithy SDK 4.5 is now available for download. This release brings a number of new features, improvements to the Scotty/TNM compatibility wrapper, and bug fixes. The following changes are in this release:
372: Add support for decoding KeyChange values
The [$session usm authKeyChange] and [$session usm privKeyChange] commands now accept a -direction encode|decode argument allowing KeyChange values to be decoded. If unspecified, the default is encode, which was the previous behavior.
273: oidcmp should allow record search specs
The [$db oidcmp] function no longer requires strict OIDs for comparison, but can instead take a normal record search specification, such as SNMPv2-MIB!sysDescr (where previously only sysDescr would be allowed).
5008: Return proper key/value pair on SNMP timeout/cancel
When issuing an SNMP request without a callback, a timeout or cancel would result in “timeout” or “cancelled” being returned as the result, rather than a proper key/value pair like a normal result, which required a check before using the result as a dictionary or list for [array set]. It will now return “-status timeout” or “-status cancelled” as it would with a callback.
5006: Add format for TimeTicks values
The [$db format] command now has a default format for TimeTicks values to render them as “Nd HH:MM:SS.ss” (days, hours, minutes, seconds, deciseconds) rather than leaving them as an integer value. This can be disabled with the -ticksformat option specified either to the format command or configured globally for the database.
5007: Add support for session config aliases
Support for session config aliases has been added both for Scotty/TNM compatibility and natively. Aliases allow defining a named set of options (through the [$session alias] command) that can be assigned to a session by specifying the alias (e.g. [$session configure -alias $aliasname]). Additionally, the native version allows using aliases for overriding session configuration for individual SNMP requests (e.g. [$session next -alias $aliasname 0.0]).
5057: Allow single subid with oidcmp
The [$db oidcmp] function no longer requires a minimum of two subidentifiers in each OID to be compared. Allowing a single subidentifier makes it possible, for example, to check if a given OID is a subtree if iso(1).
5056: Suppress unnecessary lookups with oidcmp
The [$db oidcmp] function will no longer perform a database lookup for a given OID if it is not necessary because all subidentifiers are provided. This allows OIDs to be compared (without error) even if they are unknown or ambiguous due to multiple MIB definitions being loaded for the OID.
5010: Support for send/recv bind events
The [$session bind] command can now take a -send or -recv option to specify a callback to be invoked for all messages sent or received, respectively, including any reports and retries that are otherwise handled transparently at the Tcl level. A -dir key (value “send” or “recv”) is added to the callback arguments to indicate which, in case both are bound to call the same function. Support for the similar feature was added to the Scotty/TNM compatibility wrapper.
5046: More reliable methods to get Host IDs on Unix
Another/new method is used to determine Host IDs on FreeBSD, Linux and Mac OS X. This method should be able to see interfaces that are disconnected or unconfigured. In some cases, these were previously not seen, which could be a hassle for multi-homing or laptop use with no active network connection.
4767: Add environment variable for default MIB search path
The SMITHY_MIB_PATH environment variable can now be set to specify one or more directories that the [$db import] command should search when given a relative path for a MIB file to be imported that can not be found from the current directory (e.g. [$db import -filename “IF-MIB.mib”] would now work from anywhere provided the mibs/IETF directory is in SMITHY_MIB_PATH). Similarly, the $tnm(library)/site and $tnm(library)/mibs directories are now searched by the Scotty/TNM compatibility wrapper’s [mib load] command.
5009: Exceptions reversed in scotty-compat varbinds
The format for SNMPv2/v3 exceptions in varbinds returned by Scotty/TNM compatibility wrapper was using the native format, which uses NULL for the syntax and the exception for the value (e.g. {{2.0 NULL endOfMibView}}), whereas the proper Scotty/TNM format has the exception for syntax and 0 or empty string for value (e.g. {{2.0 endOfMibView 0}}). The wrapper now uses the proper format for proper compatibility. However, since many users may have adapted their code to use the SDK’s exception format but not yet native APIs, the global tnm(tnmexcept) variable can be set to false to continue using the SDK’s exception format and preserve compatibility with their code.
5061: smilib find command should not error with no matches
The [$db find] command will now return an empty list rather than generate an error if no matches are found for the given search specification.
5080: Disallow session binding trap port that’s already in use
The SO_REUSEADDR option will no longer be set on the a session’s trap receiver socket. The intent of adding it (in SDK 4.0) was to allow multiple sessions or processes to each receive traps on the same port, but it doesn’t work that way and behavior was inconsistent between platforms (typically the result was the first one to bind would quietly stop receiving traps when the second binding was made). As with pre-4.0 it will now generate an error if trying to bind to a port that’s already in use.
4806: Warning for tables with only accessible-for-notify columns
It is now a warning rather than an error if at least one column of a table is accessible-for-notify and all others not-accessible, rather than an error as it is for all columns to be not-accessible. There is one IETF standard MIB (RAQMON-RDS-MIB) where this is used, so accessible-for-notify should be sufficient to satisfy RFC2578 section 7.7 requirement that at least one column be accessible.
MIB Smithy 4.5 Released
MIB Smithy 4.5 is now available for download. This release includes feature updates and bug fixes up through MIB Smithy SDK 4.4.3 and MIB Views 1.8.1.
4758: Recursive OID assignments can cause hang
In some cases, two OID assignments that were defined as subnodes of each other could cause an infinite loop during MIB validation. Measures were implemented to fix the cases where this could still occur.
4392: Startup crash when no physical interfaces are detectable
When no ethernet interfaces were detectable, a bad pointer when generating the message about needing a license key (that includes the list of Host IDs) could lead to a crash or corrupted error message at startup.
4393: Windows: Startup crash obtaining Host IDs under Windows 7
A buffer overrun could lead to a crash at startup when using using one of the fallback methods to obtain the list of available Host IDs (particularly, but not necessarily, under Windows 7).
4187: Duplicate sysUpTime or snmpTrapOID in translated v1 traps
The SDK translates received SNMPv1 traps into SNMPv2 format by converting the v1 trap fields into into snmpTrapOID and sysUpTime varbinds. However, if the sending agent included varbinds with these OIDs already (e.g. due to translation by proxy along the way) then multiples of these varbinds could appear. The received varbinds are now discarded in favor of the ones generated by the SDK’s translation.
4799: Trap Watch: Add support for SNMPv3 auth/priv informs
With support for receiving SNMPv3 auth/priv informs added in MIB Smithy SDK, the Trap Watch tool in MIB Smithy now supports these as well. The Trap Settings dialog that comes up to configure the listening port now has addition fields for specifying a user name, auth/priv passwords and protocols, and local snmpEngineID.
4800: Save agent settings for defaults between MIB Smithy sessions
As with MIB Views, MIB Smithy will now save SNMP agent settings (except passwords) so that they are remembered and used for defaults at the next run.
4797: TDomain/TAddress formatting in SNMP tools
Provided the appropriate MIBs are loaded, the various SNMP tools in MIB Smithy will now detect TDomain/TAddress object pairs and format the TAddress value according to the associated TDomain value (e.g. if the TDomain is snmpUDPDomain, then the TAddress will be formatted according to the SnmpUDPAddress DISPLAY-HINT). Previously the TAddress was displayed in hex, as with other unknown OCTET STRINGs.
4798: SNMP Query Tool: Adjustable panel size
The relative size of the Value entry area and the Variable List area of the SNMP Query tool can now be adjusted. At smaller window sizes, the Value entry area could become obscured and unusable, and this is an interim solution. (Longer-term plan is to redesign this tool to be more spread-sheet like, allowing data entry directly in the Variable List.)
1225: Add corner sizegrip to toplevels
The Windows and Unix versions now have size grips in the lower right corner of some windows if they’re resizable. The Mac version already displayed these.
640: Artifacts in Project Tree and MIB Browser
On Unix, expanding and collapsing branches in the Project Tree or MIB Browser could sometimes leave artifacts of what was previously displayed that would remain until the window was resized, forcing a full re-display. This was fixed with a newer version the control they’re built with.
4804: Update bundled MIBs
Bundled IETF MIBs have been updated or added from RFCs 4004 through 6672, and IANA MIBs as of 07/23/2012.
4805: parse error in hyphenated enumeration comments
In a rare corner case (one out of all the MIBs bundled), a multiply-hyphenated word in a comment following the comma after an enumeration value could cause a parse error.
4803: rfc2mib may generate wrong filename
When using the -s option to generate separate module files with rfc2mib tool (for extracting MIB/PIB modules from RFC documents), it could sometimes get confused by comments prior to the module header and use a word from the comment rather than the actual module name for the generated file name.
MIB Smithy SDK 4.4.3 Released
MIB Smithy SDK 4.4.3 is now available for Download. Changes in this release:
4804: Update bundled MIBs
Bundled IETF MIBs have been updated or added from RFCs 4004 through 6672, and IANA MIBs as of 07/23/2012.
4805: parse error in hyphenated enumeration comments
In a rare corner case (one out of all the MIBs bundled), a multiply-hyphenated word in a comment following the comma after an enumeration value could cause a parse error.
4802: Wrong contextEngineID in responses to SNMPv3 informs
The Response PDU returned to an SNMPv3 Inform Request sender was including the local Engine ID for contextEngineID, as with msgAuthoritativeEngineID, instead of the Inform sender’s. The contextName and contextEngineID in the response are now taken from the Inform Request.
4803: rfc2mib.tcl may generate wrong filename
When using the -s option to generate separate module files with rfc2mib tool (for extracting MIB/PIB modules from RFC documents), it could sometimes get confused by comments prior to the module header and use a word from the comment rather than the actual module name for the generated file name.
MIB Views 1.8.1 Released
MIB Views 1.8.1 is now available for download. Changes in this release:
4804: Update bundled MIBs
Bundled IETF MIBs have been updated or added from RFCs 4004 through 6672, and IANA MIBs as of 07/23/2012.
4805: parse error in hyphenated enumeration comments
In a rare corner case (one out of all the MIBs bundled), a multiply-hyphenated word in a comment following the comma after an enumeration value could cause a parse error.
4802: Wrong contextEngineID in responses to SNMPv3 informs
The Response PDU returned to an SNMPv3 Inform Request sender was including the local Engine ID for contextEngineID, as with msgAuthoritativeEngineID, instead of the Inform sender’s. The contextName and contextEngineID in the response are now taken from the Inform Request.