MIB Views 3.0 Released: New GUI, Platform Changes
MIB Views 3.0 is now available for download.
MIB Views 3.0 is a full rewrite of the GUI from a Tcl/Tk base to a C++ (wxWidgets) base. The new code base should be easier to improve and maintain as the whole application is now C++ (instead of a mix of C++ and Tcl/Tk) and can all be debugged and developed using one set of tools. With the rewrite comes a generally more modern look and feel, as well as several new features that have been on the TODO list quite some time. It does, however, also bring some new platform requirements and dependencies in some cases. Some of these are requirements of wxWidgets, and some are due to retiring old OS versions that are long past their end of life.
Platform Changes:
- Solaris is now supported on the x86_64 architecture, in addition to prior SPARC support.
- Linux, Solaris, and FreeBSD versions of the application now require GTK2+ to be installed on the system (along with its dependencies).
- The minimum officially supported FreeBSD version is now 10 (previously 6.2). It may run on older versions, but can no longer be guaranteed. Prior versions were built/tested on a FreeBSD 6.2 host, and 6.2 has been past EOL for a very long time. The old host will be retired shortly and won’t be available for build/testing going forward.
- The minimum officially supported MacOS X version is now 10.7, and builds will be for Intel architecture only. Apple stopped supporting PPC architecture some time ago, and building MIB Views for both architectures is no longer feasible with support being removed from XCode, etc.
- The minimum officially supported Linux version has also changed. Prior versions were built on Fedora Core 5 (2.6.x kernel) hosts that are also long past EOL and will be retired shortly. The new versions are built on SuSE 11 (kernel 3.0.x) hosts, though the kernel version itself is not so important as dependencies (on the C/C++ standard library and such).
A list of shared library dependencies for Unix platforms is available here. Primarily, these are new GTK+ library dependencies and updated stdc++ library dependencies due to new GCC versions on Linux and Solaris platforms and FreeBSD’s switch from GCC to Clang.
Major Feature Changes:
- Adding MIBs to the application now installs them in a user’s personal data directory rather than in the application itself. Thus different users can have different MIBs loaded and do not require administrator privileges to add or remove MIBs from the application.
- The Walk View and Table View tools now use Get-Bulk under SNMPv2c and v3 for much faster data retrieval than SNMPv1 with Get-Next only.
- The Query tool now provides more powerful VarBind list management tools. You can add, remove, edit, and re-order VarBinds at will instead of having to clear the list to make changes. Value editors are far more type aware, such as being able to select enumerations by name or build BITS strings by enabling/disabling individual bits by name.
- The Table View tool now has row editing capabilities for tables with writable columns, and row creation capabilities for tables with RowStatus and EntryStatus columns. Using the Query View is no longer necessary for row creation and edit operations.
Windows screen shots are available in the updated online copy of the User’s Guide.
MIB Smithy 4.7.4 and MIB Views 2.0.4 Released
MIB Smithy 4.7.4 and MIB Views 2.0.4 are now available for download. These releases fix an issue with the Trap Watch tool’s agent configuration whereby an error would occur when attempting to change the SNMPv3 authentication or privacy protocols. An issue with elements missing from the MIB Smithy version of the tool were also fixed.
MIB Smithy 4.7.3, MIB Smithy SDK 4.6.6, MIB Views 2.0.3 Released
MIB Smithy 4.7.3, MIB Smithy SDK 4.6.6, and MIB Views 2.0.3 are now available for download. These releases include the following changes/fixes:
7065: SNMPv3 “reportable” flag incorrectly set in reports/responses
The “reportable” field in SNMPv3 msgFlags was incorrectly set when sending reports or responses, which would result in inability to handle inform requests with some agents.
8050: Enumeration as textual convention and table index
MIB validation could report false warnings about possible negative values when using an enumerated TEXTUAL-CONVENTION for the SYNTAX of an object used as a table INDEX. It would also fail to report errors in similar circumstances where negative enumerations are actually defined.
6797: Tnm notifier session default port should be 162 [SDK Only]
When creating sessions using [Tnm::snmp notifier], the default target port is now 162 (the normal target port for SNMP notifications) rather than 161 (the normal target port for SNMP requests).
6808: No callback for timed out Tnm requests [SDK Only]
When using the Tnm interface, SNMP requests (other than walk) using callbacks will now invoke the callback when the request times out or fails for some other reason, with appropriate parameters so the callback can detect the condition.
5108: Individual record preview should show comments [MIB Smithy]
When previewing ASN.1 format, a record’s comments property was typically only included in the preview text when previewing a whole module. The record’s comments are now included when previewing the individual record.
8055: Table View: clarification for non-table OIDs in entry [MIB Smithy, MIB Views only]
When a non-table OID is entered in the Table View’s search entry, it will generate a meaningful message to the user informing them so instead of an SDK API error message.
7319: Window -> Close command causes “wrong # args” error [MIB Smithy only]
A “wrong # args” error could occur when selecting the Window -> Close menu command and has been fixed.
6075: Existing MODULE-IDENTITY should select on create request [MIB Smithy only]
When attempting to create a MODULE-IDENTITY when one already exists, and the editor for the existing one is opened, the existing one will be selected instead of creating a new one. Only one MODULE-IDENTITY is allowed/required per module.
MIB Smithy 4.7.1, MIB Smithy SDK 4.6.4, MIB Views 2.0.2 Released
MIB Smithy 4.7.1, MIB Smithy SDK 4.6.4, and MIB Views 2.0.2 are now available for download and provide fixes for several bugs. These are mostly fixes in the SDK, which are incorporated into MIB Smithy and MIB Views as well. Issues/changes applicable only to certain products are noted in [brackets].
Changes in these releases:
6515: Help not displayed when using kfmclient [MIB Smithy, MIB Views only]
A missing openURL argument to kfmclient would prevent online help from showing when using the KDE window manager on Unix platforms.
6470: SNMPv3 messages not being sent with privacy
An error in the fix for #5951 in MIB Smithy SDK 4.6.2, which was intended to prevent sending SNMPv3 messages with privacy but without authentication, could prevent messages from being sent with privacy enabled at all.
6468: High CPU utilization when waiting for responses
Handling of delays and waits for pending SNMP requests has been changed to make much better use of the Tcl event queue and timer callbacks in order to prevent high CPU utilization during such times when it should otherwise be doing nothing.
[SDK NOTE: Asynchronous SNMP requests are now queued for transmission via callback from the event queue rather than being sent before API return. Previously, using the -delay option to delay transmission would result in the API not returning until the delay was finished (up to 5 minutes), even with an async request.]
6516: IPv6 messages not being sent on Windows
SNMP messages were not being sent to IPv6 targets on Windows due to using getsockname() with a structure of insufficient size for IPv6 results on that platform. The call would fail, the SDK would be unable to match the target address family with an available socket, so the message would not be sent.
6548: Receiving SNMPv3 auth/priv traps without Engine ID discovery
If the Engine ID in a received SNMPv3 message doesn’t match the configured or discovered local or remote Engine ID for a session, but the user name matches, the session now localizes keys (if configured) to the message’s Engine ID for purposes of authentication/privacy for that message. This allows SNMPv3 auth/priv traps to be received from any source with the same user name and passwords/unlocalized keys, rather than requiring Engine ID discovery first.
6500: Delayed send not accounted for in time window [SDK Only]
When using the -delay and/or -window options for delayed/limited transmission of SNMPv3 messages, USM processing now happens just prior to actual transmission rather than before delay so the time window reflects the time sent, not the request time. Otherwise, a sufficiently long delay would provoke a usmStatsNotInTimeWindows report from the agent.
6504: Cancel pending requests on configuration change [SDK Only]
An SNMP session’s pending requests are now cancelled when session configuration is changed to prevent sending requests to the incorrect target or with incorrect parameters.
6478: Crash when destroying session during callback [SDK Only]
SNMP session and MIB database instances are now reference counted like all other data so that they are only garbage collected when there are no more references. Previously they were GC’ed immediately when destroyed, which could cause a crash if for some reason they were destroyed in a callback.
UPDATE: Solaris builds were delayed due to hardware failure. Replacement parts arrived on Monday and I was able to get the SPARC machine back online. Solaris builds for the above releases are now available.
MIB Views 2.0.1 Released
MIB Views 2.0.1 is now available for download. This release fixes a potential crash when adding or removing MIBs. It also fixes an issue where the GUI could become stuck displaying an error dialog would keep coming back when dismissed, requiring the application to be killed externally, if a saved agent file was renamed or removed while in use.
Support for saving agents to file was added in 2.0. Normally the GUI will check to see if the file has been modified when the window gets focus (in case it was modified externally) to give the user an opportunity to reload the file. If the file were renamed or removed, the error would occur; then when the error was dismissed, the window would get focus again, and so trigger the error again. MIB Views neglected to check if the file still existed before trying to check its modification time.