This file contains a list of specific bugs that have been fixed, and patches
that have been applied in released versions.  Please see the NEWS file for
a summary of the major changes, and the ChangeLog file for a comprehensive
listing of all changes made to the code. 
      
* 5.4.4 *

    snmplib:
      - [BUG 3134323]: Fix crash when comparing invalid OIDs
      - [BUG 3171878]: Using SNMPv3 context does not work
      - [BUG 3182985]: Fix calculation of common OID prefix length
      - [BUG 3234754]: Ensure old f_create_from_tstring hook is initialized to NULL
      - [BUG 3264852]: Recognise missing report types
      - [PATCH 3058645]: Use MSG_DONTWAIT for the unix domain socket
      - [PATCH 3067540]: Fix IPv4 OID indexes on 64-bit big-endian systems
      - [PATCH 3165878]: Catch buffer overrun on 64-bit systems
      - [PATCH 3183000]: Fix calculation of common OID prefix length
      - Added public declaration for netsnmp_table_data_delete_table()
      - Added function netsnmp_delete_table_data_set().
      - Added function snmp_sess_session_lookup()
      - Added macro netsnmp_static_assert()
      - Avoid Valgrind complaints about uninitialized data
      - Check the return value of strdup in netsnmp_create_data_list
      - Fix double-free crash when releasing duplicated handlers
      - Fixed a memory leak in snmp_free_session()
      - Fixed memory corruption triggered by snmpd.conf "enum" keyword
      - Fixed bugs in building/parsing 64-bit integers
      - Fixed leaks-at-exit triggered by using the snmp_enum code
      - Fixed memory leak in netsnmp_table_data_delete_table()
      - Fixed memory leak triggered by duplicate se_add_pair_to_list()
      - Fix issue with USM using inactive users
      - Fixed potential buffer overflow when generating temp file names
      - Invoking se_clear_slist() no longer creates a dangling pointer
      - Use realloc+init instead of calloc

    snmpd:
      - [BUG 1840230]: Don't include nlmLogVariableIndex as (pseudo-)accessing column
      - [BUG 2972579]: fixed checking of snmpTargetAddrRowStatus SET requests
      - [BUG 3003981]: Protect against config parsing buffer overflow
      - [BUG 3019243]: Register execFix compatability directive correctly
      - [BUG 3058101]: Writeable 'int' instances don't work on 64-bit systems
      - [BUG 3062538]: Fix com2sec* handling of non-default contexts
      - [BUG 3151897]: fd leak with /proc/partitions read in diskio
      - [BUG 3178389]: Fix inconsistent handling of TZ offsets
      - [BUG 3185528]: shutdown_master_agent doesn't close UDP sockets
      - [BUG 3305157]: Fix ipAddressPrefix handling of IPv6 addresses
      - [PATCH 2119725]: Fix skipNFSInHostResources handling of hrStorageTable
      - [PATCH 2825653]: Fix sendmail.cf parsing in certain conditions
      - [PATCH 2904900]: Documentation plus assorted handler code fixes
      - [PATCH 2911361]: Remove redundant variables
      - [PATCH 2941811]: Handle successful requests with reqID 0
      - [PATCH 2975254]: Avoid callback re-use of closed sessions
      - [PATCH 3053436]: Fix tcpConnectionTable_data_access invalid memory access
      - [PATCH 3062526]: Fix security engineID setting in the trapsess directive
      - [PATCH 3066862]: Fix comparison of large unsigned indexes (disk/extend tables)
      - [PATCH 3096725]: Don't register v1Trap callback, if SNMPv1 not supported
      - [PATCH 3096725]: sysORTable registation for Notification Log mib
      - [PATCH 3096725]: Include SNMPv1 trap OIDs in nlmLogNotificationID column
      - [PATCH 3141462]: Fix agentx subagent issues with multiple-object requests
      - [PATCH 3198781]: Ensure disman/{ping,traceroute} do at least compile
      - [PATCH 3299384]: Fix INFORMs so they retry probing for an engineID

      - Add newly created/destroyed interfaces to ipv6IfTable
      - Call shutdown_master_agent() and shutdown_agent() during shutdown
      - Don't deregister closed sessions
      - Don't second-guess cache handler
      - Fix clean_subtree() memory handling
      - Fixed a double free, triggered by cleaning up embedded Perl data structure.
      - Fixed adding new addresses to ipAddressTable
      - Fixed logging of 'truncating integer value > 32 bits' in {IP,TCP}-MIB
      - Fixed IP-MIB::ipIfStatsReasmReqds value
      - Fixed potential buffer overflow in parsing OIDs in config files
      - Fixed race conditions in hrSWRunTable and UCD prTable
      - Fixed agent bogus 64-bit wrap warning (ipSystemStats)
      - Fix engineid generation on outgoing v3 traps from the agent
      - Fix VACM persistant storage.
      - Optimizations for large route tables
      - Use cache-unique id instead of handler name for shared cache reload protection
      - Various MIB-specific leak-at-exit fixes.

    snmptranslate:
      - Fixed printing of ranges with UNSIGNED type

    snmptrapd:
      - [BUG 3151254]: Fix crash with invalid traphandle directive
      - Fixed a double free, triggered by cleaning up embedded Perl data structure.

    snmpusm:
      - Correct ifdefs, remove dead variables

    build:
      - [BUG 3102904]: Compile all source files with -fno-strict-aliasing
      - Do not call VACM APIs if VACM module is not included
      - Fix autoconf detection of strcasecmp
      - Fix building of static applications using net-snmp-config -*libs
      - Fix definition of VERSION (number, not expression)

    man:
      - [BUG 3190725]: Document snmp{,_sess}synch_response and snmp_async_send
      - clean up manual pages (from Debian patch 56_manpage)

    mib2c:
      - [PATCH 3175323]: Fix handling of 'while (false)' blocks
      - [PATCH 3204883]: Fix handling of non-table objects named fooTable
      - [PATCH 3211484]: Support enumerations in notification varbinds
      - Make the mib2c foreach ranges work as advertised

    mibs:
      - [PATCH 2974716]: Fix issues in the SMUX-MIB

    perl:
      - [PATCH 3046371]: Fix memory leak in SNMPv1 trap handling
      - [PATCH 3049029]: Fix a memory leak with snmp bulkwalks
      - Don't always open stderr as the calls to snmp_log already do this
           and it messes up the agent when embedded
      - Handle embedded %'s in the result message.

    python:
      - [BUG 3088360]: Ensure modules are built against the correct libraries
      - [BUG 3295407]: Fix handling of void pointer
      - [PATCH 3035328]: Check for failures in creating a session
      - [PATCH 3035578]: Keep error codes up to date
      - [PATCH 3185085]: Fix segfault on 64-bit systems

    testing:
      - Support dynamic analysis of regression tests

    Linux:
      - [PATCH 3074918]: check for CONTAINER_INSERT failures
      - [PATCH 3083027]: Fix RPM spec file to support CentOS
      - [PATCH 3152412]: Handle (and report) problems reading /proc/vmstat
      - Fix a strlen calculation in IF-MIB support
      - Fixed hrSWRunPath of swapped-out processes
      - Fixed value of IP-MIB::ipv6InterfaceForwarding

    NetBSD:
      - DragonFly support
      - Retrieve MIB-II network statistics via sysctl
      - Update memory and CPU statistics handling

    OpenBSD:
      - Support updating the routing table [From OpenBSD patch archive]

    Win32:
      - [PATCH 3293842]: Eliminate registry argument limit of 127 characters
      - Avoid MSVC warning about redefining EADDRINUSE
      - Fix out-of-range array accesses errors in mibII interfaces table
      - Fix test T030 on MinGW.
      - Fix test T200 failures on known Microsoft SNMP extension DLL bugs
      - Fixed memory leak in the internal (non-winExtDLL) ipNetToMediaTable
      - Halt snmpd process on key press when run from a command prompt
          (To aid debugging snmpd.exe)

    MinGW:
      - Make regression tests independent of registry settings
      - Use <net-snmp/net-snmp-config.h> header file under WinGW

      
