# -*- text -*-

----------------------------------------------------------------------

Changes: V5.9.3.rc1 -> V5.9.3

commit d6644ac380a3563b3bce8400d62c789604695447
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jul 13 10:43:01 2022 -0700

    drop rc

commit 47d4972916e4cbbc5c8df65f1546c5e1b8632928
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jul 13 10:42:39 2022 -0700

    Version number update: 5.9.3

----------------------------------------------------------------------

Changes: V5.9.2 -> V5.9.3.rc1

commit ca067c485f06e330a0db13c88ad7321124a0b22a
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jul 6 07:39:29 2022 -0700

    Release Candidate for V5-9-3-branch

commit e672baf238ebb7e80b03d0191345f14afaf5a311
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jul 6 07:39:27 2022 -0700

    Version number update: 5.9.3.rc1

commit 035216c0fae83dd8e37b0e5b504d4f8b7076b56f
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Tue Jul 5 08:27:17 2022 -0700

    increment 'libcurrent'

----------------------------------------------------------------------

Changes: V5.9.2.rc2 -> V5.9.2

commit 1154e3cd9b280f39cc956d21327ff1abcefae4fd
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Thu Jun 30 16:38:13 2022 -0700

    reopen 5.9 patches

commit 9705b5f1414b3092934eb3879483dc3e831f7b7b
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Thu Jun 30 16:37:21 2022 -0700

    Version number update: 5.9.2

----------------------------------------------------------------------

Changes: V5.9.2.rc1 -> V5.9.2.rc2

commit 1b7564a375c4e8b2ca2282a2a2ec5c9b19d6a4dc
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jun 22 15:01:30 2022 -0700

    Version number update: 5.9.2.rc2

commit ce66eb97c17aa9a48bc079be7b65895266fa6775
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Wed Jun 22 15:00:17 2022 -0700

    updates to CHANGES/NEWS

commit a8ea1e4aadc542aebda46a09258aec76f71b19e9
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Jun 12 20:00:34 2022 -0700

    ci/perl.bat: Bump the Perl version

commit 4022d51d5036bd4b0fb80c92d58e375bc51b0b96
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Jun 12 09:32:29 2022 -0700

    ci, Windows: Bump the OpenSSL version number

commit ab410b3628b4aa8e8d51d72a03bcdba6fdfdcc7e
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu May 5 21:11:12 2022 -0700

    configure: Regenerate with the correct version of autotools
    
    Fixes: 9e188ca935f3 ("Version number update: 5.9.2.rc1")

----------------------------------------------------------------------

Changes: V5.9.2.pre1 -> V5.9.2.rc1

commit 88766d759bdf998d645fb09f050d4701dd39b2b2
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Thu Apr 21 15:35:47 2022 -0700

    Release Candidate for V5-9-patches

commit 9e188ca935f3cc84110973decb7efb5be42989b9
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Thu Apr 21 15:35:45 2022 -0700

    Version number update: 5.9.2.rc1

commit 37dd47517ece80209f1eb0bd82235a7bd50a00c3
Author: Stuart Henderson <stu@spacehopper.org>
Date:   Tue Apr 12 09:59:55 2022 +0100

    libsnmp: Don't try to install factory.h
    
    87d45755edd made factory.h a private header, but snmplib/Makefile.in
    continues to try to install it from include/net-snmp/library, resulting
    in an error from "make install".
    
    Fixes: https://github.com/net-snmp/net-snmp/pull/417

commit 9adb432e1a23d3114e1074a0d0b088024a402108
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Apr 6 13:57:51 2022 -0700

    ci, Windows: Bump the OpenSSL version number

commit b33d6bbe72b26a5b2a8cced96178c6de1105181f
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Apr 5 12:57:32 2022 -0700

    python: Return 'None' instead of an object for GET requests of non-existing OIDs
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/414

commit d3d939f27286bab91e7316c4fa6b9e224621ec0c
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Apr 5 12:49:42 2022 -0700

    python: Add a unit test for a non-existing OID

----------------------------------------------------------------------

Changes: V5.9.1 -> V5.9.2.pre1

commit 8c55dc5fd5165017965abef158a343719eefde60
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Tue Apr 5 08:46:11 2022 -0700

    Version number update: 5.9.2.pre1

commit d9611b05980423f0cf0c72408681af8d3d44e969
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Tue Apr 5 08:46:03 2022 -0700

    version update for 5.9.2.pre1

