423fbf3121
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.
97 lines
2.9 KiB
Text
97 lines
2.9 KiB
Text
$NetBSD: patch-dl,v 1.6 2013/03/17 00:15:29 gdt Exp $
|
|
|
|
--- agent/mibgroup/mibII/tcp.c.orig 2012-10-09 22:28:58.000000000 +0000
|
|
+++ agent/mibgroup/mibII/tcp.c
|
|
@@ -197,6 +197,16 @@ init_tcp(void)
|
|
#define USES_TRADITIONAL_TCPSTAT
|
|
#endif
|
|
|
|
+#ifdef TCP_NSTATS
|
|
+typedef uint32_t tcp_stats[TCP_NSTATS];
|
|
+#define TCP_STAT_STRUCTURE tcp_stats
|
|
+#endif
|
|
+
|
|
+#ifdef dragonfly
|
|
+#define TCP_STAT_STRUCTURE struct tcp_stats
|
|
+#define USES_TRADITIONAL_TCPSTAT
|
|
+#endif
|
|
+
|
|
#if !defined(TCP_STAT_STRUCTURE)
|
|
#define TCP_STAT_STRUCTURE struct tcpstat
|
|
#define USES_TRADITIONAL_TCPSTAT
|
|
@@ -324,6 +334,75 @@ tcp_handler(netsnmp_mib_handler
|
|
#endif /* linux */
|
|
netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHOBJECT);
|
|
continue;
|
|
+#elif defined(TCP_NSTAT)
|
|
+ case TCPRTOALGORITHM: /* Assume Van Jacobsen's algorithm */
|
|
+ ret_value = 4;
|
|
+ type = ASN_INTEGER;
|
|
+ break;
|
|
+ case TCPRTOMIN:
|
|
+#ifdef TCPTV_NEEDS_HZ
|
|
+ ret_value = TCPTV_MIN;
|
|
+#else
|
|
+ ret_value = TCPTV_MIN / PR_SLOWHZ * 1000;
|
|
+#endif
|
|
+ type = ASN_INTEGER;
|
|
+ break;
|
|
+ case TCPRTOMAX:
|
|
+#ifdef TCPTV_NEEDS_HZ
|
|
+ ret_value = TCPTV_REXMTMAX;
|
|
+#else
|
|
+ ret_value = TCPTV_REXMTMAX / PR_SLOWHZ * 1000;
|
|
+#endif
|
|
+ type = ASN_INTEGER;
|
|
+ break;
|
|
+ case TCPMAXCONN:
|
|
+ ret_value = -1; /* Dynamic maximum */
|
|
+ type = ASN_INTEGER;
|
|
+ break;
|
|
+ case TCPACTIVEOPENS:
|
|
+ ret_value = tcpstat[TCP_STAT_CONNATTEMPT];
|
|
+ break;
|
|
+ case TCPPASSIVEOPENS:
|
|
+ ret_value = tcpstat[TCP_STAT_ACCEPTS];
|
|
+ break;
|
|
+ /*
|
|
+ * NB: tcps_drops is actually the sum of the two MIB
|
|
+ * counters tcpAttemptFails and tcpEstabResets.
|
|
+ */
|
|
+ case TCPATTEMPTFAILS:
|
|
+ ret_value = tcpstat[TCP_STAT_CONNDROPS];
|
|
+ break;
|
|
+ case TCPESTABRESETS:
|
|
+ ret_value = tcpstat[TCP_STAT_DROPS];
|
|
+ break;
|
|
+ case TCPCURRESTAB:
|
|
+#ifdef USING_MIBII_TCPTABLE_MODULE
|
|
+ ret_value = TCP_Count_Connections();
|
|
+#else
|
|
+ ret_value = 0;
|
|
+#endif
|
|
+ type = ASN_GAUGE;
|
|
+ break;
|
|
+ case TCPINSEGS:
|
|
+ ret_value = tcpstat[TCP_STAT_RCVTOTAL];
|
|
+ break;
|
|
+ case TCPOUTSEGS:
|
|
+ /*
|
|
+ * RFC 1213 defines this as the number of segments sent
|
|
+ * "excluding those containing only retransmitted octets"
|
|
+ */
|
|
+ ret_value = tcpstat[TCP_STAT_SNDTOTAL] - tcpstat[TCP_STAT_SNDREXMITPACK];
|
|
+ break;
|
|
+ case TCPRETRANSSEGS:
|
|
+ ret_value = tcpstat[TCP_STAT_SNDREXMITPACK];
|
|
+ break;
|
|
+ case TCPINERRS:
|
|
+ ret_value = tcpstat[TCP_STAT_RCVBADSUM] + tcpstat[TCP_STAT_RCVBADOFF]
|
|
+ + tcpstat[TCP_STAT_RCVMEMDROP] + tcpstat[TCP_STAT_RCVSHORT];
|
|
+ break;
|
|
+ case TCPOUTRSTS:
|
|
+ ret_value = tcpstat[TCP_STAT_SNDCTRL] - tcpstat[TCP_STAT_CLOSED];
|
|
+ break;
|
|
#elif defined(USES_TRADITIONAL_TCPSTAT) && !defined(_USE_FIRST_PROTOCOL)
|
|
#ifdef HAVE_SYS_TCPIPSTATS_H
|
|
/*
|