* 5.4.3 *

    snmplib:
      - [BUG 2838243]: Correct the output of unsigned values.
      - [BUG 2919320]: Avoid accessing freed memory
      - [BUG 2922390]: Fix test for missing contextName parameter
      - [PATCH 2043018]: fix recvfrom hangs
      - [PATCH 2258229]: Remove misleading comment
      - [PATCH 2479700]: Fix zoned IP address used as table indices
      - [PATCH 2492377]: Fix typo/bug in snmp_enable_callback()
      - [PATCH 2505488]: Fix alarm behaviour on large clock skews
      - [PATCH 2538169]: Prevent infinite retries for invalid error-index
      - [PATCH 2688345]: Fix netsnmp_assert() for Visual Studio
      - [PATCH 2689362]: Fix handling of IPv6 hostnames
      - [PATCH 2713841]: Fix runtime errors triggered by high-ASCII chars
      - [PATCH 2780411]: Fix compiler warnings
      - [PATCH 2797251]: Fix memory leaks
      - [PATCH 2871747]: Fix memory leak in OID processing
      - [PATCH 2952140]: Overflow counter32 and gauge32
      - [PATCH 2952034]: Return of the Great SuSE 'sprintf' Hunt
      - Change the parsing of ranges to accept all valid values
      - Ensure O_CREATE mask is always specified
      - Fix extern "C" wrapping
      - Make -LN stop dumping core.
      - Make bad debug levels report the offending symbol
      - Remove inline declarations for non-inline defined functions

    snmpd:
      - [BUG 1693039]: Be silent when insert fails.
      - [BUG 2822360]: Fix memory leak when building table OIDs
      - [BUG 2841008]: Protect against crash following failed AgentX response
      - [BUG 2873858]: Fix handling of schedOwner index.
      - [BUG 2894059]: Handle errors when counting interfaces
      - [BUG 2897000]: Suppress 32-bit counter truncation warnings.
      - [BUG 2914410]: Fix crash on empty command lines
      - [BUG 2924140]: Fix termination of CPU/FPU types
      - [PATCH 1257347]: Non-fixed size connection buffer
      - [PATCH 1550730]: Report errors from iterator-based handlers
      - [PATCH 1977439]: Fix pass/_persist bug with SET oid value
      - [PATCH 2012402]: Handle failure to look up interface error counters
      - [PATCH 2082726]: correctly report NIC speeds higher than 4Gbit/s
      - [PATCH 2124288]: Fix setting of usmUserPrivProtocol at creation
      - [PATCH 2162652]: Fix simple hrfs checks when NFS is in use
      - [PATCH 2384779]: Fix handling of GetBulk with N>0,M==0
      - [PATCH 2686280]: Report duplicate registrations as an error
      - [PATCH 2693670]: Don't open AgentX sockets if other transports fail
      - [PATCH 2791417]: Fix snmpd segfault when run with -DALL
      - [PATCH 2797251]: Support multiple initialisation and shutdown
      - [PATCH 2822337]: Fix memory leak in ipAddressPrefixTable
      - [PATCH 2877518]: Fix handling of scoped AgentX variables
      - [PATCH 2883155]: Fix memory leak in proxy handling.
      - [PATCH 2887816]: Protect against division-by-zero crash
      - [PATCH 2901029]: Fix compiler warning on CloseHandle()
      - [PATCH 2911323]: Fix agent lockup when monitoring AgentX-delegated information
      - [PATCH 2912584]: Fix null OID handling in Agentx on 64bit
      - [PATCH 2950845]: Fix ifHighSpeed calculation
      - [PATCH 2952034]: Return of the Great SuSE 'sprintf' Hunt
      - [PATCH 2956657]: Handle over-length AgentX OIDs
      - [PATCH 2968642]: Catch overflow of pass-through command buffer
      - Allow "monitor" to handle negative threshold values
      - Change default AgentX target from 0.0.0.0:705 to localhost:705
      - Clean up notification
      - Ensure O_CREATE mask is always specified
      - Fix agent crash when sending encrypted SNMPv3 traps
      - Fix CVE-2008-4309 (GETBULK issue reported by Oscar Mira-Sanchez)
      - Fix creation of views using snmpusm
      - Fix handling of multiple matching VACM entries
      - Fix invalid access to memory in TCP-MIB
      - Fix logging of 'truncating integer values' in IP-MIB and TCP-MIB
      - Fix memory leak when multiple interfaces have the same IPv6 address
      - Fix possible crash when 64-bit counters exceed 2^32
      - Fix two bugs with smux password support
      - Fix udpTable indexes on big-endian 64bit Linux.
      - Improve parsing of -LS command line argument
      - Latch large-disk statistics at 2Tb (rather than wrapping)
      - Register CPU/memory hardware modules with nsCacheTable
      - Remove inline declarations for non-inline defined functions
      - Report ifSpeed of down network interfaces
      - Support large HW addresses (>6bytes)

    snmptrapd:
      - [PATCH 2726302]: Pass results of Perl trap handlers to trap daemon
      - Remove glibc-specific printf-formatting tokens

    snmptable:
      - [BUG 2837998]: Handle missing instance subidentifiers in results
      - [PATCH 2850067]: Suppress extraneous "index" header token

    apps:
      - [BUG 2811577]: Fix bug in GetBulk handling
      - [PATCH 2937996]: Add Date: header to email send by traptoemail
      - Improve parsing of -LS command line argument

    build:
      - [BUG 2095983]: Fix errors in find-requires helper script
      - [BUG 2782700]: Build failure when using --with-pkcs on Solaris
      - [PATCH 2184039]: Misc fixes for freeing memory
      - [PATCH 2952020]: Set permission on testing directories
      - 'make test TESTOPTS="-P tcp"' works fine now

    docs:
      - [PATCH 2788072]: Document 'logmatch' functionality.
      - [PATCH 2795739]: Fix incorrect disk/file size descriptions & unit specifiers

    mib2c:
      - [BUG 2827269]: Suppress non-ordered TODO comments
      - [BUG 2888569]: Fix generation of table columns array
      - [PATCH 2136437]: Improve 64-bit handling of large table FLAG defines 
      - [PATCH 2316127]: Fix bug in iterate_access generated code.

    mibs:
      - [BUG 2973890]: Fix imports, DiskIOEntry list and revision histories

    perl:
      - [BUG 1554817]: Fix class assigment so getRootOID works properly
      - [PATCH 2022948]: Fix for Counter64 in perl subagent
      - [PATCH 2182079]: Fix various warnings & allow use of "use strict"
      - [PATCH 2361712]: Fix getbulk optimization during walks
      - [PATCH 2793857]: Report failed asynchronous requests
      - [PATCH 2890931]: Better handling of Counter64 values.

    python:
      - [BUG 2258935]: Python Extension Module fails on Solaris
      - [BUG 2919379]: Initialise SNMP sessions properly
      - [PATCH 2074817]: Fix regexp engine CPU performance issues
      - [PATCH 2260828]: Fix python snmpwalk memory leak
      - [PATCH 2580979]: Fix python session pointers on 64-bit systems
      - [PATCH 2667415]: Support "UseNumeric" option
      - Support null-bytes in octet strings


    AIX:
      - [BUG 2712670]: Agent crashes on AIX with hrStorage

    *BSD:
      - [PATCH 2435793]: Support 64-bit IF-MIB counters on sysctl systems
      - Fix a make test

    HP-UX:
      - [BUG 2779472]: Filesystems missing in hrStorage table (HP-UX 11.31)
      - [PATCH 2088726]: Fix an issue reporting negative memory values

    Linux:
      - [BUG 2822355]: Fix memory leaks on udpEndpointTable
      - [PATCH 2926374]: Fix /proc/net/if_inet6 reading of ipAddressTable
      - Fix build on modern distributions (using rpm-4.6)
      - fix rare race condition when reading RPM database

    Solaris:
      - [PATCH 2012404]: Deal with more than 10 interfaces
      - [PATCH 2406378]: Fix hrSWRunPerfMem on 64-bit Solaris systems
      - [PATCH 2751588]: Inconsistent data (e.g. UDP/TCP MIB scalar values
	of zero) can be reported on Solaris 10U4+
      - Protect against missing package version

    Windows:
      - [BUG 2997492]: byte order of udpLocalPort is now correct
      - [BUG 2971257]: Fixed winExtDLL handling of multi-varbind getNext requests.
      - [BUG 2779541]: Fixed handle leak in pass_persist
      - [PATCH 2686248]: Applied patch by Bart Van Assche
      - [PATCH 2688342]: Fix various VS2005 compiler warnings
      - [PATCH 2691876]: Applied patch by rdiez to allow
      - [PATCH 2693746]: improved socket startup support
      - Detect free UDP ports correctly for use in test infrastructure.
      - Fix batch build using recent versions of Visual Studio.
      - Fix builds with IPv6 support enabled
      - Fix build under MinGW
      - Fix winExtDLL build on Windows Vista, Windows 7
      - Fix winExtDLL build with MinGW
      - Simplify building Net-SNMP + winExtDLL with MSVC
      - winExtDLL: Fixed a memory leak when SnmpExtensionQuery(Ex) fails
      - winExtDLL: Log errors when loading an extension DLL fails
      - winExtDLL: Use RFC-compliant error codes in SNMP response PDUs
      - winExtDLL: Fix handling of multiple varbind SET requests