commit 7d4289129d4bd6e6fae5dc4470d2a5953fa3281f
Author: lijog <george.lijo@gmail.com>
Date:   Fri Feb 25 20:58:52 2022 -0800

    Solaris: Fix ifHighSpeed
    
    The ifHighSpeed value is not being fetched correctly for Solaris systems as
    seen in the following example. For a 10Gbps interface, we see
    
    > snmpwalk -v 2c -c public localhost ifdescr
    IF-MIB::ifDescr.2 = STRING: net0
    > snmpwalk -v 2c -c public localhost ifspeed
    IF-MIB::ifSpeed.2 = Gauge32: 1410065408
    > snmpwalk -v 2c -c public localhost ifHighSpeed
    IF-MIB::ifHighSpeed.1 = Gauge32: 127
    IF-MIB::ifHighSpeed.2 = Gauge32: 1410
    > dladm show-phys -Z
    LINK            ZONE      MEDIA         STATE      SPEED  DUPLEX    DEVICE
    net0            global    Ethernet      up         10000  full      ixgbe0
    > kstat -p|grep speed
    ....
    ixgbe:0:phys:ifspeed    10000000000   //10Gbps
    ..
    
    The expected output is  10000000000 expressed in Mbps, i.e 10000
    IF-MIB::ifSpeed.2 = Gauge32: 10000
    
    The issue occurs as we are using an integer(Gauge) type to fetch the ifspeed
    value and simply convert it into Mbps for the ifHighSpeed value, which will
    fail for speeds > INT_MAX-1.
    
    From the net-snmp documentation at
    http://www.net-snmp.org/docs/mibs/interfaces.html: "An estimate of the
    interface's current bandwidth in bits per second.  For interfaces which do
    not vary in bandwidth or for those where no accurate estimation can be made,
    this object should contain the nominal bandwidth. If the bandwidth of the
    interface is greater than the maximum value reportable by this object then
    this object should report its maximum value (4,294,967,295) and ifHighSpeed
    must be used to report the interace's speed.  For a sub-layer which has no
    concept of bandwidth, this object should be zero."
    
    The fix will use a uint64 type for storing the ifspeed value, and will
    display the ifspeed value as per the docs.
    
    Here's the output after applying the fix
    > snmpwalk -c public -v 2c localhost ifSpeed
    IF-MIB::ifSpeed.2 = Gauge32: 4294967295
    > snmpwalk -c public -v 2c localhost ifHighSpeed
    IF-MIB::ifHighSpeed.2 = Gauge32: 10000
    
    Fixes: https://github.com/net-snmp/net-snmp/pull/409
    [ bvanassche: reformatted commit message / combined four patches into one ]

commit d45fe61a133449b6bc47f2d2b51f7636b7b343e0
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Mon Jan 3 17:18:30 2022 -0800

    snmptrap: Improve documentation of the 'AGENT' argument
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/395

commit 28e3bb4f9ff78f32ee968d6d76c8a3c04b761abe
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Dec 28 14:11:57 2021 -0800

    libsnmp: snmpSTDDomain: Remove an exit() call
    
    Apparently calling exit() from a child process confuses oss-fuzz. Hence
    remove the exit() call from the child process. This patch does not change
    any functionality.

commit 0ccf55e7e9c19c8e23bd94b19901ed8692423293
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Dec 28 14:03:18 2021 -0800

    libsnmp: Fix a memory leak in an error path of parse_objectid()
    
    Link newly allocated nodes earlier such that these are freed from the
    error path.
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39320
    Fixes: 5201c852e0f6 ("Initial revision")

