blob: f6c4265495c8ad214917add333edf64b09c0db46 [file] [log] [blame]
This file contains major changes in released revisions. Please read
the ChangeLog file for a more detailed listing of changes/bug fixes.
*** Security Fix ***
- In version 5.3 much of the authorization control was rewritten.
There was a bug in the new code that resulted in granting write
access to read-only users or communities which were configured
using the "rocommunity" or "rouser" snmpd.conf tokens.
fixes this problem. Users are encouraged to immediately update
their installations if they use either of these tokens.
*** Important Notes ***
Several very significant changes have been made in Net-SNMP for this
release that warrant special attention.
- shared library version number no longer matches the release number. We
now follow the versioning scheme recommended by libtool. For the 5.3
release this means that the libraries now have a SONAME ending with
".so.10", e.g.
- snmpd has not been truncating log files at startup, as documented in
the man pages, for a while now. This default behaviour has been restored.
Please use the '-A' flag if you want to continue appending to your log
files at startup.
- snmptrapd will no longer accept all traps by default. It must be
configured with authorized SNMPv1/v2c community strings and/or SNMPv3
users. Non-authorized traps/informs will be dropped.
- Due to a copyright statement that didn't allow modifications,
snmpnetstat has been completely rewritten. The new version now
accepts the same command-line options as the other tools, which
has introduced a number of incompatible changes. However, it
does now finally support SNMPv3.
- new option to disable set support in the agent (--disable-set-support)
- implement notification logging
- implement notification filtering
- AgentX, host resources and disman/event mibs added to default module list
- updated and new disman mib implementations
- allow a non-default AgentX socket
- a brand new authorization scheme that is based on the VACM
authorization scheme from snmpd.
- Note: now drops unauthenticated notifications by default
- registers the snmpEngine MIB group under the "snmptrapd" context
- new helper for ascii file based scalar integers (think Linux /proc/)
- new utilities for dealing with files
- new utilities for parsing text files
- granular config/persistent file disablement (noPersistentLoad and
noPersistentSave snmp.conf tokens)
- mib2c.mfd.conf now generates code for persistence row storage
- many enhancements and bug fixes
- allows to use old and/or new localized key instead of passphrase with
option -Ck
- new option -CE to specify usmUserEngineID (necessary to manage
snmptrapd's usmUserTable)
- new experimental tables
- tcpConnectionTable, tcpListenerTable
- ipAddressPrefixTable
- udpEndpointTable
- ipv4InterfaceTable, ipv6InterfaceTable
- inetCidrRouteTable supports dynamic ipv4 route creation/deletion
- added ipv6IpForwarding.0 and ipv6IpDefaultHopLimit.0 (read-write)
- Cygwin compiler fixes
- MSVC: agent (snmpd) support for pass and pass_persist
- MinGW: agent (snmpd) support for pass
- Fix for 'select: No such file or directory' in snmpdelta
- Persistent files in directory defined by snmp.conf persistentDir were
not being loaded at startup
- Perl getnext didn't honor explicit reference to MIB file
- AgentX sub-agent connection delayed til after config files read
- Build fixes for --disable-agent, --disable-snmpv1 and --disable-snmpv2c
- Lots of bug fixes
For the security paranoid (like Wes):
- Insecure versions of SNMP may be completely disabled at compile time.
(configure using one or both of --disable-snmpv1 --disable-snmpv2c)
- Less secure versions of SNMPv3 authentication and encryption
algorithms may be completely disabled at compile time.
(configure using one or both of --disable-des --disable-md5)
(This requires you have OpenSSL to support SHA1 and AES instead)
- Diffie-Helman key negotiation (perfect-forward-secrecy - RFC2786)
has been implemented in both the agent and "snmpusm".
- Better support for direct use of localized and master keys
(randomly generated keys have more entropy than passwords). See
the -3m -3M -3k and -3K options, and the defAuthLocalizedKey,
defPrivLocalizedKey, defAuthMasterKey, defPrivMasterKey
snmp.conf tokens)
- send and receive buffer sizes for UDP/TCP are configurable
- .conf file token registration can now search multiple files
(separate file names to search by a :. IE, "snmpd:agentx")
- Embedded perl support for trap handlers (much faster than traphandles).
(configure --with-embedded-perl ; see 'perldoc NetSNMP::TrapReceiver')
- the snmptrapd usmUser table can be controlled through SNMP & AgentX
(the snmptrapd registers MIBs under the "snmptrapd" SNMPv3 context)
- community strings can be mapped to individual SNMPv3 contexts
(see the snmpd.conf manual on "com2sec").
- AgentX should work properly with SNMPv3 contexts now.
- improved version of "exec" extension directive - "extend":
supports multi-line output, configurable command input, SET
handling, a valid relocatable MIB output structure, etc
- more flexibility added to netsnmp_cache helper, including periodic
refreshing of caches and cache pre-loading.
- experimental implementation of DisMan Remote Operations MIB groups
(remote nslookup, ping, traceroute and expressions via SNMP)
- The proxy supports a new -Cc flag which passes the community
name through to the other side rather than hard-coding it.
- The config_require() and other modules can now be placed
inside of CPP directievs (#if, /* ... */) as header files are
now passed through CPP processing first.
- new config_exclude() macro for excluding certain modules
- new config_belongs_in() macro to specify if a chunk of code
found by --with-mib-modules belongs in the agent library or
the mib module library.
- Uses a smaller function stack.
- snmpusm: A number of key-change improvements
(EG, changing localized keys supported, diffie-helman support, ...)
- New -Ln option to completely disable logging.
- a number of new or updated configuration templates:
- mib2c.iterate.conf: the iterator-based table config
now produces fuller template code than before.
- mib2c.table_data.conf and mib2c.container.conf:
two new "internal-row" style configs
- mib2c.mfd.conf: "MIBs for Dummies" (or MFD) - intended to
reduce the SNMP knowledge needed to develop MIB modules
and add flexibility at the same time. Run "mib2c -S
mfd_interactive_setup=1 -c mib2c.mfd.conf OID" and follow
its guided instructions to help you tailor its results to
meet your needs.
- mib2c.genhtml.conf: Generates an easier-to-read HTML view of
a MIB tree structure. (See
for example output.)
- more node tags available for conf file writers
- additional search directories may be set via MIB2C_DIRS env var.
- mib2c-update: new utility to help update mib2c generated code
when conf file changes.
- a mib2c.conf manual page to describe how to write mib2c .conf files.
- support for embedded perl code in mib2c.conf files
- New README.agent-mibs: an attempt to start documenting what
MIBs are implemented in the agent and on what architectures.
- An improved SNMP::gettable() method. Uses GETBULK if possible and
better GETNEXT requests if not, decodes indexes from OIDs,
requests multiple variables at once, ... ("perldoc SNMP" for details)
- A NetSNMP::OID::get_indexes() function to extract index values
from an OID.
- new experimental tables/rewrites for Linux, including:
ifTable, ifXTable, inetCidrRouteTable, ipCidrRouteTable,
ipAddressTable, ipSystemStatsTable, ipNetToPhysicalTable.
- Enable these talbles by specifying --enable-mfd-rewrites to configure.
- Most of these tables have IPv6 support as well.
- ifIndex no longer changes when interfaces are added/removed, and all
tables/object wiil now use the same ifIndex for the same interface.
- new experimental support for ucd-snmp/lmSensors MIB module
- Support for the MinGW compiler
- Support for snmptrapd running as a service
- A Win32 specific build and install script
- Support for a .exe installer
(we'll make binaries available using it)
- AgentX memory leak on sets
- SNMPv3 not-in-time window after 248 days
- Agent hang in HOST-RESOURCES MIB
- double free on duplicate registration
- OIDs with IP Addresses as indexes now print prettier
-'Lazy' installation of headers (only install if newer)
- allow whitespace in rocommunity/rwcommunity
- many miscellaneous bug reports
- Minor improvements to snmpdelta (error reporting)
- Minor improvements to snmpnetstat (IPv6 output)
- Misc 64bit processor fixes.
- Misc perl build and install fixes.
- Linux 2.6 improvements
- Win32 Suport for TCP and UDP over IPv6 via Winsock version 2
- Win32 fixes in many places.
- Win32 service support for snmptrapd
- Win32 support for snmpconf
- test suite supports testing over other transports (tcp, udp6, unix, ...)
(see the -P switch to the testing/RUNTESTS script)
- Solaris supports the use of it's PKCS#11 library for supporting
cryptographic functions (OpenSSL isn't required if PKCS#11 is available)
(see configure's --with-pkcs flag)
- Improvements on 64 bit architectures.
- A few minor memory leaks fixed.
- An extremely large number of minor bug fixes.
- Many perl module specific bug fixes.
- snmpd will safely handle more signals.
- Many many significant Windows improvements.
- AgentX support is working again under windows.
- SCM support is built into the agent to allow the agent to be
started as a windows service.
- MSDOS names are supported in path names.
- A win32 build script in win32/
- Support for the MinGW compiler
- (see the README.win32 file for details on new ports)
- Various helpful win32/*.bat files for installation, etc.
- Some linux 2.6 support improvements
- configure is now generated using autoconf 2.57.
- The make system now supports "make uninstall"
- configure & make supports a --with-install-prefix option
- new configure options to disable building of the agent, apps, ...
./configure --help for a list of package sections that can be excluded.
- new configure option to remove specific code pieces (mib reading, ...)
./configure --help for a list of code areas that can be excluded.
- linkUp and linkDown notifications can be enabled
(see the linkUpDownNotifications snmpd.conf token documentation)
- notifications (traps) can be generated for disman/monitor events.
(see the snmpd.conf documentation on "monitor" and "notificatonEvent")
- new snmpd.conf tokens: includeAllDisks
- the UCD-DISKIO-MIB will now work on linux.
- com2sec mappings for SNMP over unix sockets.
- some speed improvements have been made that should increase the
speed of the agent's processing time.
- for mib code using the table iterator, an auto-caching mechanism
which can greatly speed up access at the cost of caching.
(see "stash_cache" in the injectHandler token docs in snmpd.conf(5))
- Some of the agent modules were completely rewritten (and
should be faster and cleaner).
- A number of new APIs and helper modules are available, but
there is no major summary to easily list.
- A number of new Net-SNMP specific MIBs now exist.
- snmptrapd now supports forwarding of notifications.
(see the snmptrapd.conf manual for details)
- snmptrapd's new -t switch can be used to disable syslog.
(useful for a no-output snmptrapd with only traphandle support)
- snmptable sports 3 new options: fixed width, max-repeaters,
left-justify. (see snmptable -h for details)
- mib2c walks you through instructions to help you generate code
"just for you". Including some new forms of output code, like
notification code generation. Run mib2c SOMETHING for details.
- mib2c has about a billion other improvements, including the
ability to generate trap generation code templates.
- snmpwalk supports a new -Ct option for timing how long a walk takes.
- net-snmp-config supports a number of new options.
- All applications support a consistent -L flag for turning on
which forms of output logging should be used.
- the SNMP module supports a new get_table() call.
- More patches to properly demonize snmpd (close std*, double fork, ...).
- Version numbers of all packages/perl-modules/etc are better synchronized.
- more documentation, especially for APIs
- all perl module version numbers are synchronized with the
net-snmp package.
- Many many misc bug fixes, as always.
- diskio MIB support for Darwin.
- ifSpeed under Linux should now be correct for most network cards.
- more windows build fixes
- An existing user/community could get access to data in MIB
objects that were explicitly excluded from their view.
- Perl build environment should better under Windows
- Misc kerberos support fixes.
- Improvements on various manual pages.
- A annoying bug with SETs being passed to pass scripts was fixed.
- The often talked about VACM optimization improvement was fixed again.
- mib2c handles augmentation tables better now.
- Various 64 bit issues have been addressed.
- No new features will be added to the 5.0.x line.
- Update libtool to version 1.4.3, for the benefit of Darwin
- diskio support for Darwin
- Updates for OpenBSD 3.
- Updates to solaris README
- find libwrap w/nsl on RedHat
- fix for openssl 0.9.7
- Fix some AgentX memory leaks
- use macro for inline function prototypes
- Attempt to find unused port before running tests
- Use SNMP_SLEEP environment variable when running tests
- calculate a proper ifSpeed under linux when possible
- better daemonization of snmpd
- close and reopen snmptrapd log files on HUP
- support for 16 bit reuqest ids
- Recognize new 't' code in display hints
- misc other fixes
- VACM (access control) optimizations which will greatly benefit
people who wish to exclude large portions of the MIB tree from
some people. Previously this was a large resource drain.
- Add command line option to snmpd to set syslog facility
- Reverse DISPLAY-HINT processing, i.e. it allows you to input data
formatted like a DISPLAY-HINT prescribes
- Support setting of sysDescr and sysObjectID via snmpd.conf
configuration directives
- New output option to force display of strings as hex
- Persistent directory can be specified at runtime
- Add support for Linux virtual interfaces in the ipAddressTable.
- implemented the mteEventTable and the mteEventNotificationTable
- AgentX no longer flagged as experimental
- A few memory leak fixes for the table_iterator agent API.
- Processed flag cleared before each pass of a set request
- Remove snmpd pid file on exit
- Restore default behaviour of building shared libraries
- misc other fixes
- prevent denial of service attack from authenticated users
(really this time).
- misc other fixes
- Support for OpenSSL 0.9.7
- Beginning of support for AES encryption.
( Currently only usable with Net-SNMP and OpenSNMP software. )
- win32 new project files win32sdk.dsw for those with the win32
platform sdk.
- win32 builds should work properly again, minus callbacks and thus
- Several AgentX (the subagent protocol) specific bugs have been fixed
- prevent denial of service attack from authenticated users
- many many misc fixes
- The perl agent module plugin should now work.
- Many other perl module related fixes.
- net-snmp-config --ldflags properly supplies -L flags
- misc make test fixes and improvements.
During the testing for release 5.0.4, a release candidate was uploaded
to Sourceforge and marked as hidden. For variouse reasons, the release
was delayed and further changes and fixes were made. However, the
release candidate files still appeared on the public FTP server and our
mirrors. To avoid the confusion that could occur to users who may have
downloaded this release candidate, we are bumping the revision number
to 5.0.5. If you downloaded net-snmp-5.0.4.tar.gz, please upgrade
to net-snmp-5.0.5.tar.gz.
- the "dist" directory contains the beginnings of some init
scripts and packaging utilities.
- win32 builds should work properly again.
- the 5.0.2 package had a few broken packaging problems. Opps.
- a few misc fixes.
- the perl modules should work with older versions of perl again.
- mib2c support for the old-4.X style api and for scalars.
- many improvements to the netsh shell environment.
- tcpwrappers support should work significantly better.
- NFS file systems are better supported in the hrStorageTable
- the memory reporting no longer accidentally reports -1 integers
- a few memory leaks fixed in the table_iterator API
- fixes for Sun's "make"
- ds_ prefix name-space protection (-> netsnmp_ds_)
(run configure with --enable-ucd-compatibility for old API)
- v1/v2c access control fixes for ipv6 addresses
- many many misc fixes
- The perl modules have a number of fixes, and the build process
was fixed (again).
- all make test suites should pass for people now.
(there are still some known minor limitations, but we removed the tests)
- A new flag: -OQ which does quick printing (-Oq), but with an '=' sign.
- All output should now have type tags in front of them.
(STRING: and INTEGER: were added)
- the snmplib/mib.c file has been instrumented with doxygen comments.
- two new mib2c configuration files for generating column and enum defines.
- a agent coding example: agent/mibgroup/examples/notification.c
- the SNMP perl module properly uses snmp.conf values as defaults.
- --with-perl should work this time.
- more embedded perl support, but it still isn't complete yet.
(the NetSNMP::OID module has received many new features)
- added vmstat and memory support for hpux11
- other misc improvements for hpux11
- the agent should properly handle requests in the right order.
(e.g., restrict the agent to processing only one SET at a time)
- net-snmp-config --compile-subagent has been greatly improved.
- the tools should report the right version number.
- large /proc/stat files on linux shouldn't crash the agent.
- the smux module should handle multiple registrations better.
- various documentation clean ups.
- 64 bit address clean ups.
- misc other bug fixes.
- Much of the agent internals were completely rewritten and sports
a new module API to make your life easier. See the
agent/mibgroup/examples directory for example code that makes
use of some of the new functionality.
(Also see which has
some incomplete documentation)
- The agent sports embedded perl, see the perl details further below.
- The agent supports multiple SNMPv3 contexts and mib modules can
now register themselves under different contexts. (see the -n
option in the snmpcmd manual page for details on specifying
context strings in requests)
- The proxy code has been completely rewritten and now supports
the use of SNMPv3 contexts to help select which proxied host you
wish to talk to. See the snmpd.conf manual page.
- All the tools take --configToken=value options now. (see -H
output from any command for what configTokens it accepts)
- All the tools can speak over many different transport layers
now, including UDP/TCP (ipv4 and ipv6), AAL5pvc, and IPX. See
./configure --help for details on enabling them.
Note: the -p and -T flags to all the applications have been
removed. Use hostname strings like "tcp:localhost:9999"
instead. See the snmpcmd manual page for details.
- snmptrapd now acts as an agentx subagent and implements portions
of the NOTIFICATION-LOG-MIB to allow captured traps and informs
to be queried.
- A "net-snmp-config" script will get installed which can report
how the various tools were built (which libraries they were
linked against, etc). It will also help you do other things as
well, like setting up snmpv3. Run net-snmp-config --help for details.
- kerberos authenticated and encrypted SNMPv3 is now possible.
See ./configure --help for details on enabling the ksm security module.
- The AgentX subagent protocol implementation has many new
features and fixes.
- mib2c was completely rewritten and has a much improved
configuration file specification.
- Much of the code is getting documented with "doxygen" style
documentation. Run "make docs" if you have doxygen installed.
- some RMON support is available.
(See agent/mibgroup/Rmon/README for details.)
- The source tree has been reorganized and all the exported header
files are now in the include subdirectory. You can now point to
the includes easily without having to run "make install" first.
- the agent now requires a configuration file to access any information.
- The entire code base has had indent run on it to effect a
consistent coding style. See the CodingStyle file for details.
- The SNMP perl module now calls init_snmp() like real net-snmp
applications, which means it will read snmp.conf configuration
files, etc.
- new perl specific configure options --with-perl-modules &
--enable-embedded-perl. See ./configure --help for details.
- The beginnings of some new Perl modules (alpha level quality)
are in the perl directory, including:
- NetSNMP::agent which allows perl scripts to become net-snmp
master or subagents
- AnyData::SNMP is available that implements a perl DBI
interface to map SQL commands to SNMP. Included is a "netsh"
shell where SQL commands can be typed, aliases created, etc.
See the perl/AnyData_SNMP/INSTALL file for details.
- Beginning (alpha level quality) support for embedding perl
subroutines directly within the net-snmp agent.
Big fixes:
- Fixes to the Tunnel mib.
- Deprecated the non-raw objects in the system stats MIB portion.
- Testing harness fixes.
- Network file system improvements fro the hrStorageTable.
- fixed snmptable.
- fixed the memory table (again) locking to 2^31 in value.
- Misc documentation fixes and clean-ups.
- Many other misc fixes.
Bug fixes:
- The perl module actually works. Sorry about that.
- don't overwrite the PID of an already-running snmpd with the PID
of an abortive snmpd.
- a 64 bit architecture socket fix
- smux authentication fixed for multiple connected sessions.
- dynamic module support testing in the configure
- memory values > 32bits are now reported as a maxed out 32bit number
- badCommunityNames and badCommunityUses Counters supported.
- tcp_wrappers support for snmptrapd.
Bug fixes:
- A security issue involving the snmpnetstat command accepting
illegal data from a faked snmp server.
- RPM library support fixes.
- shared libraries built by default.
- many bug fixes for conformance of target, notification, and vacm tables
- many other fixes.
- HPUX 11
- Dynix/PTX 4.4
- The snmpd demon can properly run as a windows service
- sysLocation, sysContact, sysName and snmpEnableAuthenTraps are
persistent after being set remotely.
- New "ignoredisk" directive to ignore disks in the host resources mib.
Bug Fixes:
- The ifTable on Linux no longer reports duplicate interfaces.
- perl scripts print better error messages if needed modules
aren't available.
- trap sinks aren't duplicated after a SIGHUP.
- misc other fixes.
- improved irix support.
- more mibII support for windows.
Security Bug Fixes:
- A few security bugs have been found and fixed. No known exploits
have been released to date. However, users are encouraged to
upgrade to the 4.2.2 release as soon as possible.
Bug fixes:
- many misc bug fixes.
- misc documentation corrections.
- updated libtool to 1.4. This fixes a couple of platforms (eg, NetBSD).
- mibII support for win32
- It should compile and work on MacOS X (Darwin)
- udpTable supported on solaris.
- win32 borland compiler supported (see win32/config.h.borland)
- tkmib supports SETs and saving of configuration data.
- snmpwalk detects out of order OIDs being returned from an agent.
- snmpset accepts the '=' sign for a datatype if the mib is
available to extract the datatype from instead.
- The web site and domain name is now active.
- Copyright statement for changes beyond 4.2 is now a true BSD license.
(see the COPYING file for details)
Major Bug fixes:
- AgentX master agent no longer crashes when a subagent disconnects.
- counter64 encoding fixed.
- oids with large numbers embedded in them should work properly (again).
- Fixed behavior of agent_check_and_process() and alarms.
- mib2c handles more variable types.
- traps/informs are sent properly from agentx subagents.
- many many more bug fixes have gone into this release.
- The snmpconf configuration file editor can create snmptrapd.conf files.
- AgentX support is compiled in by default, but must be configured now.
(Add "master on" to your snmpd.conf file to enable agentx support)
- project services moved to
- Packets sequences are now shorter when possible, reducing packet sizes.
- A new configuration file creation tool: snmpconf.
(try snmpconf -g basic_setup)
- A new command to remotely list disk space: snmpdf.
- the agent VACM tables are now writable.
- a new snmpvacm tool can be used to change the running vacm configuration.
- dynamicly loadable mib module support for the agent.
(see snmpd.conf on the dlmod directive)
- minimal proxy support for snmpd
(see snmpd.conf on the proxy directive)
- libtool is now used to compile the package (better shared-library support)
- the agent now supports the SNMP-NOTIFICATION-MIB.
(enabled by default).
- the agent can set trapsink using snmpcmd command line style parameters
(see the trapsess section of the snmpd.conf manual page)
- index matching in oids has been improved
(see the snmpcmd manual page on -Ox, -OE, and -Ob).
- snmptrapd has new formating directives.
(see the snmptrapd manual page on format1 and format2).
- the agent can listen to multiple ports.
- the agent can be restricted to listening on only certain interfaces.
- the agent can be told at run time which mib modules (not) to initialize.
(see the -I option in the snmpd.conf manual page)
- the agent can run as a particular user.
- snmptable takes a -Ci argument to show table indices.
- snmptable uses GETBULK requests when it can (unless -CB is specified).
- The "make test" suite contains a lot of new tests.
- cross-compiling support.
- snmpset checks types and range values for legality.
- Significant improvements to the AgentX support.
(Code is still beta, but probably safe for use on non-critical systems).
- bulkwalk functionality for the SNMP perl module.
- entirely numeric OID support.
- support for best guess mode for OIDs.
- range and default value access added.
- build can now be targeted against a non-standard net-snmp install path.
- v3 traps/informs handled properly now.
- Many more misc bug fixes.
- snmpv3 engineIDs not IP address specific.
- Host resources fixes for FreeBSD and NetBSD
- ucd-snmp memory/vmstat fixes for FreeBSD-3
- configure --enable-ipv6 fixes
- AIX fix (use knlist)
- fix init_master_agent calling exit
- bad free in subagent.c
- dont let a agentx subagent be a smux master
- ucd-snmp/loadave fix for AIX
- fix doing a set on a pass variable
- snmptable fixes
- snmpnetstat fixes for v2c exceptions
- man page fixes
- Some UnixWare 5 configuration support
- configure --enable-mini-agent --without-openssl
- snmptrapd -n
- snmp_log callbacks
- noTokenWarnings and noRangeCheck in snmp.conf
- using a counter type in snmpset/snmptrap
- Better agent handling of unauthorized requests.
- Better "make test" support.
- Misc bug fixes.
- Many new command line flags have been added for input/output flexibility.
(see the snmpcmd(1) manual page on the -O flag and -I flag)
- The tools support regex matching of oids on the command line.
(see the snmpcmd(1) manual page on the -Ib option)
- A ucd-snmp usage tutorial has been placed on the main web page.
- snmptable is much smarter and handles sparse tables better.
- tkmib supports snmpv3.
- New agent libraries to embed SNMP and AgentX agents into other programs.
(see the snmp_agent_api(3) manual page and the tutorial)
- SNMP over TCP is supported.
(-T TCP on the command lines)
- OpenSSL has replaced KMT for SHA authentication and DES encryption.
(Get OpenSSL from
- Some easier-to-use access-control snmpd.conf directives for simple setups.
(see the snmpd.conf(5) manual page)
- Easier setup of SNMPv3 support for the agent.
(see the README.snmpv3 file).
- Command line argument parsing has been reworked for getopt() use.
(currently backwards compatible; see the snmpcmd(1) manual page)
- Table rows with embedded strings are dealt with for both input and output.
(see the snmpcmd(1) manual on the -Ob flag)
- Many more snmp.conf directives supported.
(see the snmp.conf(5) manual page)
- Many AgentX improvements.
- All of our distributed mibs have been updated to be SMIv2 compliant.
- Trap support in the agent has been cleaned up and an API created.
- Joe Marzot's perl module is now included with the ucd-snmp source.
(this should help people trying to synchronize the two packages)
- SMUX support has been reintegrated into the agent in a better way.
- Many many others.
- defVersion in snmp.conf supported.
- An option was accidentally turned on by default that shouldn't have been.
- misc minor fixes.
- SNMPv3 protocol support!!!
(See the README.snmpv3, snmpusm(1), snmp.conf(5), snmpd.conf(5))
- historic v2party support removed.
- complete re-write of the agent.
- The extensible AgentX protocol is in alpha-test mode.
(to use, compile with the mib-module "agentx" or
"agentx/master" or "agentx/client").
- syslog support for the agent (and everything else for that matter).
- Per-process/per-exec-script based fix scripts implemented.
(see snmpd.conf(5) for details)
- many more config file options supported.
(run any command with -H and see appropriate .conf manual pages)
- The start of a "make test" suite.
- many other things we've forgotten.
- code is ANSI C now, and requires a ANSI C compiler.
API Changes:
- A small change to the write functions in mib modules.
(data passed in has already be BER-decoded and is a pointer to a
variable of the correct type).
- The config_load_mib mib-module .h file directive is now
obsolete. Use REGISTER_MIB inside your init function instead.
- An important multi-session bug fix, especially needed for the
SNMP perl module.
- Many minor bug fixes.
- Minor last second fixes mostly.
- All of the services for ucd-snmp have moved from the sites in to, including http, ftp,
and the mailing lists.
- The configure --help output has been greatly improved for better
readability and has been broken into sections.
- The agent's SMUX support has been greatly improved and should
function with applications other than gated now.
- The snmptrapd has been make extensible so you can call other
programs and scripts when a trap has been received.
(see snmptrapd.conf(5))
- More configuration files have been created and can be used to
specify defaults and configuration information to the various
applications. Run each command with -H to see what it understands.
(see snmp_config(5), snmpd.conf(5), snmp.conf(5), snmptrapd.conf(5))
- The configuration file parser looks in ~/.snmp by default as
well, allowing each user to have his/her own setup files for the
various applications.
- The mib parser supports a variety of options dictating how
strictly it parses mib files.
(see snmpcmd.1 on "-P")
- Debugging output with the -D flag now accepts a list of
debugging information types to print.
(see snmpcmd.1 on "-D")
- Minimal multi-thread support using a modified version of the
session API.
(see snmp_sess_api(3))
- persistent storage of information is possible from the agent's
mib modules now.
(see read_config(3))
- The target mib has been implemented as an optional module.
- More documentation has been written.
- The recommended mib module API has changed slightly, but is
backwards compatible as well. See the AGENT.txt file for new
documentation on how to write mib modules for the agent.
- many misc bug fixes, as always.
- snmpnetstat has been ported to the win32 enviornment.
- Bug fixes, including row creation sets to mib modules should work again.
- very small last minute bug fixes for win32 and freebsd mostly.
- Many bug fixes submitted by users and the ucd-snmp-coders.
- v2party support in the agent has been fixed.
- The UCD-SNMP-MIB is SMICng compliant and should work under HP OV better.
- Most sections of the mibII tree are 64bit clean.
- Simplification.
- agent/mibgroup directory reorganized hierarchically.
- this may break the agent compilation with some compilers.
- floats, doubles, counter64s, int64s, uint64s support via opaque types.
- new modules: misc/ipfwacc.
- use of dynamicly loadable modules now possible, but not fully supported.
- New application command line flags: -s, -S, -m MIBS, -M MIBDIRS.
- new configure options: --with-cc=CC and --with-cflags=CFLAGS
- Solaris core dumps.
- Fixes for NetBSD 1.3.
- The apps work again on 64bit machines.
- misc other bug fixes.
- host resources module should work on more platforms: NetBSD,
FreeBSD, SunOS (almost).
- the UCD-SNMP specific mib structure changed.
- many of the table oids have changed location and have been renamed.
- the View Based Access Control module was implemented in the agent.
Therefore, the "community" snmpd.conf parameter no longer
exists. See the snmpd.conf file for how to control access via
community names now.
- The header file #defines have changed. You may have to compile
third party applications with -DCMU_COMPATIBLE (like perl-SNMP <= V1.7).
- The parser is more strict about unlinked OIDs and end-of-comment
conditions. You may see problems in a few broken mibs that used
to parse ok with the older parser.
- dynamic library support: configure with --enable-shared.
- the beginnings of a Perl/Tk/SNMP mib browser: tkmib
- all applications support -R for random oid-name lookups.
- default mib list changes when you add or remove agent mib-groups.
- debugging in the agent can be turned on and off using snmpsets.
- a new mib module displays a list of all loaded mib modules.
- the internal structure of the agent's mib modules is now hierarchical.
- the agent looks for .conf files in both the lib/ and share/ directories.
- more improvements/options to snmptable.
- new vmstat module to report vmstat related information under linux.
- a perl based mib2c translator to convert mib sections to C code templates.
- The code was run through purify for memory leaks and a few were found.
- snmptrap sends to the correct default port of 162 again.
- irix 6.2 support improved.
- openbsd.
- the host resources mib compiles on Solaris.
- "make install" installs the library and header files.
- compilation on many architectures (sunos for example).
- snmptrapd doesn't exit if v2party files don't exist.
- host resources works a bit better (ie, it compiles) under solaris.
Path changes:
- the default paths to the installed mibs and snmpd.conf file have
changed to /usr/local/share/snmp (set differently using --datadir).
- the default path of the snmpd and snmptrapd have changed to
/usr/local/sbin (set differently using --sbindir).
- basic SNMPV2c support.
- Not fully tested (feedback please!), and not RFC compliant.
- all apps require '-v 2c' for v2c and '-v 2p' for the older party code.
- basic host-resources mib support for linux, and hpux.
- All environment variables can be set with a preceding '+' for
indicating additions to the default values.
- mib modules cleaned up more and can be added and removed more easily.
- mib modules have a new macro for callbacks when reading a .conf file.
- apps command line interfaces have merged together for standardization.
- the libsnmp library no longer forces printing of errors.
- 2 new applications: snmpdelta and snmptable.
- the mib parser caches mib directory scans for speed improvements.
- snmptrapd is snmp-version multi-lingual.
- irix should be more complete.
- aix 4.1.5.
- fixes for hpux 10.20.
- linux 2.1.x support.
- library and apps supported under 32bit windows systems.
- too numerous to mention.
- Top level of the mib parser has been restructured
- no longer reads 'mib.txt'
- no longer reads everything (MIBS/MIBDIRS)
- reads import clauses to load other required modules
- new man page: mib_api.3
- The agent has been completely restructured (modularized) to
allow for easier extension via C code and requires no
modification of the ucd-snmp distributed source code to add in
new C coded mib modules. See the README file in the
agent/mibgroup subdirectory for details. Modules are added and/or
removed via configure options.
- agent can send traps to multiple trap destinations.
- configure can be run outside the default source directory.
- Optional modules: SMUX support to talk with a running gated.
- All configure prompted questions can be set on the command line instead.
- Memory leaks.
- code is now prototyped and many related bugs have been found.
(an ANSI compiler is still optional.)
- Many others.
- linux-2.*
- mips-sgi-irix6.3 (agent needs 2 mib-modules removed still)
- FAQ file!
- bug-report script!
- Agent can read .conf files from more places:
- SNMPCONFPATH enviornment variable.
- command line options: -c FILE and -C.
- Agent can send coldstart and authentication traps.
- All requests/patches/questions should go to
- snmp variables mib implemented.
- more udp, ip, ipNetToMedia tables implemented.
- Memory leaks.
- Many other system specific fixes.
- configure script updated to autoconf 2.12.
- Very ancient tk/tcl code.
- extensible mib moved to ucdavis enterprise mib: .
- PORTING file added.
- new configure switch: --without-root-access.
- BSDi, and possibly irix, and linux is not too far off.
- massive improvements for netbsd, freebsd, hpux.
- Massive parser improvements. (Niels Baggesen <>)
- configure script upgraded to autoconf 2.11.
- init_mib() now reads all files in PREFIX/lib/snmp/mibs as mibs.
- sysContact and sysLocation settable in snmpd.conf.
- TC information retained (from Joe Marzot).
- snmpset on a pass script works now.
- pass scripts more throughly tested and debugged.
- community 5 can be set now.
- Many others.
- FreeBSD 2.?
- snmptrap greatly improved! (Niels Baggesen <>)
- other small stuff.
- default logfile location moved to /var/log if exists, else /usr/adm.
- snmptrap man page. (Niels Baggesen <>)
- Pass thru extensibility added!
- snmpnetstat greatly improved (Niels Baggesen <>)
- improved solaris info caching (Dan A. Dickey <>)
Bug fixes:
- many fixes for solaris (Niels Baggesen <>
and "Dan A. Dickey" <>)
- greatly reduced memory usage by mib parser (Niels Baggesen)
- disk checks fixed for solaris and osf.
- improved Mib parsing from Mike Perik <>
- IMPORTS definition no longer required.
- SIZE syntax fixed.
- sedscript compiles correctly with Solaris's spro compiler.
- many more small ones.
- Upgraded to autoconf-2.10
Major solaris patches from Niels Baggesen <>. Thanks!
Other misc patches
Bug fixes.
- Two new operating systems supported: hppa1.1-hp-hpux10.01, *-netbsd1.1
- Two new ./configure options:
--enable-debugging: includes nlist and other warnings in log-file output.
--with-defaults: Assumes you want the defaults for all user prompts.
Bug fixes:
- make clean in man/ works.
- Fixed the mib.txt capitalization problem.
- Fixed a gcc cpp problem (added -x c to the command line options).
- Added NULL to the second gettimeofday argument.
- Upgraded to autoconf-2.9
- snmpcheck upgraded to perl5.002 and Tk-b10
- totally re-did the routing tables (required by hpux10.01).
- snmpV1 community names can be set in the configuration files now!
- new app: apps/snmptrap, as requested by many, many people.
- New man page (rough still): snmpd.conf.5.
- Returns new values for system.sysObjectID for each supported OS.
- Better OpenView support for changing the icons & etc. See ov/README.
Bug fixes.
- -p PORT -l LOGFILE now work as advertised.
- printed values of timeticks are no longer negative.
- Correctly finds the Solaris 2.5 kernel.
- the restart-agent mib entry now sets an 1 second alarm to
restart so it can return a proper snmp response first.
- Truncates existing logfiles.
- nlist warnings removed.
- more... (see the ChangeLog)
Bug fixes:
- 'make' should not call 'autoconf' and associates anymore.
- Fixed sun4 exit codes. Really.
- Changed config.h a bit to fix the mib.txt file's errors when
some mibs were not defined for usage.
- Updated configure to autoconf 2.7
Mainly a bug fix release:
- fixed another 32/64 bit problem: returned exit codes on alphas
were incorrect.
- many system errors (e.g., no mem) were causing the agent to
return error flags when it really was clueless.
- found a memory leak in the CMU routing table implementation.
- More configure cleanups, mostly for Solaris.
- snmp_open calls getservbyname only once now, at the request of Gary
Hayward <>. Mainly for Perl users.
New example file: EXAMPLE.conf file (created at build time).
local/snmpcheck has drastically improved, and now requires Tk-b8.
You can now mung with all sorts of numbers in config.h and the
mib.txt file will be mostly built from it if you change my defaults.
*** default location for .conf and mib.txt files moved to
.configure's --prefix location
Now using GNU's auto-conf for better portability
- prompts for important config.h information as well
Port to Sun4/Solaris 2.4
-h/--help and -v/--version flags added to snmpd
Compilation bug fix
Port to dec-alpha/OSF 3.1
- quite a few more CMU bugs found during port.
(docs/snmpd.1) Beginnings of documentation/man pages.
(local/snmpcheck) Many changes/improvements. Still very (usable) Beta.
(NEWS) Added this file!
2 Command line options added:
-l LOGFILE Outputs stderr/out to LOGFILE (overrides config.h def)
-L Do NOT write to a log file (overrides config.h)
New built in mib functions:
-- set to 'integer:1' to tell the agent to re-read the config file(s).
-- set to 'integer:1' to tell the agent to restart (exec and quits)
Bug fixes/more CMU clean up
Initial (public) Release