* 5.4.2 *

    snmplib:
      - [BUG 1793545]: Take the name from the sockaddr_un
      - [BUG 1795840]: Signed 32-bit truncation logged as debug message
      - [BUG 1801835]: Support multiple default transports for an app.
      - [BUG 1866655]: Handle parsing invalid OID subidentifiers
      - [BUG 1958041]: Ensure IDs are not truncated.
      - [BUG 2027834]: Extend string print buffer by the minimum necessary
      - [BUG Coverity #183]: fix memory leak if IP_PKTINFO fails
      - [PATCH 1768285]: Count MIB files correctly in add_mibdir()
      - [PATCH 1775124]: Fix clientaddr functionality
      - [PATCH 1806336]: fix -LS option parsing
      - [PATCH 1807489]: fix ignoring of display hints.
      - [PATCH 1811469]: read_config_files_in_path() reads past malloc'd buffer
      - [PATCH 1875022]: improve callback locking mechanisms
      - [PATCH 1895927]: change obsolete recv/send to recvfrom/sendto
      - [PATCH 1898204], [BUF 1898198]: fix segfault when parsing broken mibs.
      - [PATCH 1921861]: Avoid endless loop after truncating 64bit int
      - [PATCH 2003450]: Fix a couple of 64-bit problems
      - Change CONTAINER_INSERT to not do partial inserts in containers
	with multiple indices when one insert fails.
      - Do not leak memory whenever an udp address is formatted.
      - Do not try to look up empty strings as hostnames for IPv6
      - Fix registering of multiple premib config handlers
      - Fix potential buffer overflow in sprintf for UDP/IPv6

    snmpd:
      - [BUG 1557372]: Realign hrFSStorageIndex with hrStorageTable
      - [BUG 1748206]: Protect against failures to open /etc/mtab (or equiv)
      - [BUG 1758212]: Handling missing variable types (IpAddress,Counter,Opaque)
      - [BUG 1771221]: Retain ifLastChange information on data reload.
      - [BUG 1792890]: include CIFS mounts when skipping remote filesystems
      - [BUG 1822360]: Fix spinlock helper error handling.
      - [BUG 1851047]: Don't over-process failed watcher requests
      - [BUG 1912647]: Fix memory leak following failed request
      - [BUG 1931391]: Fix reporting of Memory buffers and cached memory
      - [BUG 2003144]: Increase size of AgentX packet
      - [BUG 2006786]: Interface name can have more than 8 characters
      - [BUG 2018031]: Don't probe engineID in internal monitor sessions
      - [BUG 2023803]: Remove irrelevant configure dependency (HP-UX 11)
      - [PATCH 1716548]: Fix help output for -D
      - [PATCH 1744157]: Report duplicate "extend/exec" identifiers.
      - [PATCH 1746831]: fix process checking race condition
      - [PATCH 1752934]: Fix off-by-one qsort error in table utilities.
      - [PATCH 1753437]: Fix error index on failing SET requests
      - [PATCH 1753449]: Fix AgentX error propagation
      - [PATCH 1753463]: Fix AgentX subagent ping alarm handling
      - [PATCH 1758208]: Fix memory leak
      - [PATCH 1774612]: More resilient process status handling
      - [PATCH 1783733]: Include version info in hrSWInst table (solaris)
      - [PATCH 1784747]: Fix ip adresses on 64 bit systems
      - [PATCH 1823800]: release and reload all trap destinations on SIGHUP
      - [PATCH 1826088]: Use the right interface to read the netmask
      - [PATCH 1826102]: support longer interface names on linux
      - [PATCH 1828839]: handle of disk mount paths with embedded spaces
      - [PATCH 1849903]: do not spam log with asserts when XEN is used
      - [PATCH 1866823]: truncate 32 bit counter values on 64 bit machines
      - [PATCH 1879261]: Add inactive memory to cached report (freebsd)
      - [PATCH 1893468]: fixed registration of OIDs with ranges
      - [PATCH 1896118]: fix ifTable 32bit counters on linux
      - [PATCH 1909813]: fix table_iterator hint for SORTED tables
      - [PATCH 1944581]: Don't core dump on long string index values.
      - [PATCH 1951996]: Fix for CPU stats on FreeBSD
      - [PATCH 1967194]: Recognise NFS4 mounts
      - [PATCH 2014204]: Support -g {groupname}
      - [PATCH 2022936]: Fix AgentX Counter64 decoding on 64-bit architectures
      - [PATCH 2023633]: add SCTP-MIB implementation (Linux only)
      - Enforce the lower limit on scalar_groups
      - suppress annoying "registration != duplicate" warning for root oids
      - Handle device names with embedded spaces in UCD-SNMP-MIB (dskDevice)

    snmptrapd:
      - [BUG 1955227]: Memory leak for embedded Perl on x86_64
      - [PATCH 1746992]: Improve snmptrapd access-control error messages.
      - [PATCH 1767725]: Close all non standard file handles

    build:
      - [BUG 1802833]: Ensure snmptrapd builds with --disable-snmpv1/2c
      - [BUG 1823381]: Valid MIB directory search path on Windows
      - [BUG 1872266]: PERLCC check fails for CC with options
      - [BUG 1995172]: fix --without-elf configure usage
      - [BUG 2014526]: Win32: snmpv3-security-includes.h not installed
      - [BUG 2023803]: Compilation problems on HP-UX 11.31
      - [PATCH 1681035]: improve net-snmp-config /bin/sh compatibility
      - [PATCH 1899762]: Tweak embedded_perl configure checks.
      - add --with-temp-file-pattern configure option
      - Add support for winExtDLL to build.bat (win32)
      - Disable agent tests if built without necessary mib modules
      - Limit the use of _KERNEL definitions in configure tests to match
        the use of _KERNEL in our codebase
      - Update to libtool 1.5.26

    mib2c:
      - [BUG 1874059,1737068]: Handle MIB objects with embedded hyphens
      - [PATCH 1914398]: install mib2c.perl.conf

    documentation:
      - [BUG 2027129]: fix typo in snmpcmd.1

    misc:
      - Avoid calling debug macros with too few/many arguments.
      - enhance snmpnetstat test to check tcpTable in TCP mode

    perl:
      - [BUG 1606062]: perl bulkwalk (async) coredump
      - [BUG 1747733]: More robust handling of undefined values.
      - [BUG 1826174]: Check for buffer overflow when printing values.
      - [BUG 1834539]: Consistent handling of OID parsing.
      - [PATCH 1811463]: perl async callback coredump
      - [PATCH 1914393]: registerAgent can now be run multiple times
      - [PATCH 1914643]: fix issues with embedded perl
      - [PATCH 1914645]: better end of mib support
      - [PATCH 1920390]: fix registration of tables with .0 as IIDs
      - [PATCH 2021444]: Support SNMPv2c in gettable
      - fixed an extra brace in the docs pointed out by Jason Martin

    python:
      - [BUG 1826174]: Check for buffer overflow when printing values
      - [BUG 1868278]: Python segfault (introduced by r16962)
      - [PATCH 1862177]: made code more windows/cygwin compiler friendly
      - [PATCH 1877840]: fix MIB label and indexing due to broken regexp

    AIX:
      - Add support for AIX 6.x.

    Linux:
      - [PATCH 1969627]: Handle empty /etc/sysconfig/network file
      - Improved RPM spec files, for better consistency with
        vendor-provided packages

    Solaris:
      - [BUG 1810814]: tcpTable missing entries and wrong ports
      - [PATCH 1824196]: {ifOperStatus,ipAdEntIfIndex} reported incorrectly
      - [PATCH 1834699]: Fix 1833294: DLPI problems on Solaris 2.6
      - #define NEW_MIB_COMPLIANT to support Solaris 10U4+

* 5.4.1 *

    snmplib:
      - Change snmp_sess_add_ex to consistently close and
      - Deallocate the confmibs and confmibdirs
      - FEATURES: 1041888: Check directory paths for
      - FEATURES: 851887: Report range information for
      - Read the config parameters defTarget and
      - Use the default_target argument if it is
      - [BUG 1600171]: Support longer community strings
      - [BUG 1619827]: link against needed external
      - [BUG 1619827]: link net-snmp libraries and binaries
      - [BUG 1660061]: Validate engineIDs more strictly.
      - [PATCH 1548670]: Fix range checks for unsigned
      - [PATCH 1592706]: Fix memory leak when cloning
      - [PATCH 1616912]: fix
      - [PATCH 1620424]: Honor
      - [PATCH 1634620]: Fix leaks from
      - [PATCH 1640114]: Don't store trailing null
      - [PATCH 1641895]: Extend short view masks (as per
      - [PATCH 1641972]: add missing const
      - [PATCH 1653670]: Consistent SNMPv3 behaviour
      - [PATCH 1681030]: Better handling of empty
      - [PATCH 1687316]: Don't drop const from casts.
      - [PATCH 1687325]: Fix problem with operator
      - increment "current" and "age" according to
      - library layering improvements: introduce
      - patch: 1645698: fix 64-bit signed integer

    snmpapi:
      - Do not use getservbyname to find default port

    snmpd:
      - Correct the dependency information for
      - [BUG 1046327]: Reset "includeAllDisks" flag when
      - [BUG 1073782]: Restore PerfStat values for FreeBSD
      - [BUG 1102058]: Skip non-mounted disks (e.g. swap
      - [BUG 1159908]: Fix memory leak
      - [BUG 1397895]: include missing interface
      - [BUG 1413728]: Reference index values in debug
      - [BUG 1416276]: Handle dependency on MIB parsing
      - [BUG 1546817]: Fix snmpEnterprise varbind when
      - [BUG 1558823]: fix ipAddressTable memory leak
      - [BUG 1600261]: Handle non-x86 /proc/cpuinfo format
      - [BUG 1602286]: Don't let table holes block later
      - [BUG 1628613]: Restore memTotalFree.0 on Solaris
      - [BUG 1633595]: Fix AgentX handling of Counter64
      - [BUG 1677063]: Check for failed malloc calls.
      - [BUG 1685067]: More precise handling of
      - [BUG 1685081]: Check for valid OID on Free/Undo
      - [BUG 1712988]: default and configurable maximum
      - [BUG 1745113]: Handle single-line (and zero-line)
      - [BUG 1760633]: fix typo in debug message
      - [BUG 902610]: Don't discard pending data following
      - [BUG 902801]: Fix ordering of SMUX-registered
      - [PATCH 1601188, ]: BUG: 1600432: Handle signals
      - [PATCH 1620424]: Fix notification sending so that
      - [PATCH 1637287]: Handle multiple target tags
      - [PATCH 1639282]: Save persistent
      - [PATCH 1639360]: Fix snmpNotifyFilterProfileTable
      - [PATCH 1639726]: Report physical memory
      - [PATCH 1641332]: Include missing agent config
      - [PATCH 1641685]: Handle unresponsive AgentX
      - [PATCH 1641865]: Don't double check snmpTrapOID
      - [PATCH 1642255]: Handle saving long
      - [PATCH 1644280]: Don't automatically probe for
      - [PATCH 1644280]: Use the correct engineID when
      - [PATCH 1644714]: replace
      - [PATCH 1659623]: Handle SMUX peers with an empty
      - [PATCH 1665549]: Handle creating VACM entries
      - [PATCH 1665985]: Implement ipReasmTimeout
      - [PATCH 1666737]: include ipv6 counts in
      - [PATCH 1668193]: Fix check for v6 ReasmMaxSize
      - [PATCH 1668193]: Update registration of
      - [PATCH 1668952]: Ignore zombie processes.
      - [PATCH 1676478]: fix udpEndpointRemoteAddress
      - [PATCH 1678788]: Better handling of SMUX socket
      - [PATCH 1683054]: set udpEndpointInstance to
      - [PATCH 1687336]: Start using the enhanced
      - [PATCH 1692768]: Fix copying of non-octet-aligned
      - [PATCH 1698184]: Register non-default context
      - [PATCH 1700730]: Remove unused extern declaration.
      - [PATCH 1700732]: Fix debug output statements.
      - [PATCH 1700737]: Tidy up setSerialNo
      - [PATCH 1729629]: Fix memory leak in disman
      - patch from Wojtek Jawor to handle row deletion
      - patch: 1225440: Apply intent of patch: to delay
      - patch: 1595568: from cyril_margaria: fix
      - patch: 1617255: fix length of the history array
      - patch: 1700157: from afrika: fixes ordering of exec
      - patch: 1710632: from mavarley: fix memory leak on
      - patch: 1719253: from "Christian Jung": fix
      - patch: 1719254: from "Christan Jung": update

    snmptrapd:
      - [BUG 1638225]: Fix interpretation of transport
      - [PATCH 1620424]: Fix notification reception so
      - patch: 1225440: Apply intent of patch: to
      - upport for forwarding traps by OID subtree.

    apps:
      - [BUG 1964136]: Drop NULL type from snmpset usage
      - [PATCH 1529523]: Close SNMP session on failure.

    build:
      - Link libdl against libnetsnmpmibs instead of
      - Link libkvm and libwrap to libnetsnmpagent
      - [BUG 1096166]: Handle --without-logfile correctly.
      - [BUG 1647976]: Cygwin/MinGW Windows build fails
      - [PATCH 1625135]: configure location of python
      - [PATCH 1681073]: #ifdef based config_error instead
      - [PATCH 1728226]: make sure
      - [PATCH 1728230]: add
      - [PATCH 1728237]: Move
      - [PATCH 1728244]: Add
      - [PATCH 1728247]: Add type
      - add "BuildRequires: perl-ExtUtils-Embed" to the
      - add configure check for hasmntopt to fix the
      - only enable mibII/ipv6 through --enable-ipv6 on
      - patch from apple to simplify makefile target
      - update to libtool 1.5.24 (from 1.5.22)
      - use LDFLAGS when building agent, helpers and mib
      - use libtool clean for removing files to ensure we
      - work around libnetsnmpagent/libnetsnmphelpers
      - yet another fix to address build issues with

    building:
      - Check for support of static inline functions
      - Disable inlining on solaris as there are some

    configure:
      - [BUG 1567324]: Clarify prompting for

    documentation:
      - [BUG 1247164]: Document use of OID macros
      - [BUG 1407476]: Clarify MIB parsing toggle
      - [BUG 1614104]: broken snmpd(8) manual page
      - [PATCH 1604580]: SNMP(3) manual page

    irix:
      - [PATCH 1709748]: Optimized IRIX cpu stats

    library:
      - FEATURES: 454028: Detect and handle empty MIB
      - Patch from "Mitsuru Chinen": cleans up the
      - [PATCH 1642071]: Don't fiddle with the storage
      - [PATCH 1665543]: Handle VACM checks correctly.

    mib2c:
      - [BUG 1429472]: Protect against missing instances
      - [BUG 1582972]: Handle @while@/@end@ properly.
      - [BUG 833673]: More focused size checks.
      - [PATCH 1668171]: skip unknown cols in min/max

    misc:
      - Don't use the legacy symbol

    patch:
      - fix the -M switch for

    perl:
      - [BUG 1450669]: PATCH: 1627949: from martin987: a
      - [BUG 1619827]: link libnetsnmpagent/libnetsnmptrapd
      - fix SNMP SET for IP addresses on 64-bit
      - fix prerequisites for NetSNMP::TrapReceiver
      - fix syntax error in NetSNMP::agent::Support
      - install embedded perl init files for
      - patch: 1725049: fix bulkwalk in cases of non-repeater

    ports:
      - patch: 1706344: from naylor: fix compilation with

    python:
      - [PATCH 1716114]: Let python build in source tree

    test:
      - support a -n flag to RUNTESTS to print the test

    unspecified:
      - [BUG 1596638]: memory leak in ipCidrRouteTable,
      - [BUG 1600093]: autoconf 2.60 breaks the build
      - [BUG 1611524]: fix tcp connection table fd leak
      - [BUG 1633483]: Support CPU HAL on FreeBSD4.x
      - [BUG 1710910]: initial support for DragonFly BSD
      - [PATCH 1678298]: from magfr: compile-subagent checks for
      - [PATCH 1678301]: from magfr: deallocate domain registry
      - [PATCH 1678302]: from magfr: netsnmp_mibindex_load leaks
      - [PATCH 1678305]: from magfr: Deallocate the cache in
      - [PATCH 1678306]: from magfr: Deallocate the log in
      - [PATCH 1719244]: fix mfd generating map function
      - [PATCH 1728241]: from mitsuru_chinen: add configure check
      - patch from apple to fix cross-compile builds in apples
      - patch from apple to fix minor documentation bugs.
      - patch from apple to improve memory reporting

    AIX:
      - [PATCH 1665079]: AIX patches
      - build fixes for embedded Perl
      - fix default shared library building instead of forcing
      - use "-Wl,-brtl" when compiling with gcc

    FreeBSD:
      - add initial support for upcoming FreeBSD 7
      - fix configure warning for sys/conf.h

    HP:
      - UX: BUG: 1742278: compile error on HP-UX 11.23 (IA64)
      - UX: HP-UX needs _REENTRANT defined to pick up

    IRIX:
      - [PATCH 1675869]: CPU statistics for IRIX

    Linux:
      - [BUG 1666005]: Fail to walk ipv6InterfaceTable on
      - [PATCH 1581294]: 
      - fix ethtool configure check for recent systems

    MacOSX:
      - [PATCH 1600453]: OS X
      - [PATCH 1600522]: CPU HAL

    Perl:
      - link Perl modules against the exact set of libraries

    Solaris:
      - IF-MIB fix: add missing return at end of
      - [BUG 1626153]: no hrSWRun informations on
      - [PATCH 1623447]: hrSWRun

    Win32:
      - [BUG 1662987]: compile error on Cygwin
      - [PATCH 1622080]: A: pass Win32
      - fix AES support
      - fix win32/Configure --with-ipv6