commit 8c3a094fbe9ebe38ed762488082d52c6d4e04ddb
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Dec 25 13:02:06 2021 -0800

    configure: Use pkg-config to detect the OpenSSL dependencies
    
    Which libraries must be linked in addition to the ssl library depends on the
    configuration of OpenSSL and on the platform. Hence use pkg-config to detect
    these libraries if pkg-config is available. Provide a fallback if pkg-config
    is not available. See also "compile fails with net-snmp-5.8 and openssl-1.1.1d"
    (https://github.com/net-snmp/net-snmp/issues/25).

commit 672e23a3f7a0f54961f9aa1e927f5064a0c1969e
Author: Giulio Benetti <giulio.benetti@micronovasrl.com>
Date:   Wed Sep 12 20:16:39 2018 +0200

    configure, static linking: Fix SSL checks
    
    During checking of DTLS_method, the stub program is linked only with -ssl
    libssl.a lacks some function from -lcrypto:
    RAND_*()
    ERR_*()
    BUF_MEM_*()
    etc.
    and -lz:
    - inflate()
    - deflate()
    
    Append -lcrypto and -lz to LIBS variable when checking DTLS_method.
    
    See also https://sourceforge.net/p/net-snmp/patches/1374/ .
    
    Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
    [bvanassche: Edited subject / rewrote this patch]

commit 72dee028836d233979e4563ce3c3d5e303e0e042
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Mon Dec 20 09:23:48 2021 -0800

    CHANGES: net-snmp-create-v3-user: Fix the snmpd.conf path
    
    @datadir@ is expanded in ${datarootdir} so datarootdir must be set before
    @datadir@ is used. See also
    https://github.com/net-snmp/net-snmp/pull/394 .
    
    Fixes: d784eb53f38a ("NEWS: misc: separate user management from net-snmp-config into new net-snmp-create-v3-user script")

commit f5cc42798c996796ec04e38d67f5589153353bd8
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Dec 17 09:12:37 2021 -0800

    ci/openssl.bat: Bump the OpenSSL version

commit bd7394d5d266916d655b804e5b40bc0673030ccd
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Dec 12 13:08:25 2021 -0800

    CHANGES: Win32: winExtDLL: Load evntagnt.dll and lmmib2.dll by default
    
    Load those two DLLs except if these are excluded by e.g. -I-lmmib2.dll.
    Work around generic errors for all OIDs with prefix .1.3.6.1.4.1.77.

commit fc4591ff585f62b28af2d118b72d21a928381295
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Dec 12 13:42:45 2021 -0800

    Improve Doxygen documentation
    
    Remove $(srcdir) since apparently it is no longer supported. Fix most
    warnings about function headers reported by Doxygen 1.9.2.

commit 7f1b973e90ab6736400f72c23f71e4b5ef7726ae
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Dec 12 13:25:35 2021 -0800

    libsnmp: Leave out superfluous parentheses from OID comparison functions
    
    Additionally, improve the Doxygen documentation. This patch does not change
    any functionality.

commit 07dc7379a0ca6e8a8ded03430cc423ae44022920
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Dec 11 14:35:45 2021 -0800

    CHANGES: Win32: winExtDLL: Windows 10 improvements
    
    Load evntagnt.dll and lmmib2.dll on Windows 10. Skip OIDs for which it
    is known that GETNEXT fails with "generic error".

commit af3b5237962cb9b535c2ac8058d7817950776dad
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Dec 11 14:35:21 2021 -0800

    CHANGES: Win32: winExtDLL: Make long strings occupy a single line
    
    Make it easier to look up error messages in the source code by making long
    strings occupy a single source code line.

commit aaafd8c236033c06d3b59354a3236553f976771e
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Dec 11 15:59:52 2021 -0800

    CHANGES: Win32: winExtDLL: Fix multiple compiler warnings

commit 51818e49b244fc9eed0edb6afcdae27f3e476d6a
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Dec 11 14:26:03 2021 -0800

    README.win32: Remove references to Cygwin
    
    Since Net-SNMP users use MinGW instead of Cygwin, remove the instructions
    about how to build Net-SNMP for Cygwin. Additionally, mention that
    Net-SNMP must be built in 32-bit mode to use winExtDLL and also that
    snmp_mib must be excluded.

commit 8e433146c79bb09a3daff012e609094ad5a83712
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Dec 10 20:37:36 2021 -0800

    CHANGES: Win32: winExtDLL: Restore MIB-II support
    
    Commit 59b4d40f3970 ("CHANGES: Windows: Make winExtDLL work on 64-bit
    Windows systems") caused snmpd to skip MIB-II on 64-bit systems. Revert
    that change such that the Windows MIB-II implementation can be used on
    Windows 10. See also:
    * https://github.com/net-snmp/net-snmp/issues/383
    * https://github.com/net-snmp/net-snmp/issues/388
    
    With this patch applied, I see the following output in a Windows VM:
    $ /c/usr/bin/snmpwalk -v2c -cpublic localhost .1.3.6.1.2.1.2
    IF-MIB::ifNumber.0 = INTEGER: 9
    IF-MIB::ifIndex.1 = INTEGER: 1
    IF-MIB::ifIndex.2 = INTEGER: 2
    IF-MIB::ifIndex.3 = INTEGER: 3
    IF-MIB::ifIndex.4 = INTEGER: 4
    IF-MIB::ifIndex.5 = INTEGER: 5
    IF-MIB::ifIndex.6 = INTEGER: 6
    IF-MIB::ifIndex.7 = INTEGER: 7
    IF-MIB::ifIndex.8 = INTEGER: 8
    IF-MIB::ifIndex.9 = INTEGER: 9
    IF-MIB::ifDescr.1 = STRING: Software Loopback Interface 1
    IF-MIB::ifDescr.2 = STRING: Microsoft 6to4 Adapter
    IF-MIB::ifDescr.3 = STRING: Microsoft Kernel Debug Network Adapter
    IF-MIB::ifDescr.4 = STRING: Microsoft IP-HTTPS Platform Adapter
    IF-MIB::ifDescr.5 = STRING: Intel(R) 82574L Gigabit Network Connection
    IF-MIB::ifDescr.6 = STRING: Microsoft Teredo Tunneling Adapter
    IF-MIB::ifDescr.7 = STRING: Intel(R) 82574L Gigabit Network Connection-WFP Native MAC Layer LightWeight Filter-0000
    IF-MIB::ifDescr.8 = STRING: Intel(R) 82574L Gigabit Network Connection-QoS Packet Scheduler-0000
    IF-MIB::ifDescr.9 = STRING: Intel(R) 82574L Gigabit Network Connection-WFP 802.3 MAC Layer LightWeight Filter-0000
    IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)
    IF-MIB::ifType.2 = INTEGER: tunnel(131)
    IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6)
    IF-MIB::ifType.4 = INTEGER: tunnel(131)
    IF-MIB::ifType.5 = INTEGER: ethernetCsmacd(6)
    IF-MIB::ifType.6 = INTEGER: tunnel(131)
    IF-MIB::ifType.7 = INTEGER: ethernetCsmacd(6)
    IF-MIB::ifType.8 = INTEGER: ethernetCsmacd(6)
    IF-MIB::ifType.9 = INTEGER: ethernetCsmacd(6)
    IF-MIB::ifMtu.1 = INTEGER: 1500
    IF-MIB::ifMtu.2 = INTEGER: 0
    IF-MIB::ifMtu.3 = INTEGER: 0
    IF-MIB::ifMtu.4 = INTEGER: 0
    IF-MIB::ifMtu.5 = INTEGER: 1500
    IF-MIB::ifMtu.6 = INTEGER: 0
    IF-MIB::ifMtu.7 = INTEGER: 1500
    IF-MIB::ifMtu.8 = INTEGER: 1500
    IF-MIB::ifMtu.9 = INTEGER: 1500
    IF-MIB::ifSpeed.1 = Gauge32: 1073741824
    IF-MIB::ifSpeed.2 = Gauge32: 0
    IF-MIB::ifSpeed.3 = Gauge32: 0
    IF-MIB::ifSpeed.4 = Gauge32: 0
    IF-MIB::ifSpeed.5 = Gauge32: 1000000000
    IF-MIB::ifSpeed.6 = Gauge32: 0
    IF-MIB::ifSpeed.7 = Gauge32: 1000000000
    IF-MIB::ifSpeed.8 = Gauge32: 1000000000
    IF-MIB::ifSpeed.9 = Gauge32: 1000000000
    IF-MIB::ifPhysAddress.1 = STRING:
    IF-MIB::ifPhysAddress.2 = STRING:
    IF-MIB::ifPhysAddress.3 = STRING:
    IF-MIB::ifPhysAddress.4 = STRING:
    IF-MIB::ifPhysAddress.5 = STRING: 52:54:0:bb:6f:2f
    IF-MIB::ifPhysAddress.6 = STRING:
    IF-MIB::ifPhysAddress.7 = STRING: 52:54:0:bb:6f:2f
    IF-MIB::ifPhysAddress.8 = STRING: 52:54:0:bb:6f:2f
    IF-MIB::ifPhysAddress.9 = STRING: 52:54:0:bb:6f:2f
    IF-MIB::ifAdminStatus.1 = INTEGER: up(1)
    IF-MIB::ifAdminStatus.2 = INTEGER: down(2)
    IF-MIB::ifAdminStatus.3 = INTEGER: down(2)
    IF-MIB::ifAdminStatus.4 = INTEGER: down(2)
    IF-MIB::ifAdminStatus.5 = INTEGER: up(1)
    IF-MIB::ifAdminStatus.6 = INTEGER: down(2)
    IF-MIB::ifAdminStatus.7 = INTEGER: up(1)
    IF-MIB::ifAdminStatus.8 = INTEGER: up(1)
    IF-MIB::ifAdminStatus.9 = INTEGER: up(1)
    IF-MIB::ifOperStatus.1 = INTEGER: up(1)
    IF-MIB::ifOperStatus.2 = INTEGER: down(2)
    IF-MIB::ifOperStatus.3 = INTEGER: down(2)
    IF-MIB::ifOperStatus.4 = INTEGER: down(2)
    IF-MIB::ifOperStatus.5 = INTEGER: up(1)
    IF-MIB::ifOperStatus.6 = INTEGER: down(2)
    IF-MIB::ifOperStatus.7 = INTEGER: up(1)
    IF-MIB::ifOperStatus.8 = INTEGER: up(1)
    IF-MIB::ifOperStatus.9 = INTEGER: up(1)
    IF-MIB::ifLastChange.1 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.2 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.3 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.4 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.5 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.6 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.7 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.8 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifLastChange.9 = Timeticks: (0) 0:00:00.00
    IF-MIB::ifInOctets.1 = Counter32: 0
    IF-MIB::ifInOctets.2 = Counter32: 0
    IF-MIB::ifInOctets.3 = Counter32: 0
    IF-MIB::ifInOctets.4 = Counter32: 0
    IF-MIB::ifInOctets.5 = Counter32: 3902284436
    IF-MIB::ifInOctets.6 = Counter32: 0
    IF-MIB::ifInOctets.7 = Counter32: 3902284436
    IF-MIB::ifInOctets.8 = Counter32: 3902284436
    IF-MIB::ifInOctets.9 = Counter32: 3902284436
    IF-MIB::ifInUcastPkts.1 = Counter32: 0
    IF-MIB::ifInUcastPkts.2 = Counter32: 0
    IF-MIB::ifInUcastPkts.3 = Counter32: 0
    IF-MIB::ifInUcastPkts.4 = Counter32: 0
    IF-MIB::ifInUcastPkts.5 = Counter32: 265150678
    IF-MIB::ifInUcastPkts.6 = Counter32: 0
    IF-MIB::ifInUcastPkts.7 = Counter32: 265150678
    IF-MIB::ifInUcastPkts.8 = Counter32: 265150678
    IF-MIB::ifInUcastPkts.9 = Counter32: 265150678
    IF-MIB::ifInNUcastPkts.1 = Counter32: 0
    IF-MIB::ifInNUcastPkts.2 = Counter32: 0
    IF-MIB::ifInNUcastPkts.3 = Counter32: 0
    IF-MIB::ifInNUcastPkts.4 = Counter32: 0
    IF-MIB::ifInNUcastPkts.5 = Counter32: 28
    IF-MIB::ifInNUcastPkts.6 = Counter32: 0
    IF-MIB::ifInNUcastPkts.7 = Counter32: 28
    IF-MIB::ifInNUcastPkts.8 = Counter32: 28
    IF-MIB::ifInNUcastPkts.9 = Counter32: 28
    IF-MIB::ifInDiscards.1 = Counter32: 0
    IF-MIB::ifInDiscards.2 = Counter32: 0
    IF-MIB::ifInDiscards.3 = Counter32: 0
    IF-MIB::ifInDiscards.4 = Counter32: 0
    IF-MIB::ifInDiscards.5 = Counter32: 0
    IF-MIB::ifInDiscards.6 = Counter32: 0
    IF-MIB::ifInDiscards.7 = Counter32: 0
    IF-MIB::ifInDiscards.8 = Counter32: 0
    IF-MIB::ifInDiscards.9 = Counter32: 0
    IF-MIB::ifInErrors.1 = Counter32: 0
    IF-MIB::ifInErrors.2 = Counter32: 0
    IF-MIB::ifInErrors.3 = Counter32: 0
    IF-MIB::ifInErrors.4 = Counter32: 0
    IF-MIB::ifInErrors.5 = Counter32: 0
    IF-MIB::ifInErrors.6 = Counter32: 0
    IF-MIB::ifInErrors.7 = Counter32: 0
    IF-MIB::ifInErrors.8 = Counter32: 0
    IF-MIB::ifInErrors.9 = Counter32: 0
    IF-MIB::ifInUnknownProtos.1 = Counter32: 0
    IF-MIB::ifInUnknownProtos.2 = Counter32: 0
    IF-MIB::ifInUnknownProtos.3 = Counter32: 0
    IF-MIB::ifInUnknownProtos.4 = Counter32: 0
    IF-MIB::ifInUnknownProtos.5 = Counter32: 0
    IF-MIB::ifInUnknownProtos.6 = Counter32: 0
    IF-MIB::ifInUnknownProtos.7 = Counter32: 0
    IF-MIB::ifInUnknownProtos.8 = Counter32: 0
    IF-MIB::ifInUnknownProtos.9 = Counter32: 0
    IF-MIB::ifOutOctets.1 = Counter32: 0
    IF-MIB::ifOutOctets.2 = Counter32: 0
    IF-MIB::ifOutOctets.3 = Counter32: 0
    IF-MIB::ifOutOctets.4 = Counter32: 0
    IF-MIB::ifOutOctets.5 = Counter32: 1952733666
    IF-MIB::ifOutOctets.6 = Counter32: 0
    IF-MIB::ifOutOctets.7 = Counter32: 1952733666
    IF-MIB::ifOutOctets.8 = Counter32: 1952733666
    IF-MIB::ifOutOctets.9 = Counter32: 1952733666
    IF-MIB::ifOutUcastPkts.1 = Counter32: 0
    IF-MIB::ifOutUcastPkts.2 = Counter32: 0
    IF-MIB::ifOutUcastPkts.3 = Counter32: 0
    IF-MIB::ifOutUcastPkts.4 = Counter32: 0
    IF-MIB::ifOutUcastPkts.5 = Counter32: 137686780
    IF-MIB::ifOutUcastPkts.6 = Counter32: 0
    IF-MIB::ifOutUcastPkts.7 = Counter32: 137686780
    IF-MIB::ifOutUcastPkts.8 = Counter32: 137686780
    IF-MIB::ifOutUcastPkts.9 = Counter32: 137686780
    IF-MIB::ifOutNUcastPkts.1 = Counter32: 0
    IF-MIB::ifOutNUcastPkts.2 = Counter32: 0
    IF-MIB::ifOutNUcastPkts.3 = Counter32: 0
    IF-MIB::ifOutNUcastPkts.4 = Counter32: 0
    IF-MIB::ifOutNUcastPkts.5 = Counter32: 115
    IF-MIB::ifOutNUcastPkts.6 = Counter32: 0
    IF-MIB::ifOutNUcastPkts.7 = Counter32: 115
    IF-MIB::ifOutNUcastPkts.8 = Counter32: 115
    IF-MIB::ifOutNUcastPkts.9 = Counter32: 115
    IF-MIB::ifOutDiscards.1 = Counter32: 0
    IF-MIB::ifOutDiscards.2 = Counter32: 0
    IF-MIB::ifOutDiscards.3 = Counter32: 0
    IF-MIB::ifOutDiscards.4 = Counter32: 0
    IF-MIB::ifOutDiscards.5 = Counter32: 0
    IF-MIB::ifOutDiscards.6 = Counter32: 0
    IF-MIB::ifOutDiscards.7 = Counter32: 0
    IF-MIB::ifOutDiscards.8 = Counter32: 0
    IF-MIB::ifOutDiscards.9 = Counter32: 0
    IF-MIB::ifOutErrors.1 = Counter32: 0
    IF-MIB::ifOutErrors.2 = Counter32: 0
    IF-MIB::ifOutErrors.3 = Counter32: 0
    IF-MIB::ifOutErrors.4 = Counter32: 0
    IF-MIB::ifOutErrors.5 = Counter32: 0
    IF-MIB::ifOutErrors.6 = Counter32: 0
    IF-MIB::ifOutErrors.7 = Counter32: 0
    IF-MIB::ifOutErrors.8 = Counter32: 0
    IF-MIB::ifOutErrors.9 = Counter32: 0
    IF-MIB::ifOutQLen.1 = Gauge32: 0
    IF-MIB::ifOutQLen.2 = Gauge32: 0
    IF-MIB::ifOutQLen.3 = Gauge32: 0
    IF-MIB::ifOutQLen.4 = Gauge32: 0
    IF-MIB::ifOutQLen.5 = Gauge32: 0
    IF-MIB::ifOutQLen.6 = Gauge32: 0
    IF-MIB::ifOutQLen.7 = Gauge32: 0
    IF-MIB::ifOutQLen.8 = Gauge32: 0
    IF-MIB::ifOutQLen.9 = Gauge32: 0
    IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.3 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.4 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.5 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.6 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.7 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.8 = OID: SNMPv2-SMI::zeroDotZero
    IF-MIB::ifSpecific.9 = OID: SNMPv2-SMI::zeroDotZero

