pkgsrc/net/net-snmp/patches/patch-es
gdt 423fbf3121 Update to 5.7.2.
This is a major update in terms of pkgsrc patches, of which there are
far far too many.  Analysis of patches was done by Karen Sirois of
BBN, and I have remvoed patches that have been applied upstream.

This builds fine and passes tests on NetBSD 6 i386.  If you look after
some other platform (Dragonfly, Darwin, FreeBSD, etc.), please make
sure any problems are filed as upstream tickets; pkgsrc is not
appropriate to carry patches long-term that should be fixed upstream,
and this package has gotten out of hand.

(OK by adam@ to do the update, but he has not reviewed the changes, so
errors are my fault.  It's quite likely there are issues on other
platforms.)

Upstream NEWS:

*5.7.2*
    snmp:
      - BUG: 3526549: CVE-2012-2141 Array index error leading to crash

    snmpd:
      - BUG: 3532090: Fix high ifIndex values crashing hrDeviceDescr

    building:
      - PATCH: 2091156: correctly declare dependencies in Makefile. 'make
        -j <N>' should work now. Backport this to V5-4 as it is needed for
        correct operation in the single threaded case of make miblib as
        well.

    Many other miscellaneous minor bug fixes

*5.7.1*

  libnetsnmp:
      - Fixed the mib-parsing-bug introduced shortly before 5.7

  agent:
      - fixed rounding errors for disk percentage calculations

  openbsd:
      - better support for recent openbsd releases

  features:
      - bug fixes with minimalist support after additional user feedback

  Many other miscellaneous minor bug fixes

*5.7*

  snmpd:
      - Delivery of data via regularily scheduled notifications.
        (see "Data Delivery via Notfications" in snmpd.conf)
      - Many time-based config options can take (m)ins, (h)ours, ... arguments
        (see the snmpd.conf manual page)
      - The PING and TRACEROUTE MIBs now compile and work-ish on linux
        http://www.net-snmp.org/wiki/index.php/DISMAN
      - Mib handlers can now implement a data_clone function for
        cloning the myvoid structure variable to avoid dangling pointers
      - Fixed persistent storage of VACM MIB configuration
      - Multi-homed agents send UDP responses from the proper IP address
      - The hrStorageTable implementation now supports large filesystems better
      - optimizations for large route tables
      - Added a deliveryByNotify config token for regular data delivery
        (see the snmpd.conf manual page and the NET-SNMP-PERIODIC-NOTIFY-MIB)
      - [PATCH 3141462]: fix agentx subagent issues with multiple-object requests
      - [PATCH 3057093]: linux uses libpci for creating useful ifDescr strings
      - [PATCH 3131397]: huge speedups of the TCP/UDP Tables

  libnetsnmp:
      - Removed the older CMU compatibility support
      - The SSH transport is now configurable

  TLS/DTLS support:
      - The SNMP over DTLS transport now properly supports IPv6
      - Introduced new configuration tokens: localCert/peerCert
        (deprecating serverCert, clientCert, defX509ServerPub, defX509ClientPub)
      - Various fixes for the TLS/DTLS transports

  apps:
      - Added a per-variable timed output support to snmpwalk using -CT
      - snmpinform now correctly uses the local engineID for informs
      - A number of mib2c bug fixes
      - New snmp.conf tokens for timeouts and retries

  building:
      - New flags to reduce the amount of compiled code to bare minimums.
        This is provided by a new generic feature marking/selection mechanism.
        http://www.net-snmp.org/wiki/index.php/Feature_Marking_and_Selection
      - It's now possible to build without SNMPv3/USM
        (e.g., if you only want TLS/DTLS with SNMPv3/TSM)
      - It's possible to build the suite with no SET support
        configure using --enable-read-only
      - It's possible to build the agent as a notify-only agent
        configure using --enable-notify-only
      - Added a script to test memory usage with various config options
        (see the local/minimalist/sizetests script)
      - Net-SNMP can now be built to perform local DNSSEC validation
        (install DNSSEC-Tools' libval and use --with-local-dnssec-validation)

  testing:
      - a number of new API unit-tests have been added to the suite
        (to run the tests: cd testing && ./RUNFULLTESTS -g unit-tests)
      - The unit tests can be more easily run under valgrind
        (See http://bit.ly/jsgRnv for details)

  openbsd:
      - Support for updating the routing table via SNMP

  win32:
      - The testing suite works better under win32 environments
      - Many building fixes for the win32 environment(s)

  solaris:
      - Net-SNMP now supports the SCTP-MIB

  DragonFlyBSD, FreeBSD8:
      - Net-SNMP should now work on DragonFlyBSD and FreeBSD8

  And of course:
      - Many other bug fixes.  See the CHANGES and ChangeLog for details.
2013-03-17 00:15:28 +00:00

39 lines
1.4 KiB
Text

$NetBSD: patch-es,v 1.3 2013/03/17 00:15:29 gdt Exp $
--- agent/mibgroup/ucd-snmp/memory_netbsd1.c.orig 2012-10-09 22:28:58.000000000 +0000
+++ agent/mibgroup/ucd-snmp/memory_netbsd1.c
@@ -165,7 +165,7 @@ var_extensible_mem(struct variable *vp,
static char errmsg[1024];
static struct uvmexp uvmexp;
- int uvmexp_size = sizeof(uvmexp);
+ size_t uvmexp_size = sizeof(uvmexp);
int uvmexp_mib[] = { CTL_VM, VM_UVMEXP };
static struct vmtotal total;
size_t total_size = sizeof(total);
@@ -181,13 +181,22 @@ var_extensible_mem(struct variable *vp,
/*
* Memory info
*/
- sysctl(uvmexp_mib, 2, &uvmexp, &uvmexp_size, NULL, 0);
- sysctl(total_mib, 2, &total, &total_size, NULL, 0);
+ if (sysctl(uvmexp_mib, 2, &uvmexp, &uvmexp_size, NULL, 0) == -1) {
+ snmp_log(LOG_ERR, "sysctl VM_UVMEXP failed (errno %d)\n", errno);
+ return NULL;
+ }
+ if (sysctl(total_mib, 2, &total, &total_size, NULL, 0) == -1) {
+ snmp_log(LOG_ERR, "sysctl VM_METER failed (errno %d)\n", errno);
+ return NULL;
+ }
/*
* Physical memory
*/
- sysctl(phys_mem_mib, 2, &phys_mem, &phys_mem_size, NULL, 0);
+ if (sysctl(phys_mem_mib, 2, &phys_mem, &phys_mem_size, NULL, 0) == -1) {
+ snmp_log(LOG_ERR, "sysctl HW_USERMEM failed (errno %d)\n", errno);
+ return NULL;
+ }
long_ret = 0; /* set to 0 as default */