ports/110969: [patch] net-snmp 5.4
valerio.daelli at gmail.com
valerio.daelli at gmail.com
Wed Mar 28 13:30:03 UTC 2007
>Number: 110969
>Category: ports
>Synopsis: [patch] net-snmp 5.4
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 28 13:30:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Valerio Daelli
>Release: FreeBSD 6.2-RELEASE-p3 amd64
>Organization:
IFOM
>Environment:
System: FreeBSD sodio.ifom-ieo-campus.it 6.2-RELEASE-p3 FreeBSD 6.2-RELEASE-p3 #5: Fri Mar 16 15:21:33 CET 2007 root at sodio.ifom-ieo-campus.it:/usr/obj/usr/src/sys/SODIO amd64
>Description:
Patch for net-snmp 5.3.1 -> 5.4
>How-To-Repeat:
>Fix:
--- PATCH-SNMP-5.4 begins here ---
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/Makefile /usr/ports/net-mgmt/net-snmp/Makefile
--- /usr/ports/net-mgmt/net-snmp.BAK/Makefile Sun Mar 25 14:35:45 2007
+++ /usr/ports/net-mgmt/net-snmp/Makefile Wed Mar 28 14:31:48 2007
@@ -6,8 +6,8 @@
#
PORTNAME= snmp
-PORTVERSION= 5.3.1
-PORTREVISION= 3
+PORTVERSION= 5.4
+PORTREVISION= 0
CATEGORIES= net-mgmt ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
@@ -81,7 +81,7 @@
PLIST_SUB+= WITH_IPV6="@comment "
.endif
-SHLIB_VERSION= 10
+SHLIB_VERSION= 15
PLIST_SUB+= SHLIB_VERSION=${SHLIB_VERSION}
SCRIPTS_SUB= PREFIX=${PREFIX} PERL=${PERL}
@@ -206,7 +206,7 @@
@${ECHO_MSG} " agent"
@${ECHO_MSG}
-post-patch: patch-autoconf patch-script-files
+post-patch:
patch-autoconf:
@${AWK} '/@synopsis/,/taken from libtool.m4/' ${WRKSRC}/aclocal.m4 > ${WRKSRC}/aclocal.m4.tmp
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/distinfo /usr/ports/net-mgmt/net-snmp/distinfo
--- /usr/ports/net-mgmt/net-snmp.BAK/distinfo Wed Feb 28 02:17:15 2007
+++ /usr/ports/net-mgmt/net-snmp/distinfo Wed Mar 28 14:31:48 2007
@@ -1,3 +1,3 @@
-MD5 (net-snmp-5.3.1.tar.gz) = 360a9783dbc853bab6bda90d961daee5
-SHA256 (net-snmp-5.3.1.tar.gz) = fb6d5113ccdd8c4661fe5d825160e45a7c5035b145e24ec18f71a509ecb0fe43
-SIZE (net-snmp-5.3.1.tar.gz) = 4210843
+MD5 (net-snmp-5.4.tar.gz) = 46d893281056ff476e597659cb91574d
+SHA256 (net-snmp-5.4.tar.gz) = 2f43cd6f3c4066f8c17fdc47931a96c1fce808c9d1dd74bcb5a79d9d29d5f947
+SIZE (net-snmp-5.4.tar.gz) = 5031685
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-Makefile.in /usr/ports/net-mgmt/net-snmp/files/patch-Makefile.in
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-Makefile.in Wed Nov 30 06:22:40 2005
+++ /usr/ports/net-mgmt/net-snmp/files/patch-Makefile.in Wed Mar 28 14:31:48 2007
@@ -4,8 +4,8 @@
INSTALLHEADERS=version.h
INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \
-- darwin.h darwin7.h darwin8.h freebsd5.h freebsd6.h \
-+ darwin.h darwin7.h darwin8.h freebsd5.h freebsd6.h freebsd7.h \
+- darwin.h darwin7.h darwin8.h darwin9.h freebsd5.h freebsd6.h \
++ darwin.h darwin7.h darwin8.h darwin9.h freebsd5.h freebsd6.h freebsd7.h \
dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
irix.h linux.h mingw32.h mips.h netbsd.h openbsd.h osf5.h \
solaris2.6.h solaris2.7.h solaris2.8.h solaris2.9.h solaris2.10.h \
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-agent.xs /usr/ports/net-mgmt/net-snmp/files/patch-agent.xs
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-agent.xs Mon Mar 5 15:42:00 2007
+++ /usr/ports/net-mgmt/net-snmp/files/patch-agent.xs Wed Mar 28 14:31:48 2007
@@ -1,19 +1,6 @@
---- perl/agent/agent.xs.old Fri May 26 15:16:45 2006
-+++ perl/agent/agent.xs Mon Mar 5 13:42:35 2007
-@@ -18,9 +18,9 @@
- } handler_cb_data;
-
- typedef struct netsnmp_oid_s {
-- unsigned int *name;
-- unsigned int len;
-- unsigned int namebuf[ MAX_OID_LEN ];
-+ oid *name;
-+ size_t len;
-+ oid namebuf[ MAX_OID_LEN ];
- } netsnmp_oid;
-
- static int have_done_agent = 0;
-@@ -569,7 +569,7 @@
+--- perl/agent/agent.xs.old Fri May 26 15:16:45 2006
++++ perl/agent/agent.xs Mon Mar 5 13:42:35 2007
+@@ -573,7 +573,7 @@
arg = newSVrv(rarg, "netsnmp_oidPtr");
sv_setiv(arg, (IV) o);
@@ -22,7 +9,7 @@
PUTBACK;
i = perl_call_pv("NetSNMP::OID::newwithptr", G_SCALAR);
-@@ -608,7 +608,7 @@
+@@ -612,7 +612,7 @@
arg = newSVrv(rarg, "netsnmp_oidPtr");
sv_setiv(arg, (IV) o);
@@ -31,7 +18,7 @@
PUTBACK;
i = perl_call_pv("NetSNMP::OID::newwithptr", G_SCALAR);
-@@ -997,11 +997,13 @@
+@@ -1001,11 +1001,13 @@
rarg = newSViv(0);
arg = newSVrv(rarg, "NetSNMP::agent::netsnmp_request_infoPtr");
sv_setiv(arg, (IV) request);
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-freebsd5.h /usr/ports/net-mgmt/net-snmp/files/patch-freebsd5.h
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-freebsd5.h Tue Aug 31 17:52:18 2004
+++ /usr/ports/net-mgmt/net-snmp/files/patch-freebsd5.h Wed Mar 28 14:31:48 2007
@@ -3,8 +3,6 @@
@@ -7,6 +7,7 @@
#define freebsd3 1
/* freebsd5 is a superset of freebsd4 */
- #define freebsd4 1
+ #define freebsd4 freebsd4
+#define freebsd5 1
- #undef IFADDR_SYMBOL
- #define IFADDR_SYMBOL "in_ifaddrhead"
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-hr_storage.c /usr/ports/net-mgmt/net-snmp/files/patch-hr_storage.c
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-hr_storage.c Wed Nov 30 06:22:40 2005
+++ /usr/ports/net-mgmt/net-snmp/files/patch-hr_storage.c Wed Mar 28 14:31:48 2007
@@ -1,221 +0,0 @@
---- agent/mibgroup/host/hr_storage.c.orig Fri Oct 7 07:55:23 2005
-+++ agent/mibgroup/host/hr_storage.c Wed Nov 30 12:01:05 2005
-@@ -233,6 +233,10 @@
- void sol_get_swapinfo(int *, int *);
- #endif
-
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 500102
-+void collect_mbuf(long *long_mbuf, long *long_mbufc);
-+#endif
-+
- #define HRSTORE_MEMSIZE 1
- #define HRSTORE_INDEX 2
- #define HRSTORE_TYPE 3
-@@ -472,7 +476,8 @@
- NULL,
- "Memory Buffers", /* HRS_TYPE_MBUF */
- "Real Memory", /* HRS_TYPE_MEM */
-- "Swap Space" /* HRS_TYPE_SWAP */
-+ "Swap Space", /* HRS_TYPE_SWAP */
-+ "Memory Buffer Clusters" /* HRS_TYPE_MBUFCLUSTER */
- };
-
-
-@@ -611,6 +616,7 @@
- storage_type_id[storage_type_len - 1] = 3; /* Virtual Mem */
- break;
- case HRS_TYPE_MBUF:
-+ case HRS_TYPE_MBUFCLUSTER:
- storage_type_id[storage_type_len - 1] = 1; /* Other */
- break;
- default:
-@@ -704,7 +710,7 @@
- long_return = memory_totals.t_vm;
- #endif
- break;
--#else /* !linux && !solaris2 && !hpux10 && !hpux11 && ... */
-+#else
- case HRS_TYPE_MEM:
- long_return = physmem;
- break;
-@@ -726,13 +732,45 @@
- i++)
- long_return += mbstat.m_mtypes[i];
- #elif defined(MBSTAT_SYMBOL) && defined(STRUCT_MBSTAT_HAS_M_MBUFS)
-+#if !defined(__FreeBSD__) || __FreeBSD_version < 500021
- long_return = mbstat.m_mbufs;
-+#elif defined(__FreeBSD__) && __FreeBSD_version < 500024
-+ /* mbuf stats disabled */
-+ return NULL;
-+#elif defined(__FreeBSD__)
-+ {
-+ size_t mlen = sizeof(int);
-+ int nmbufs;
-+ if (sysctlbyname("kern.ipc.nmbufs", &nmbufs, &mlen,
-+ NULL, 0) < 0) {
-+ return NULL;
-+ }
-+ long_return = nmbufs;
-+ break;
-+ }
-+#else
-+#error "XXX"
-+ /* XXX TODO: implement new method */
-+ return NULL;
-+#endif /* __FreeBSD__ */
- #elif defined(NO_DUMMY_VALUES)
- goto try_next;
- #else
- long_return = 0;
- #endif
- break;
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 500024
-+ case HRS_TYPE_MBUFCLUSTER: {
-+ size_t mlen = sizeof(int);
-+ int nmbclusters;
-+ if (sysctlbyname("kern.ipc.nmbclusters", &nmbclusters, &mlen,
-+ NULL, 0) < 0) {
-+ return NULL;
-+ }
-+ long_return = nmbclusters;
-+ break;
-+ }
-+#endif
- default:
- #if NO_DUMMY_VALUES
- goto try_next;
-@@ -796,6 +834,12 @@
- #endif
- #elif defined(MBSTAT_SYMBOL) && defined(STRUCT_MBSTAT_HAS_M_CLUSTERS)
- long_return = mbstat.m_clusters - mbstat.m_clfree; /* unlikely, but... */
-+#elif defined(__FreeBSD__) && __FreeBSD_version < 500102
-+ /* mbuf stats disabled */
-+ return NULL;
-+#elif defined(__FreeBSD__)
-+ collect_mbuf((long*)&long_return, (long*)NULL);
-+ break;
- #elif defined(NO_DUMMY_VALUES)
- goto try_next;
- #else
-@@ -803,6 +847,11 @@
- #endif
- break;
- #endif /* !linux && !solaris2 && !hpux10 && !hpux11 && ... */
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 500102
-+ case HRS_TYPE_MBUFCLUSTER:
-+ collect_mbuf(NULL, &long_return);
-+ break;
-+#endif
- default:
- #if NO_DUMMY_VALUES
- goto try_next;
-@@ -829,7 +878,11 @@
- break;
- #if !defined(linux) && !defined(solaris2) && !defined(hpux10) && !defined(hpux11) && defined(MBSTAT_SYMBOL)
- case HRS_TYPE_MBUF:
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 502113
-+ long_return = mbstat.m_mcfail + mbstat.m_mpfail;
-+#else
- long_return = mbstat.m_drops;
-+#endif
- break;
- #endif /* !linux && !solaris2 && !hpux10 && !hpux11 && MBSTAT_SYMBOL */
- default:
-@@ -955,3 +1008,97 @@
- *usedP = ainfo.ani_resv;
- }
- #endif /* solaris2 */
-+
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 500102
-+void
-+collect_mbuf(long *long_mbuf, long *long_mbufc)
-+{
-+#if __FreeBSD_version >= 502113
-+ size_t mlen;
-+ struct mbstat mbstat;
-+
-+ mlen = sizeof mbstat;
-+ if (sysctlbyname("kern.ipc.mbstat", &mbstat, &mlen, NULL, 0) < 0) {
-+ warn("sysctl: retrieving mbstat");
-+ return;
-+ }
-+ if (mbstat.m_mbufs < 0) mbstat.m_mbufs = 0; /* XXX */
-+ if (mbstat.m_mclusts < 0) mbstat.m_mclusts = 0; /* XXX */
-+ if (long_mbuf) {
-+ *long_mbuf = mbstat.m_mbufs;
-+ }
-+ if (long_mbufc) {
-+ *long_mbufc = mbstat.m_mclusts;
-+ }
-+#else
-+ int i, j, num_objs;
-+ size_t mlen;
-+ u_long totused[2];
-+ u_long totnum, totfree;
-+ struct mbstat mbstat;
-+ struct mbpstat **mbpstat = NULL;
-+
-+ if (sysctlbyname("kern.ipc.mb_statpcpu", NULL, &mlen, NULL, 0) < 0) {
-+ warn("sysctl: retrieving mb_statpcpu len");
-+ goto err;
-+ }
-+ num_objs = (int)(mlen / sizeof(struct mbpstat));
-+ if ((mbpstat = calloc(num_objs, sizeof(struct mbpstat *))) == NULL) {
-+ warn("calloc: cannot allocate memory for mbpstats pointers");
-+ goto err;
-+ }
-+ if ((mbpstat[0] = calloc(num_objs, sizeof(struct mbpstat))) == NULL) {
-+ warn("calloc: cannot allocate memory for mbpstats");
-+ goto err;
-+ }
-+
-+ if (sysctlbyname("kern.ipc.mb_statpcpu", mbpstat[0], &mlen, NULL, 0) < 0) {
-+ warn("sysctl: retrieving mb_statpcpu");
-+ goto err;
-+ }
-+ mlen = sizeof mbstat;
-+ if (sysctlbyname("kern.ipc.mbstat", &mbstat, &mlen, NULL, 0) < 0) {
-+ warn("sysctl: retrieving mbstat");
-+ goto err;
-+ }
-+
-+ for (i = 0; i < num_objs; i++)
-+ mbpstat[i] = mbpstat[0] + i;
-+
-+#define GENLST (num_objs - 1)
-+
-+ totnum = mbpstat[GENLST]->mb_mbbucks * mbstat.m_mbperbuck;
-+ totfree = mbpstat[GENLST]->mb_mbfree;
-+ for (i = 0; i < (num_objs - 1); i++) {
-+ if (mbpstat[i]->mb_active == 0)
-+ continue;
-+ totnum += mbpstat[i]->mb_mbbucks * mbstat.m_mbperbuck;
-+ totfree += mbpstat[i]->mb_mbfree;
-+ }
-+ totused[0] = totnum - totfree;
-+ totnum = mbpstat[GENLST]->mb_clbucks * mbstat.m_clperbuck;
-+ totfree = mbpstat[GENLST]->mb_clfree;
-+ for (i = 0; i < (num_objs - 1); i++) {
-+ if (mbpstat[i]->mb_active == 0)
-+ continue;
-+ totnum += mbpstat[i]->mb_clbucks * mbstat.m_clperbuck;
-+ totfree += mbpstat[i]->mb_clfree;
-+ }
-+ totused[1] = totnum - totfree;
-+
-+ if (long_mbuf) {
-+ *long_mbuf = totused[0];
-+ }
-+ if (long_mbufc) {
-+ *long_mbufc = totused[1];
-+ }
-+
-+ err:
-+ if (mbpstat != NULL) {
-+ if (mbpstat[0] != NULL)
-+ free(mbpstat[0]);
-+ free(mbpstat);
-+ }
-+#endif
-+}
-+#endif
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-ipv6.c /usr/ports/net-mgmt/net-snmp/files/patch-ipv6.c
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-ipv6.c Mon Nov 29 05:08:29 2004
+++ /usr/ports/net-mgmt/net-snmp/files/patch-ipv6.c Wed Mar 28 14:31:48 2007
@@ -1,5 +1,5 @@
---- agent/mibgroup/mibII/ipv6.c.orig Thu Jul 8 05:31:54 2004
-+++ agent/mibgroup/mibII/ipv6.c Mon Oct 25 08:32:31 2004
+--- agent/mibgroup/mibII/ipv6.c.orig Tue Nov 7 00:43:27 2006
++++ agent/mibgroup/mibII/ipv6.c Tue Mar 20 10:06:33 2007
@@ -8,10 +8,25 @@
#define _KERNEL 1
#define _I_DEFINED_KERNEL
@@ -36,7 +36,7 @@
# if HAVE_NETINET_IN_PCB_H
# include <netinet/in_pcb.h>
# endif
-@@ -575,7 +590,7 @@
+@@ -578,7 +593,7 @@
memcpy(result, &tmp, sizeof(tmp));
return 0;
}
@@ -45,7 +45,7 @@
q = (caddr_t) TAILQ_NEXT(&tmp, if_link);
#else
# if defined(__NetBSD__) || defined(__OpenBSD__)
-@@ -806,7 +821,7 @@
+@@ -809,7 +824,7 @@
if (if_getifnet(interface, &ifnet) < 0)
break;
@@ -54,7 +54,16 @@
ifa = (caddr_t) TAILQ_FIRST(&ifnet.if_addrhead);
#else
# if defined(__NetBSD__) || defined(__OpenBSD__)
-@@ -827,7 +842,7 @@
+@@ -823,7 +838,7 @@
+ DEBUGMSGTL(("mibII/ipv6:var_ipv6", "klookup failed\n"));
+ break;
+ }
+- if (!NETSNMP_KLOOKUP(ifaddr.ifa_addr, (char *) &sdl, sizeof(sdl));
++ if (!NETSNMP_KLOOKUP(ifaddr.ifa_addr, (char *) &sdl, sizeof(sdl))) {
+ DEBUGMSGTL(("mibII/ipv6:var_ipv6", "klookup failed\n"));
+ break;
+ }
+@@ -835,7 +850,7 @@
*var_len = sdl.sdl_alen;
return (u_char *) (sdl.sdl_data + sdl.sdl_nlen);
}
@@ -63,7 +72,7 @@
ifa = (caddr_t) TAILQ_NEXT(&ifaddr, ifa_link);
#else
# if defined(__NetBSD__) || defined(__OpenBSD__)
-@@ -1220,32 +1235,33 @@
+@@ -1228,32 +1243,33 @@
size_t * length,
int exact, size_t * var_len, WriteMethod ** write_method)
{
@@ -106,7 +115,7 @@
if (!auto_nlist("udb6", (char *) &udb6, sizeof(udb6)))
return NULL;
p = (caddr_t) udb6.in6p_next;
-@@ -1274,9 +1290,10 @@
+@@ -1282,9 +1298,10 @@
(int) vp->namelen * sizeof(oid));
DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
while (
@@ -119,14 +128,14 @@
p && (u_long) p != auto_nlist_value("udb6")
#else
xig->xig_len > sizeof(struct xinpgen)
-@@ -1284,31 +1301,32 @@
+@@ -1292,31 +1309,32 @@
) {
DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
-#if !(defined(__FreeBSD__) && __FreeBSD__ >= 3) && !defined(darwin)
-- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
+- if (!NETSNMP_KLOOKUP(p, (char *) &in6pcb, sizeof(in6pcb))) {
+#if OS_NOT_FREEBSD_NOR_DARWIN
-+ if (klookup((u_long) p, (char *) &tstpcb, sizeof(tstpcb)) < 0) {
++ if (!NETSNMP_KLOOKUP((u_long) p, (char *) &tstpcb, sizeof(tstpcb)) < 0) {
DEBUGMSGTL(("mibII/ipv6", "klookup fail for udb6 at %x\n",
p));
found = 0;
@@ -163,7 +172,7 @@
else
newname[j++] = 0;
/*XXX*/
-@@ -1319,7 +1337,7 @@
+@@ -1327,7 +1345,7 @@
result = snmp_oid_compare(name, *length, newname, j);
if (exact && (result == 0)) {
@@ -172,7 +181,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1330,7 +1348,7 @@
+@@ -1338,7 +1356,7 @@
*/
if ((savnameLen == 0) ||
(snmp_oid_compare(savname, savnameLen, newname, j) > 0)) {
@@ -181,7 +190,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1338,15 +1356,15 @@
+@@ -1346,15 +1364,15 @@
}
skip:
@@ -202,7 +211,7 @@
free(sysctl_buf);
#endif
DEBUGMSGTL(("mibII/ipv6", "found=%d\n", found));
-@@ -1354,7 +1372,7 @@
+@@ -1362,7 +1380,7 @@
return NULL;
*length = savnameLen;
memcpy((char *) name, (char *) savname, *length * sizeof(oid));
@@ -211,7 +220,7 @@
*write_method = 0;
*var_len = sizeof(long); /* default to 'long' results */
-@@ -1367,14 +1385,14 @@
+@@ -1375,14 +1393,14 @@
switch (vp->magic) {
case IPV6UDPLOCALADDRESS:
*var_len = sizeof(struct in6_addr);
@@ -230,7 +239,7 @@
else
long_return = 0;
/*XXX*/ return (u_char *) & long_return;
-@@ -1392,24 +1410,24 @@
+@@ -1400,24 +1418,24 @@
size_t * length,
int exact, size_t * var_len, WriteMethod ** write_method)
{
@@ -262,7 +271,7 @@
#endif
if (!initialized) {
-@@ -1431,11 +1449,11 @@
+@@ -1439,11 +1457,11 @@
DEBUGMSGOID(("mibII/ipv6", name, *length));
DEBUGMSG(("mibII/ipv6", " %d\n", exact));
@@ -276,7 +285,7 @@
if (!auto_nlist("tcb6", (char *) &tcb6, sizeof(tcb6)))
return NULL;
p = (caddr_t) tcb6.in6p_next;
-@@ -1464,9 +1482,10 @@
+@@ -1472,9 +1490,10 @@
(int) vp->namelen * sizeof(oid));
DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
while (
@@ -289,14 +298,12 @@
p && (u_long) p != auto_nlist_value("tcb6")
#else
xig->xig_len > sizeof(struct xinpgen)
-@@ -1474,41 +1493,41 @@
- ) {
+@@ -1483,38 +1502,38 @@
DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
--#if !(defined(__FreeBSD__) && __FreeBSD__ >= 3) && !defined(darwin)
-- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
-+#if OS_NOT_FREEBSD_NOR_DARWIN
-+ if (klookup((u_long) p, (char *) &tstpcb, sizeof(tstpcb)) < 0) {
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3) && !defined(darwin)
+- if (!NETSNMP_KLOOKUP(p, (char *) &in6pcb, sizeof(in6pcb))) {
++ if (!NETSNMP_KLOOKUP(p, (char *) &tstpcb, sizeof(tstpcb))) {
DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6 at %x\n",
p));
found = 0;
@@ -317,10 +324,8 @@
+ if (0 == (tstpcb.inp_vflag & INP_IPV6PROTO))
goto skip;
#endif
- if (klookup
-- ((u_long) in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
-+ ((u_long) tstpcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
- < 0) {
+- if (!NETSNMP_KLOOKUP(in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))) {
++ if (!NETSNMP_KLOOKUP(tstpcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))) {
DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6.tcp6cb at %x\n",
- in6pcb.in6p_ppcb));
+ tstpcb.in6p_ppcb));
@@ -346,7 +351,7 @@
else
newname[j++] = 0;
/*XXX*/ newname[j++] = tcp6statemap[tcp6cb.t_state];
-@@ -1519,13 +1538,13 @@
+@@ -1525,13 +1544,13 @@
DEBUGMSG(("mibII/ipv6", " %d\n", exact));
#if 1 /* this is very odd but sometimes happen, and cause infinite loop */
@@ -362,7 +367,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1536,7 +1555,7 @@
+@@ -1542,7 +1561,7 @@
*/
if ((savnameLen == 0) ||
(snmp_oid_compare(savname, savnameLen, newname, j) > 0)) {
@@ -371,7 +376,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1544,15 +1563,15 @@
+@@ -1550,15 +1569,15 @@
}
skip:
@@ -392,7 +397,7 @@
free(sysctl_buf);
#endif
DEBUGMSGTL(("mibII/ipv6", "found=%d\n", found));
-@@ -1573,20 +1592,20 @@
+@@ -1579,20 +1598,20 @@
switch (vp->magic) {
case IPV6TCPLOCALADDR:
*var_len = sizeof(struct in6_addr);
@@ -419,7 +424,7 @@
else
long_return = 0;
/*XXX*/ return (u_char *) & long_return;
-@@ -1633,22 +1652,23 @@
+@@ -1639,22 +1658,23 @@
size_t * length,
int exact, size_t * var_len, WriteMethod ** write_method)
{
@@ -450,7 +455,7 @@
#endif
DEBUGMSGTL(("mibII/ipv6", "var_tcp6: "));
-@@ -1688,9 +1708,9 @@
+@@ -1694,9 +1714,9 @@
(int) vp->namelen * sizeof(oid));
DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
while (
@@ -462,14 +467,12 @@
p && (u_long) p != auto_nlist_value("tcb6")
#else
xig->xig_len > sizeof(struct xinpgen)
-@@ -1698,41 +1718,41 @@
- ) {
+@@ -1705,38 +1725,38 @@
DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
--#if !(defined(__FreeBSD__) && __FreeBSD__ >= 3) && !defined(darwin)
-- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
-+#if OS_NOT_FREEBSD_NOR_DARWIN
-+ if (klookup((u_long) p, (char *) &tstpcb, sizeof(in6pcb)) < 0) {
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3) && !defined(darwin)
+- if (!NETSNMP_KLOOKUP(p, (char *) &in6pcb, sizeof(in6pcb))) {
++ if (!NETSNMP_KLOOKUP(p, (char *) &tstpcb, sizeof(in6pcb))) {
DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6 at %x\n",
p));
found = 0;
@@ -490,13 +493,10 @@
+ if (0 == (tstpcb.inp_vflag & INP_IPV6PROTO))
goto skip;
#endif
- if (klookup
-- ((u_long) in6pcb.in6p_ppcb, (char *) &tcpcb, sizeof(tcpcb))
-+ ((u_long) tstpcb.in6p_ppcb, (char *) &tcpcb, sizeof(tcpcb))
- < 0) {
-- DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6.tcpcb at %x\n",
+- if (!NETSNMP_KLOOKUP(in6pcb.in6p_ppcb, (char *) &tcpcb, sizeof(tcpcb))) {
++ if (!NETSNMP_KLOOKUP(tstpcb.in6p_ppcb, (char *) &tcpcb, sizeof(tcpcb))) {
+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6.tcpcb at %x\n",
- in6pcb.in6p_ppcb));
-+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for tcb6.tcp6cb at %x\n",
+ tstpcb.in6p_ppcb));
found = 0;
break;
@@ -520,7 +520,7 @@
else
newname[j++] = 0;
/*XXX*/ newname[j++] = mapTcpState((int)tcpcb.t_state);
-@@ -1743,12 +1763,12 @@
+@@ -1747,12 +1767,12 @@
DEBUGMSG(("mibII/ipv6", " %d\n", exact));
#if 1 /* this is very odd but sometimes happen, and cause infinite loop */
@@ -535,7 +535,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1759,7 +1779,7 @@
+@@ -1763,7 +1783,7 @@
*/
if ((savnameLen == 0) ||
(snmp_oid_compare(savname, savnameLen, newname, j) > 0)) {
@@ -544,7 +544,7 @@
savnameLen = j;
memcpy(savname, newname, j * sizeof(oid));
found++;
-@@ -1767,15 +1787,15 @@
+@@ -1771,15 +1791,15 @@
}
skip:
@@ -565,7 +565,7 @@
free(sysctl_buf);
#endif
DEBUGMSGTL(("mibII/ipv6", "found=%d\n", found));
-@@ -1783,7 +1803,7 @@
+@@ -1787,7 +1807,7 @@
return NULL;
*length = savnameLen;
memcpy((char *) name, (char *) savname, *length * sizeof(oid));
@@ -574,7 +574,7 @@
*write_method = 0;
*var_len = sizeof(long); /* default to 'long' results */
-@@ -1796,20 +1816,20 @@
+@@ -1800,20 +1820,20 @@
switch (vp->magic) {
case IPV6TCPLOCALADDR:
*var_len = sizeof(struct in6_addr);
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-net-snmp-config.h.in /usr/ports/net-mgmt/net-snmp/files/patch-net-snmp-config.h.in
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-net-snmp-config.h.in Sun Mar 25 14:35:45 2007
+++ /usr/ports/net-mgmt/net-snmp/files/patch-net-snmp-config.h.in Wed Mar 28 14:34:19 2007
@@ -2,10 +2,10 @@
+++ include/net-snmp/net-snmp-config.h.in Sun Mar 25 21:01:33 2007
@@ -1334,7 +1334,7 @@
- #define EXCACHETIME 30
- #define CACHEFILE ".snmp-exec-cache"
--#define MAXCACHESIZE (200*80) /* roughly 200 lines max */
-+#define MAXCACHESIZE (1500*80) /* roughly 1500 lines max */
+ #define NETSNMP_EXCACHETIME 30
+ #define NETSNMP_CACHEFILE ".snmp-exec-cache"
+-#define NETSNMP_MAXCACHESIZE (200*80) /* roughly 200 lines max */
++#define NETSNMP_MAXCACHESIZE (1500*80) /* roughly 1500 lines max */
/* misc defaults */
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-snmpUCDIPv6Domain.c /usr/ports/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-snmpUCDIPv6Domain.c Mon Nov 29 05:08:29 2004
+++ /usr/ports/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c Wed Mar 28 14:31:48 2007
@@ -1,6 +1,6 @@
---- snmplib/snmpUDPIPv6Domain.c.orig Sat Oct 16 03:52:29 2004
-+++ snmplib/snmpUDPIPv6Domain.c Mon Oct 25 09:28:10 2004
-@@ -104,13 +104,21 @@
+-- snmplib/snmpUDPIPv6Domain.c.orig Sat Oct 16 03:52:29 2004
++++ snmplib/snmpUDPIPv6Domain.c Mon Oct 25 09:28:10 2004
+@@ -109,13 +109,21 @@
if (to == NULL) {
return strdup("UDP/IPv6: unknown");
} else {
@@ -8,7 +8,7 @@
- char tmp[INET6_ADDRSTRLEN + 8];
+ char tmp[NI_MAXHOST];
-- sprintf(tmp, "UDP/IPv6: [%s]:%hd",
+- sprintf(tmp, "UDP/IPv6: [%s]:%hu",
- inet_ntop(AF_INET6, (void *) &(to->sin6_addr), addr,
- INET6_ADDRSTRLEN), ntohs(to->sin6_port));
- return strdup(tmp);
@@ -21,7 +21,7 @@
+#define NI_WITHSCOPEID 0
+#endif
+ if (getnameinfo(to, sizeof(struct sockaddr_in6), tmp, sizeof(tmp),
-+ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID)) {
++ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID)) {
+ return strdup("UDP/IPv6: unknown");
+ }
+ return strdup(tmp);
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-snmp_agent.c /usr/ports/net-mgmt/net-snmp/files/patch-snmp_agent.c
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-snmp_agent.c Wed Nov 30 06:22:40 2005
+++ /usr/ports/net-mgmt/net-snmp/files/patch-snmp_agent.c Wed Mar 28 14:31:48 2007
@@ -1,10 +1,10 @@
--- agent/snmp_agent.c.orig Thu Mar 17 17:17:43 2005
+++ agent/snmp_agent.c Wed Nov 30 12:23:41 2005
-@@ -839,6 +839,7 @@
- ;
- else if (hosts_ctl("snmpd", STRING_UNKNOWN, STRING_UNKNOWN, STRING_UNKNOWN)){
- snmp_log(allow_severity, "Connection from <UNKNOWN> (%s)\n", addr_string);
-+ SNMP_FREE(addr_string);
+@@ -860,6 +860,7 @@
+ else if (hosts_ctl(name, STRING_UNKNOWN, STRING_UNKNOWN, STRING_UNKNOWN)){
+ if (!not_log_connection) {
+ snmp_log(allow_severity, "Connection from <UNKNOWN> (%s)\n", addr_string);
++ SNMP_FREE(addr_string);
+ };
addr_string = strdup("<UNKNOWN>");
} else {
- snmp_log(deny_severity, "Connection from <UNKNOWN> (%s) REFUSED\n", addr_string);
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-transform_oids.h /usr/ports/net-mgmt/net-snmp/files/patch-transform_oids.h
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-transform_oids.h Wed Dec 8 12:11:27 2004
+++ /usr/ports/net-mgmt/net-snmp/files/patch-transform_oids.h Wed Mar 28 14:31:48 2007
@@ -2,10 +2,10 @@
+++ include/net-snmp/library/transform_oids.h Wed Dec 8 19:34:34 2004
@@ -23,6 +23,8 @@
/* XXX: OIDs not defined yet */
- extern oid usmAESPrivProtocol[10]; /* == { 1,3,6,1,6,3,10,1,2,4 }; */
- extern oid *usmAES128PrivProtocol; /* backwards compat */
-+extern oid *usmAES192PrivProtocol; /* backwards compat */
-+extern oid *usmAES256PrivProtocol; /* backwards compat */
+ NETSNMP_IMPORT oid usmAESPrivProtocol[10]; /* == { 1,3,6,1,6,3,10,1,2,4 }; */
+ NETSNMP_IMPORT oid *usmAES128PrivProtocol; /* backwards compat */
++NETSNMP_IMPORT oid *usmAES192PrivProtocol; /* backwards compat */
++NETSNMP_IMPORT oid *usmAES256PrivProtocol; /* backwards compat */
#define USM_AUTH_PROTO_NOAUTH_LEN 10
#define USM_AUTH_PROTO_MD5_LEN 10
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/files/patch-ucd_snmp.h /usr/ports/net-mgmt/net-snmp/files/patch-ucd_snmp.h
--- /usr/ports/net-mgmt/net-snmp.BAK/files/patch-ucd_snmp.h Wed Feb 28 02:17:16 2007
+++ /usr/ports/net-mgmt/net-snmp/files/patch-ucd_snmp.h Wed Mar 28 14:31:48 2007
@@ -1,11 +0,0 @@
---- agent/mibgroup/ucd_snmp.h.orig Tue Feb 27 20:44:04 2007
-+++ agent/mibgroup/ucd_snmp.h Tue Feb 27 20:44:20 2007
-@@ -41,6 +41,8 @@
- config_arch_require(freebsd5, ucd-snmp/memory_freebsd2)
- config_arch_require(freebsd6, ucd-snmp/vmstat_freebsd2)
- config_arch_require(freebsd6, ucd-snmp/memory_freebsd2)
-+config_arch_require(freebsd7, ucd-snmp/vmstat_freebsd2)
-+config_arch_require(freebsd7, ucd-snmp/memory_freebsd2)
- config_arch_require(netbsd1, ucd-snmp/vmstat_netbsd1)
- config_arch_require(netbsd1, ucd-snmp/memory_netbsd1)
- config_arch_require(netbsd, ucd-snmp/vmstat_netbsd1)
diff -ruN /usr/ports/net-mgmt/net-snmp.BAK/pkg-plist /usr/ports/net-mgmt/net-snmp/pkg-plist
--- /usr/ports/net-mgmt/net-snmp.BAK/pkg-plist Wed Feb 28 02:17:15 2007
+++ /usr/ports/net-mgmt/net-snmp/pkg-plist Wed Mar 28 14:31:48 2007
@@ -100,6 +100,7 @@
include/net-snmp/library/snmp.h
include/net-snmp/library/snmpCallbackDomain.h
include/net-snmp/library/snmpTCPDomain.h
+include/net-snmp/library/snmp_service.h
%%WITH_IPV6%%include/net-snmp/library/snmpTCPIPv6Domain.h
include/net-snmp/library/snmpUDPDomain.h
%%WITH_IPV6%%include/net-snmp/library/snmpUDPIPv6Domain.h
@@ -162,10 +163,10 @@
include/net-snmp/system/osf5.h
include/net-snmp/system/solaris.h
include/net-snmp/system/solaris2.6.h
-include/net-snmp/system/solaris2.7.h
-include/net-snmp/system/solaris2.8.h
-include/net-snmp/system/solaris2.9.h
-include/net-snmp/system/solaris2.10.h
+include/net-snmp/system/darwin9.h
+include/net-snmp/system/solaris2.3.h
+include/net-snmp/system/solaris2.4.h
+include/net-snmp/system/solaris2.5.h
include/net-snmp/system/sunos.h
include/net-snmp/system/svr5.h
include/net-snmp/system/sysv.h
@@ -206,6 +207,7 @@
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/NetSNMP/agent.pm
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/NetSNMP/agent/default_store.pm
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/NetSNMP/agent/netsnmp_request_infoPtr.pm
+%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/NetSNMP/agent/Support.pm
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/NetSNMP/default_store.pm
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/SNMP.pm
%%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/auto/Bundle/NetSNMP/.packlist
--- PATCH-SNMP-5.4 ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list