commit 4abad4b6eed22c8bc54be9f6ad77d5abe14bac75
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Dec 10 20:58:56 2021 -0800

    README.win32: Document how to install the SNMP service on Windows 10

commit 83c0a8f38dc8789f8cc0cef76af344a2c2f6b50b
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Dec 3 20:37:42 2021 -0800

    libsnmp: Prepare for using the recommended OpenSSL functions
    
    This patch does not change any functionality.

commit 447e80b7f1c8ad9899f30afb8c7c31b232c79fb2
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Dec 3 20:36:58 2021 -0800

    configure: Check for more OpenSSL functions

commit fad66f9957fb2a19b711cf660b7f23d7410e47e6
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu Dec 2 15:03:13 2021 -0800

    Revert "libsnmp: Use the recommended OpenSSL functions"
    
    This reverts commit 0bb1243671fe9a1389d3c735100747982a1b3c3c.
    Revert this commit because it breaks the regression tests.

commit e87892b94ed90d17730730c2ead69b4e17a47ec2
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Nov 30 22:13:42 2021 -0800

    configure: Restore support for compilers that do not support -Werror
    
    See also https://github.com/net-snmp/net-snmp/issues/376 .

commit 0bb1243671fe9a1389d3c735100747982a1b3c3c
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Nov 28 16:09:21 2021 -0800

    libsnmp: Use the recommended OpenSSL functions
    
    See also https://github.com/net-snmp/net-snmp/issues/294 .

commit 86231d18704a5560f217089a5c83a2bd9cfe2340
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Nov 28 21:09:08 2021 -0800

    configure: Fix --disable-perl-cc-checks
    
    Instead of only skipping the PERLCC assignment, also skip the compiler
    compatibility check.
    
    See also https://sourceforge.net/p/net-snmp/bugs/2885/ .

commit 5b9515d0c7281f52a327e0e8d1144725a706e794
Author: minfrin <minfrin@users.noreply.github.com>
Date:   Tue Jan 5 23:17:14 2021 +0000

    Add support for digests detected from ECC certificates
    
    Previously, the digest could be detected on RSA certificates only. This
    patch adds detection for ECC certificates.
    
    [ bvanassche: changed _htmap2 into a two-dimensional array and renamed _htmap2
      back to _htmap ]

commit f720ee7aed1ec26501db384d32bc8a29bb0f43d9
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Nov 9 21:15:37 2021 -0800

    configure: #include <sys/time.h> before testing select()
    
    This should improve the detection of the type of the fifth argument of
    select() on Solaris.

commit 1a560274d0f440d5c604c36b2c32b36e2a3d9a28
Author: David Korczynski <david@adalogics.com>
Date:   Sat Nov 6 00:18:56 2021 +0000

    libsnmp: Fix stack-based buffer underflow
    
    Ensure `strlen(defbuf)` is above zero before the code
    `defbuf[strlen(defbuf) - 1] = 0;`
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40699
    
    Signed-off-by: David Korczynski <david@adalogics.com>

commit d26d9e4570e3c2a441c1fd700df5e8134c3ecd17
Author: Wes Hardaker <opensource@hardakers.net>
Date:   Tue Nov 9 07:52:32 2021 -0800

    patch from Charles Polisher to fix the if syntax

commit 17a1691b66b96ed7b5b863621966871bc66047e3
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Oct 27 21:04:21 2021 -0700

    libsnmp: Unbreak the build if OpenSSL support is disabled
    
    Fixes: 9d7b9669a577 ("snmpd: Fix memory leaks in USM and DH algorithms")

commit a4932f7987efc213ccb152d5d307111c49b63f17
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Oct 27 19:51:06 2021 -0700

    ci: Also run the build-and-test action on pull requests

commit 4fcb0b77c12936d63f462c936e31b02fed8efa59
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Oct 17 13:14:32 2021 -0700

    RMON-MIB: Fix two compiler warnings

commit fb361fd42247802c738885e026ceb22992cdf9cb
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Oct 17 13:12:43 2021 -0700

    libsnmp: Use tolower() directly
    
    From the ANSI C standard (1998): "If the argument is a character for which
    isupper is true and there are one or more corresponding characters, as
    specified by the current locale, for which islower is true, the tolower
    function returns one of the corresponding characters (always the same one
    for any giv en locale); otherwise, the argument is returned unchanged."
    
    Hence use tolower() directly.

commit d0891c58f94520d302246534fcd97e41ec3f950f
Author: David Korczynski <david@adalogics.com>
Date:   Thu Oct 14 11:37:13 2021 +0100

    snmpd: Fix memory allocation
    
    Ensure memory allocation of more than 1 byte in case asp->vbcount is 0
    Further clarification of this is found here:
    https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39901#c1
    
    This also fixes
    https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39930
    
    Signed-off-by: David Korczynski <david@adalogics.com>

commit e49f81d24299f5196ac06b74ff54595f4fb7ed55
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Oct 13 20:05:48 2021 -0700

    libsnmp: Fix a compiler warning
    
    Fix the following compiler warning:
    
    transports/snmpTLSBaseDomain.c: In function ‘_openssl_log_error’:
    transports/snmpTLSBaseDomain.c:1194:9: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
     1194 |         snmp_log(LOG_ERR, "%s (file %s, func %s, line %d)\n",
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1195 |                  ERR_error_string(numerical_reason, NULL), file, func, line);
          |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Fixes: b4ec52560170 ("libsnmp: Port to OpenSSL 1.1.1e")

commit e8c5d07a501d1473db5c9ef90d695e2782f88708
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Oct 13 19:57:08 2021 -0700

    libsnmp: Only include <openssl/dh.h> if it is available
    
    See also commit 9d7b9669a577 ("snmpd: Fix memory leaks in USM and DH
    algorithms").

commit 9d7b9669a57757ba1b01d67cc0658b04002698be
Author: EZenderink <eldin.zenderink@bench.com>
Date:   Mon Sep 27 14:14:55 2021 +0200

    snmpd: Fix memory leaks in USM and DH algorithms
    
    [ bvanassche: made small additional changes and edited the patch description ]

commit 16be05e0cad51bd5b0e905066ea2092e574377fd
Author: lukas-wimmer <66684408+lukas-wimmer@users.noreply.github.com>
Date:   Mon Oct 4 13:14:23 2021 +0200

    libsnmp: Fix an openssl error ring segmentation fault
    
    Fixes: e498db9f886c ("CHANGES: moved transport code into a separate subdirectory in snmplib")
    
    [ bvanassche: combined two patches into one / edited patch description ]

commit 167f3116cd552e71c4a746f3c63ddb710ec05332
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Oct 3 17:35:03 2021 -0700

    SNMP-NOTIFICATION-MIB: Fix a crash during shutdown
    
    This patch fixes the following Valgrind complaint:
    
    Invalid read of size 8
       at 0x4CBE442: CONTAINER_CLEAR (container.c:505)
       by 0x49FCE63: _container_free (snmpNotifyFilterTable_interface.c:1882)
       by 0x49FCE63: _snmpNotifyFilterTable_container_shutdown (snmpNotifyFilterTable_interface.c:1939)
       by 0x49FCE63: _snmpNotifyFilterTable_shutdown_interface (snmpNotifyFilterTable_interface.c:410)
       by 0x49D2E4D: shutdown_table_snmpNotifyFilterTable (snmpNotifyFilterTable.c:125)
       by 0x49D2E87: shutdown_snmpNotifyFilterTable (snmpNotifyFilterTable.c:72)
       by 0x4A33291: _shutdown_mib_modules (mib_module_shutdown.h:52)
       by 0x4C8931F: snmp_call_callbacks (callback.c:360)
       by 0x4C58CA5: snmp_shutdown (snmp_api.c:977)
       by 0x405203: main (snmpd.c:1087)
     Address 0x64c6730 is 208 bytes inside a block of size 224 free'd
       at 0x484317B: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0x4CBFC80: netsnmp_binary_array_release (container_binary_array.c:205)
       by 0x4CBFD87: _ba_free (container_binary_array.c:690)
       by 0x4CBE316: CONTAINER_FREE (container.c:484)
       by 0x49D2125: shutdown_snmpNotifyFilterTable_data_storage (snmpNotifyFilterTable_data_storage.c:89)
       by 0x4A33287: _shutdown_mib_modules (mib_module_shutdown.h:51)
       by 0x4C8931F: snmp_call_callbacks (callback.c:360)
       by 0x4C58CA5: snmp_shutdown (snmp_api.c:977)
       by 0x405203: main (snmpd.c:1087)
     Block was alloc'd at
       at 0x48455EF: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0x4CBEACD: netsnmp_container_get_binary_array (container_binary_array.c:797)
       by 0x4CBDC12: netsnmp_container_find (container.c:302)
       by 0x49D2071: snmpNotifyFilter_storage_container_create (snmpNotifyFilterTable_data_storage.c:58)
       by 0x49D20F3: init_snmpNotifyFilterTable_data_storage (snmpNotifyFilterTable_data_storage.c:75)
       by 0x4A3457B: init_mib_modules (mib_module_inits.h:141)
       by 0x404F89: main (snmpd.c:904)

commit 1035c405bfd69dac7d09533d3d43608af732c655
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Oct 3 12:15:52 2021 -0700

    mibs: Declare netsnmp_fsys_info pointers that are not modified const
    
    This patch does not change any functionality.

commit 6db7d2ca701c54d08e7c959011af254e5f193883
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Oct 3 12:15:47 2021 -0700

    fsys: Remove two superfluous assignments
    
    Null-terminating of the output argument of strlcpy() is not necessary since
    strlcpy() guarantees null-termination.

commit 2740eaee234104d6abae132f933ef381976862fe
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Sep 19 15:46:33 2021 -0700

    perl: Leave out -Wimplicit-fallthrough
    
    Leave out this compiler flag since it is not supported by older versions of
    gcc.

commit 19e75743173cb8d49d49fd685b8e0249e83cc820
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Sep 8 20:39:42 2021 -0700

    libsnmp: Fix the build against OpenSSL 3.0
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/343

commit 1672d705202e0f758133707b3a291319bebfdc66
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Sep 7 20:07:42 2021 -0700

    SNMP-NOTIFICATION-MIB: Fix filter lookup
    
    The notification filter information is stored in one container but during
    filtering, a different container is being used to look for matching filters.
    Change agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_data_storage.h
    and agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_data_access.c
    to expose the data_storage method that creates the container (used when
    actual filtering) so that this method can be used when creating the
    container used to store the notification filters.
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/342

commit 64a88cc2fdd3e6f4cb7a66d4c2846da97112494e
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Sep 7 20:29:51 2021 -0700

    libsnmp: Provide a default value for netsnmp_container.ncompare
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/342

commit 94ca941e06bef157bf0e13251f8ca1471daa9393
Author: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date:   Fri Aug 27 14:21:45 2021 +0300

    snmpd: always exit after displaying usage
    
    Currently, viewing the help text with -h results in snmpd being started
    in the background, whereas this does not happen with --help. Similarly,
    when an error is detected in command line syntax, the help text is
    displayed but sometimes snmpd gets started anyway, depending on the
    execution path.
    
    This patch makes snmpd consistently terminate whenever the usage
    function gets called. It also removes the goto statements no longer
    needed.

commit 7330e3e3e08d9baff23332e764f9a53561939fff
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu Sep 2 21:06:54 2021 -0700

    libsnmp: Log "Truncating integer value >32 bits" once
    
    Log this message once instead of every time sysUpTime and/or
    hrSystemUptime are accessed after snmpd is running for more than 497 days.
    
    Fixes: https://github.com/net-snmp/net-snmp/issues/144

commit d7be3dd3329182c178975b3f005c17bb363baca2
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Aug 31 17:05:19 2021 -0700

    ci/openssl.bat: Bump the OpenSSL version

commit 3d9111050a9b5f72797700d84dc0c1cfb4bd3388
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Aug 31 16:08:36 2021 -0700

    ci/net-snmp-configure: Make this script again compatible with Darwin

commit a64fbaaa0e08d29e140014f6f51f338558d503c8
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Aug 31 15:46:24 2021 -0700

    libsnmp: Use asprintf() instead of open-coding it

commit 6090fbed3feea13c635348d67d6be6583b209bc6
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Aug 31 15:45:25 2021 -0700

    libsnmp: Clear freed pointers

commit 6506da8d78e9f53be7fda393deeb4eb0e321e4e1
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Mon Aug 30 15:56:26 2021 -0700

    libsnmp: Return early from alloc_node() if memory allocation fails

commit ae0cea08e45427ce4e607538e1abf79a304bbca9
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Mon Aug 30 15:49:58 2021 -0700

    libsnmp: Simplify free_node()
    
    Remove the if-tests since free() accepts a NULL pointer. Remove a (char *)
    cast since free() accepts an argument of type void *.

commit 19ac11e17903aeb8afb64a15ca1a3584c97c54c3
Author: Niels Baggesen <nba@users.sourceforge.net>
Date:   Mon Aug 30 22:18:06 2021 +0200

    Fix a spurious warning when running tests

commit fdd0ab46b1fb84e4bcc188eca8e2cc5c6075e858
Author: Niels Baggesen <nba@users.sourceforge.net>
Date:   Mon Aug 30 22:07:54 2021 +0200

    Fix build for NetBSD by adding kernel_netbsd

commit 36168dc6a338c6fce2c02e76947b748fb74cc5ef
Author: Niels Baggesen <nba@users.sourceforge.net>
Date:   Mon Aug 30 22:06:38 2021 +0200

    apps/Makefile.in: add mysql libs to snmåptrapd link

commit b7bd3636123497b908bf78d64aba229831ccfab2
Author: Niels Baggesen <nba@users.sourceforge.net>
Date:   Mon Aug 30 22:01:41 2021 +0200

    mibs: updated IANAifType-MIB, IANA-ADDRESS-FAMILY-NUMBERS-MIB

commit c3ac5ac59bd8f40aec6d383208a7cd0d52a868f6
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Aug 29 17:33:44 2021 -0700

    apps/snmppcap: Do not cast away constness

commit 00901cf770855826f187db76f27258e646c6fd2d
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Aug 29 12:23:11 2021 -0700

    ci/net-snmp-configure: Refine when to enable embedded Perl
    
    Only enable embedded Perl if Net-SNMP and the Perl interpreter are built with
    the same compiler type. If different compilers are used and if embedded Perl
    is enabled, the configure script reports the following:
    
    configure: error: This build is using a GNU C compiler (clang) while Perl
    has been compiled with a non-GNU (or non-working) compiler
    (x86_64-linux-gnu-gcc). This likely won't work for building with Perl
    support. Either specify a different compiler (--with-cc=PATH), disable this
    check (--disable-perl-cc-checks) or build without Perl
    (--without-perl-modules).

commit b9308221b1d0c1f77c8b2511e196376dc2870211
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sun Aug 29 09:25:06 2021 -0700

    libsnmp: Fix more undefined behavior in asn_build_int()
    
    According to the C standard, triggering an overflow by shifting a signed
    integer left results in undefined behavior. Fix this by inserting a cast.
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37808

commit 416705ce8abf2d33f693d057d77aa5bc1b0fb364
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Aug 28 17:17:35 2021 -0700

    ci: Disable the Python tests because these fail sporadically

commit c21ad2b5b3b48d68b6973c1d768042e5417e92e0
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Sat Aug 28 16:14:29 2021 -0700

    ci/net-snmp-configure: Improve this script
    
    Introduce functions for retrieving the version of a software package.
    Reenable the DISMAN expression MIB. Use the recommended approach to pass
    $CFLAGS, $CPPFLAGS and $LDFLAGS to the configure script.

commit 9fca293b2de46d3a734cd3d6e68611de6ac207a5
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Fri Aug 27 10:33:46 2021 -0700

    snmpd, IP-MIB, UCD-MIB: Remove superfluous string termination code
    
    Since snprintf(buf, sizeof(buf), ...) guarantees that the string written
