summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-mgmt/net-snmp-devel/Makefile20
-rw-r--r--net-mgmt/net-snmp-devel/distinfo2
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-Makefile.in6
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-al29
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-configure.in19
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-hr_storage.c12
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-hr_system.c23
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-ipv6.c105
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-tcpTable.c75
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-udpTable.c25
-rw-r--r--net-mgmt/net-snmp-devel/files/snmpd.sh.sample2
-rw-r--r--net-mgmt/net-snmp-devel/pkg-plist9
-rw-r--r--net-mgmt/net-snmp/Makefile20
-rw-r--r--net-mgmt/net-snmp/distinfo2
-rw-r--r--net-mgmt/net-snmp/files/patch-Makefile.in6
-rw-r--r--net-mgmt/net-snmp/files/patch-al29
-rw-r--r--net-mgmt/net-snmp/files/patch-configure.in19
-rw-r--r--net-mgmt/net-snmp/files/patch-hr_storage.c12
-rw-r--r--net-mgmt/net-snmp/files/patch-hr_system.c23
-rw-r--r--net-mgmt/net-snmp/files/patch-ipv6.c105
-rw-r--r--net-mgmt/net-snmp/files/patch-tcpTable.c75
-rw-r--r--net-mgmt/net-snmp/files/patch-udpTable.c25
-rw-r--r--net-mgmt/net-snmp/files/snmpd.sh.sample2
-rw-r--r--net-mgmt/net-snmp/pkg-plist9
-rw-r--r--net-mgmt/net-snmp53/Makefile20
-rw-r--r--net-mgmt/net-snmp53/distinfo2
-rw-r--r--net-mgmt/net-snmp53/files/patch-Makefile.in6
-rw-r--r--net-mgmt/net-snmp53/files/patch-al29
-rw-r--r--net-mgmt/net-snmp53/files/patch-configure.in19
-rw-r--r--net-mgmt/net-snmp53/files/patch-hr_storage.c12
-rw-r--r--net-mgmt/net-snmp53/files/patch-hr_system.c23
-rw-r--r--net-mgmt/net-snmp53/files/patch-ipv6.c105
-rw-r--r--net-mgmt/net-snmp53/files/patch-tcpTable.c75
-rw-r--r--net-mgmt/net-snmp53/files/patch-udpTable.c25
-rw-r--r--net-mgmt/net-snmp53/files/snmpd.sh.sample2
-rw-r--r--net-mgmt/net-snmp53/pkg-plist9
-rw-r--r--net/net-snmp/Makefile20
-rw-r--r--net/net-snmp/distinfo2
-rw-r--r--net/net-snmp/files/patch-Makefile.in6
-rw-r--r--net/net-snmp/files/patch-al29
-rw-r--r--net/net-snmp/files/patch-configure.in19
-rw-r--r--net/net-snmp/files/patch-hr_storage.c12
-rw-r--r--net/net-snmp/files/patch-hr_system.c23
-rw-r--r--net/net-snmp/files/patch-ipv6.c105
-rw-r--r--net/net-snmp/files/patch-tcpTable.c75
-rw-r--r--net/net-snmp/files/patch-udpTable.c25
-rw-r--r--net/net-snmp/files/snmpd.sh.sample2
-rw-r--r--net/net-snmp/pkg-plist9
48 files changed, 900 insertions, 408 deletions
diff --git a/net-mgmt/net-snmp-devel/Makefile b/net-mgmt/net-snmp-devel/Makefile
index b5ed765822d6..3146fef15ac6 100644
--- a/net-mgmt/net-snmp-devel/Makefile
+++ b/net-mgmt/net-snmp-devel/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= net-snmp
-PORTVERSION= 5.0.9
-PORTREVISION= 1
+PORTVERSION= 5.1
CATEGORIES= net ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
@@ -16,7 +15,7 @@ MAINTAINER= kuriyama@FreeBSD.org
COMMENT= An extendable SNMP implementation
USE_REINPLACE= yes
-USE_AUTOCONF_VER=213
+USE_AUTOCONF_VER=257
USE_LIBTOOL= yes
USE_RC_SUBR= yes
INSTALLS_SHLIB= yes
@@ -26,7 +25,7 @@ NO_LATEST_LINK= yes
USE_PERL5= yes
.endif
-CONFIGURE_ARGS+=--enable-shared --with-mib-modules="host ucd-snmp/diskio" \
+CONFIGURE_ARGS+=--enable-shared --with-mib-modules="${NET_SNMP_MIB_MODULES}" \
--with-default-snmp-version="${DEFAULT_SNMP_VERSION}" \
--with-sys-contact="${NET_SNMP_SYS_CONTACT}" \
--with-sys-location="${NET_SNMP_SYS_LOCATION}" \
@@ -40,19 +39,13 @@ PLIST_SUB+= WITHPERL="@comment "
CONFIGURE_ARGS+= --with-perl-modules
PLIST_SUB+= WITHPERL=""
.endif
-.if defined(BATCH)
-CONFIGURE_ARGS+=--with-defaults
-.else
-IS_INTERACTIVE= yes
-.endif
-_CONFIGURE_ENV= AUTOCONF=${LOCALBASE}/bin/autoconf213 \
- AUTOHEADER=${LOCALBASE}/bin/autoheader213
DEFAULT_SNMP_VERSION?= 3
NET_SNMP_SYS_CONTACT?= nobody@no.where
NET_SNMP_SYS_LOCATION?=
NET_SNMP_LOGFILE?= /var/log/snmpd.log
NET_SNMP_PERSISTENTDIR?=/var/net-snmp
+NET_SNMP_MIB_MODULES?= host smux ucd-snmp/diskio
MAN1= mib2c.1 \
snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 \
@@ -108,7 +101,7 @@ CONFIGURE_ARGS+=--enable-ipv6 \
--with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix"
.endif
-SHLIB_VERSION= 5
+SHLIB_VERSION= 6
PLIST_SUB+= shlib=${SHLIB_VERSION}
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
@@ -140,3 +133,6 @@ post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
+
+# Dependency:
+# lang/php4,net/braa,net/docsis,net/ethereal,net/mbrowse,net/tethereal,net/zabbix,security/libfwbuilder
diff --git a/net-mgmt/net-snmp-devel/distinfo b/net-mgmt/net-snmp-devel/distinfo
index 9b43d7320ee1..f10437e32d37 100644
--- a/net-mgmt/net-snmp-devel/distinfo
+++ b/net-mgmt/net-snmp-devel/distinfo
@@ -1 +1 @@
-MD5 (net-snmp-5.0.9.tar.gz) = cecd5ec74f5c546c1ea7ed7987b5932b
+MD5 (net-snmp-5.1.tar.gz) = 14217471edb2b805b0e28c4c3cfd8c75
diff --git a/net-mgmt/net-snmp-devel/files/patch-Makefile.in b/net-mgmt/net-snmp-devel/files/patch-Makefile.in
index 1df820072caf..405b874b64aa 100644
--- a/net-mgmt/net-snmp-devel/files/patch-Makefile.in
+++ b/net-mgmt/net-snmp-devel/files/patch-Makefile.in
@@ -1,11 +1,11 @@
---- Makefile.in.orig Sat Aug 23 15:57:04 2003
-+++ Makefile.in Sat Aug 23 15:57:20 2003
+--- Makefile.in.orig Wed Oct 22 22:13:07 2003
++++ Makefile.in Fri Nov 14 12:59:36 2003
@@ -15,7 +15,7 @@
INSTALLHEADERS=version.h
INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h darwin.h \
- dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
+ dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd.h generic.h hpux.h \
- irix.h linux.h mips.h netbsd.h openbsd.h solaris2.6.h solaris2.7.h \
+ irix.h linux.h mips.h netbsd.h openbsd.h osf5.h solaris2.6.h solaris2.7.h \
solaris2.8.h solaris2.9.h solaris.h sunos.h svr5.h sysv.h ultrix4.h
INCLUDESUBDIR2=machine
diff --git a/net-mgmt/net-snmp-devel/files/patch-al b/net-mgmt/net-snmp-devel/files/patch-al
deleted file mode 100644
index 89187b836b0b..000000000000
--- a/net-mgmt/net-snmp-devel/files/patch-al
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.in.orig Tue May 7 08:12:10 2002
-+++ configure.in Mon Jun 24 09:38:33 2002
-@@ -1772,6 +1772,26 @@
- AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE,
- [
-
-+dnl 4.4 compatible but renamed on FreeBSD
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#define KERNEL
-+#define _KERNEL
-+#include <sys/socket.h>
-+#undef KERNEL
-+#undef _KERNEL
-+#include <net/route.h>
-+],[
-+
-+#ifndef STRUCT_RTENTRY_HAS_RT_DST
-+#define rt_dst rt_nodes->rn_key
-+#endif
-+
-+ struct rtentry rt;
-+ rt.rt_nodes[0].rn_bit = 1;
-+ rt.rt_dst;
-+ ], ac_cv_RTENTRY_TYPE="BSD-4.4")
-+
- dnl 4.4 compat
- AC_TRY_COMPILE([
- #ifdef HAVE_SYS_PARAM_H
diff --git a/net-mgmt/net-snmp-devel/files/patch-configure.in b/net-mgmt/net-snmp-devel/files/patch-configure.in
new file mode 100644
index 000000000000..c3a85b528ce2
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-configure.in
@@ -0,0 +1,19 @@
+--- configure.in.orig Fri Nov 14 13:32:10 2003
++++ configure.in Fri Nov 14 13:36:27 2003
+@@ -1357,7 +1357,7 @@
+ # fall back
+ CFLAG="-f"
+ fi
+-for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel
++for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel /boot/kernel/kernel
+ do
+ if test -f $i -o $CFLAG $i; then
+ ac_cv_KERNEL_LOC="$i"
+@@ -1376,6 +1376,7 @@
+ # Check for mount table location
+ #
+
++# kuriyama: should /var/db/mounttab be used?
+ AC_CACHE_CHECK(for mount table location,ac_cv_ETC_MNTTAB,
+ [ac_cv_ETC_MNTTAB="unknown"
+ for i in /etc/mnttab /etc/mtab /etc/filesystems
diff --git a/net-mgmt/net-snmp-devel/files/patch-hr_storage.c b/net-mgmt/net-snmp-devel/files/patch-hr_storage.c
index 1e2e66f97e0a..a1eff0ab8301 100644
--- a/net-mgmt/net-snmp-devel/files/patch-hr_storage.c
+++ b/net-mgmt/net-snmp-devel/files/patch-hr_storage.c
@@ -1,5 +1,5 @@
---- agent/mibgroup/host/hr_storage.c.orig Thu Jul 4 22:00:31 2002
-+++ agent/mibgroup/host/hr_storage.c Mon Jul 22 14:38:58 2002
+--- agent/mibgroup/host/hr_storage.c.orig Tue Feb 25 22:17:46 2003
++++ agent/mibgroup/host/hr_storage.c Fri Nov 14 13:03:07 2003
@@ -148,7 +148,7 @@
#define HRFS_mount mnt_mountp
#define HRFS_statfs statvfs
@@ -9,16 +9,16 @@
extern struct mntent *HRFS_entry;
extern int fscount;
-@@ -563,7 +563,7 @@
+@@ -564,7 +564,7 @@
}
case HRSTORE_UNITS:
- if (store_idx < HRS_TYPE_FS_MAX)
+ if (store_idx > HRS_TYPE_FIXED_MAX)
-#if STRUCT_STATVFS_HAS_F_FRSIZE
+#if defined(STRUCT_STATVFS_HAS_F_FRSIZE) && defined(HAVE_MNTENT)
long_return = stat_buf.f_frsize;
#else
long_return = stat_buf.f_bsize;
-@@ -646,7 +646,15 @@
+@@ -647,7 +647,15 @@
i++)
long_return += mbstat.m_mtypes[i];
#elif defined(MBSTAT_SYMBOL)
@@ -34,7 +34,7 @@
#elif defined(NO_DUMMY_VALUES)
return NULL;
#else
-@@ -704,7 +712,15 @@
+@@ -705,7 +713,15 @@
* mbpool.pr_size + (mclpool.pr_nget - mclpool.pr_nput)
* mclpool.pr_size;
#elif defined(MBSTAT_SYMBOL)
diff --git a/net-mgmt/net-snmp-devel/files/patch-hr_system.c b/net-mgmt/net-snmp-devel/files/patch-hr_system.c
new file mode 100644
index 000000000000..ee1f01228bfd
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-hr_system.c
@@ -0,0 +1,23 @@
+--- agent/mibgroup/host/hr_system.c.orig Fri Nov 14 14:45:55 2003
++++ agent/mibgroup/host/hr_system.c Fri Nov 14 14:46:01 2003
+@@ -276,11 +276,10 @@
+ struct utmp *utmp_p;
+ #endif
+
++#ifndef UTMP_HAS_NO_TYPE
+ setutent();
+ while ((utmp_p = getutent()) != NULL) {
+-#ifndef UTMP_HAS_NO_TYPE
+ if (utmp_p->ut_type == USER_PROCESS) {
+-#endif
+ /* This block of code fixes zombie user PIDs in the
+ utmp/utmpx file that would otherwise be counted as a
+ current user */
+@@ -293,6 +292,7 @@
+ }
+ }
+ endutent();
++#endif
+ return total;
+ }
+
diff --git a/net-mgmt/net-snmp-devel/files/patch-ipv6.c b/net-mgmt/net-snmp-devel/files/patch-ipv6.c
new file mode 100644
index 000000000000..c755184e10c9
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-ipv6.c
@@ -0,0 +1,105 @@
+--- agent/mibgroup/mibII/ipv6.c.orig Fri Feb 28 18:13:36 2003
++++ agent/mibgroup/mibII/ipv6.c Tue Nov 18 12:09:09 2003
+@@ -1238,6 +1238,7 @@
+ if (!auto_nlist("udb6", (char *) &udb6, sizeof(udb6)))
+ return NULL;
+ p = (caddr_t) udb6.in6p_next;
++ DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ #else
+ {
+ const char *udblist = "net.inet.udp.pcblist";
+@@ -1254,11 +1255,11 @@
+ oxig = (struct xinpgen *) sysctl_buf;
+ xig = (struct xinpgen *) ((char *) oxig + oxig->xig_len);
+ }
++ DEBUGMSGTL(("mibII/ipv6", "start: xig=%p\n", xig));
+ #endif
+ found = hitnext = 0;
+ memcpy((char *) newname, (char *) vp->name,
+ (int) vp->namelen * sizeof(oid));
+- DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ while (
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+ p && (u_long) p != auto_nlist_value("udb6")
+@@ -1266,12 +1267,16 @@
+ xig->xig_len > sizeof(struct xinpgen)
+ #endif
+ ) {
+- DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
++ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+ klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb));
+ #else
+ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
++ continue;
++ }
+ #endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+@@ -1283,8 +1288,8 @@
+ else
+ newname[j++] = 0;
+ /*XXX*/
+- DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
+- (int) vp->namelen, j));
++ DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
++ (int) vp->namelen, j));
+ DEBUGMSGOID(("mibII/ipv6", newname, j));
+ DEBUGMSG(("mibII/ipv6", " %d\n", exact));
+
+@@ -1447,9 +1452,6 @@
+ p));
+ break;
+ }
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+ if (klookup
+ ((u_long) in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
+ < 0) {
+@@ -1457,6 +1459,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
+@@ -1646,11 +1656,7 @@
+ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0)
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+- {
++ if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for in6pcb at %x\n",
+ p));
+ break;
+@@ -1662,6 +1668,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
diff --git a/net-mgmt/net-snmp-devel/files/patch-tcpTable.c b/net-mgmt/net-snmp-devel/files/patch-tcpTable.c
index 19e1f60d7ca8..20f29239b95d 100644
--- a/net-mgmt/net-snmp-devel/files/patch-tcpTable.c
+++ b/net-mgmt/net-snmp-devel/files/patch-tcpTable.c
@@ -1,51 +1,26 @@
---- agent/mibgroup/mibII/tcpTable.c.orig Sat Apr 20 16:30:05 2002
-+++ agent/mibgroup/mibII/tcpTable.c Sat Aug 16 17:38:05 2003
-@@ -462,6 +462,40 @@
- TCP_Count_Connections(void)
- {
- int Established;
-+#if (defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-+ int mib[4], len;
-+ char *p;
-+ struct tcpcb *tpcb;
-+ struct xtcpcb *tp;
-+ struct xinpgen *next;
-+
-+ mib[0]=CTL_NET;
-+ mib[1]=PF_INET;
-+ mib[2]=IPPROTO_TCP;
-+ mib[3]=TCPCTL_PCBLIST;
-+
-+ if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ return 0;
-+ }
-+ if ((p=(char *)malloc(len)) == NULL) {
-+ snmp_log_perror("TCP_Count_Connections - malloc");
-+ return 0;
-+ }
-+ if (sysctl(mib, 4, p, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ free(p);
-+ return 0;
-+ }
-+ Established=0;
-+ next=(struct xinpgen *)p;
-+ for (next=(struct xinpgen *)((char *)next + next->xig_len); next->xig_len > sizeof(struct xinpgen); next=(struct xinpgen *)((char *)next + next->xig_len)) {
-+ tp=(struct xtcpcb *)next;
-+ if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
-+ Established++;
-+ }
-+ free(p);
-+#else
- struct inpcb cb;
- register struct inpcb *next;
- #if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-@@ -525,6 +559,7 @@
- prev = next;
- #endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
- }
+--- agent/mibgroup/mibII/tcpTable.c.orig Fri Nov 14 14:49:21 2003
++++ agent/mibgroup/mibII/tcpTable.c Fri Nov 14 15:14:16 2003
+@@ -84,6 +84,8 @@
+ #define TCPTABLE_REMOTEADDRESS pcb.inp_faddr.s_addr
+ #define TCPTABLE_REMOTEPORT pcb.inp_fport
+ #define TCPTABLE_IS_LINKED_LIST
++#undef INP_NEXT_SYMBOL
++#define INP_NEXT_SYMBOL inp_next
+
+ #endif /* linux */
+ #endif /* WIN32 */
+@@ -695,11 +697,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
+ if (!nnew)
+ break;
++#if 0
+ nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state];
+ if (nnew->state == 5 /* established */ ||
+ nnew->state == 8 /* closeWait */ )
+ tcp_estab++;
+- memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xt_inp),
+#endif
- return (Established);
- }
- #endif /* !linux && !hpux11 */
++ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
+ sizeof(struct inpcb));
+
+ nnew->inp_next = tcp_head;
diff --git a/net-mgmt/net-snmp-devel/files/patch-udpTable.c b/net-mgmt/net-snmp-devel/files/patch-udpTable.c
new file mode 100644
index 000000000000..83364a9a338d
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-udpTable.c
@@ -0,0 +1,25 @@
+--- agent/mibgroup/mibII/udpTable.c.orig Fri Nov 14 15:14:52 2003
++++ agent/mibgroup/mibII/udpTable.c Fri Nov 14 15:18:08 2003
+@@ -577,6 +577,7 @@
+ * Unpick this into the constituent 'xinpgen' structures, and extract
+ * the 'inpcb' elements into a linked list (built in reverse)
+ */
++#if 0
+ xig = (struct xinpgen *) udpcb_buf;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+
+@@ -584,12 +585,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(struct inpcb);
+ if (!nnew)
+ break;
+- memcpy(nnew, ((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
++ memcpy(nnew, &((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
+
+ nnew->next = udp_head; /* XXX - ?? Check 'next' pointer */
+ udp_head = nnew;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+ }
++#endif
+
+ free(udpcb_buf);
+ if (udp_head) {
diff --git a/net-mgmt/net-snmp-devel/files/snmpd.sh.sample b/net-mgmt/net-snmp-devel/files/snmpd.sh.sample
index f07a6fac2376..f56301232645 100644
--- a/net-mgmt/net-snmp-devel/files/snmpd.sh.sample
+++ b/net-mgmt/net-snmp-devel/files/snmpd.sh.sample
@@ -12,7 +12,7 @@
#
snmpd_enable="NO"
-snmpd_flags="-P /var/run/snmpd.pid"
+snmpd_flags="-p /var/run/snmpd.pid"
. %%RC_SUBR%%
diff --git a/net-mgmt/net-snmp-devel/pkg-plist b/net-mgmt/net-snmp-devel/pkg-plist
index 7cce181fa8c9..fcd5789e783f 100644
--- a/net-mgmt/net-snmp-devel/pkg-plist
+++ b/net-mgmt/net-snmp-devel/pkg-plist
@@ -32,7 +32,9 @@ include/net-snmp/agent/agent_registry.h
include/net-snmp/agent/agent_trap.h
include/net-snmp/agent/all_helpers.h
include/net-snmp/agent/auto_nlist.h
+include/net-snmp/agent/baby_steps.h
include/net-snmp/agent/bulk_to_next.h
+include/net-snmp/agent/cache_handler.h
include/net-snmp/agent/debug_handler.h
include/net-snmp/agent/ds_agent.h
include/net-snmp/agent/instance.h
@@ -44,7 +46,9 @@ include/net-snmp/agent/net-snmp-agent-includes.h
include/net-snmp/agent/null.h
include/net-snmp/agent/old_api.h
include/net-snmp/agent/read_only.h
+include/net-snmp/agent/row_merge.h
include/net-snmp/agent/scalar.h
+include/net-snmp/agent/scalar_group.h
include/net-snmp/agent/serialize.h
include/net-snmp/agent/set_helper.h
include/net-snmp/agent/snmp_agent.h
@@ -54,6 +58,7 @@ include/net-snmp/agent/table_array.h
include/net-snmp/agent/table_data.h
include/net-snmp/agent/table_dataset.h
include/net-snmp/agent/table_iterator.h
+include/net-snmp/agent/table_mfd.h
include/net-snmp/agent/var_struct.h
include/net-snmp/agent/watcher.h
include/net-snmp/config_api.h
@@ -65,6 +70,9 @@ include/net-snmp/library/check_varbind.h
include/net-snmp/library/cmu_compat.h
include/net-snmp/library/container.h
include/net-snmp/library/container_binary_array.h
+include/net-snmp/library/container_iterator.h
+include/net-snmp/library/container_list_ssll.h
+include/net-snmp/library/container_null.h
include/net-snmp/library/data_list.h
include/net-snmp/library/default_store.h
include/net-snmp/library/factory.h
@@ -136,6 +144,7 @@ include/net-snmp/system/linux.h
include/net-snmp/system/mips.h
include/net-snmp/system/netbsd.h
include/net-snmp/system/openbsd.h
+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
diff --git a/net-mgmt/net-snmp/Makefile b/net-mgmt/net-snmp/Makefile
index b5ed765822d6..3146fef15ac6 100644
--- a/net-mgmt/net-snmp/Makefile
+++ b/net-mgmt/net-snmp/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= net-snmp
-PORTVERSION= 5.0.9
-PORTREVISION= 1
+PORTVERSION= 5.1
CATEGORIES= net ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
@@ -16,7 +15,7 @@ MAINTAINER= kuriyama@FreeBSD.org
COMMENT= An extendable SNMP implementation
USE_REINPLACE= yes
-USE_AUTOCONF_VER=213
+USE_AUTOCONF_VER=257
USE_LIBTOOL= yes
USE_RC_SUBR= yes
INSTALLS_SHLIB= yes
@@ -26,7 +25,7 @@ NO_LATEST_LINK= yes
USE_PERL5= yes
.endif
-CONFIGURE_ARGS+=--enable-shared --with-mib-modules="host ucd-snmp/diskio" \
+CONFIGURE_ARGS+=--enable-shared --with-mib-modules="${NET_SNMP_MIB_MODULES}" \
--with-default-snmp-version="${DEFAULT_SNMP_VERSION}" \
--with-sys-contact="${NET_SNMP_SYS_CONTACT}" \
--with-sys-location="${NET_SNMP_SYS_LOCATION}" \
@@ -40,19 +39,13 @@ PLIST_SUB+= WITHPERL="@comment "
CONFIGURE_ARGS+= --with-perl-modules
PLIST_SUB+= WITHPERL=""
.endif
-.if defined(BATCH)
-CONFIGURE_ARGS+=--with-defaults
-.else
-IS_INTERACTIVE= yes
-.endif
-_CONFIGURE_ENV= AUTOCONF=${LOCALBASE}/bin/autoconf213 \
- AUTOHEADER=${LOCALBASE}/bin/autoheader213
DEFAULT_SNMP_VERSION?= 3
NET_SNMP_SYS_CONTACT?= nobody@no.where
NET_SNMP_SYS_LOCATION?=
NET_SNMP_LOGFILE?= /var/log/snmpd.log
NET_SNMP_PERSISTENTDIR?=/var/net-snmp
+NET_SNMP_MIB_MODULES?= host smux ucd-snmp/diskio
MAN1= mib2c.1 \
snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 \
@@ -108,7 +101,7 @@ CONFIGURE_ARGS+=--enable-ipv6 \
--with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix"
.endif
-SHLIB_VERSION= 5
+SHLIB_VERSION= 6
PLIST_SUB+= shlib=${SHLIB_VERSION}
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
@@ -140,3 +133,6 @@ post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
+
+# Dependency:
+# lang/php4,net/braa,net/docsis,net/ethereal,net/mbrowse,net/tethereal,net/zabbix,security/libfwbuilder
diff --git a/net-mgmt/net-snmp/distinfo b/net-mgmt/net-snmp/distinfo
index 9b43d7320ee1..f10437e32d37 100644
--- a/net-mgmt/net-snmp/distinfo
+++ b/net-mgmt/net-snmp/distinfo
@@ -1 +1 @@
-MD5 (net-snmp-5.0.9.tar.gz) = cecd5ec74f5c546c1ea7ed7987b5932b
+MD5 (net-snmp-5.1.tar.gz) = 14217471edb2b805b0e28c4c3cfd8c75
diff --git a/net-mgmt/net-snmp/files/patch-Makefile.in b/net-mgmt/net-snmp/files/patch-Makefile.in
index 1df820072caf..405b874b64aa 100644
--- a/net-mgmt/net-snmp/files/patch-Makefile.in
+++ b/net-mgmt/net-snmp/files/patch-Makefile.in
@@ -1,11 +1,11 @@
---- Makefile.in.orig Sat Aug 23 15:57:04 2003
-+++ Makefile.in Sat Aug 23 15:57:20 2003
+--- Makefile.in.orig Wed Oct 22 22:13:07 2003
++++ Makefile.in Fri Nov 14 12:59:36 2003
@@ -15,7 +15,7 @@
INSTALLHEADERS=version.h
INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h darwin.h \
- dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
+ dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd.h generic.h hpux.h \
- irix.h linux.h mips.h netbsd.h openbsd.h solaris2.6.h solaris2.7.h \
+ irix.h linux.h mips.h netbsd.h openbsd.h osf5.h solaris2.6.h solaris2.7.h \
solaris2.8.h solaris2.9.h solaris.h sunos.h svr5.h sysv.h ultrix4.h
INCLUDESUBDIR2=machine
diff --git a/net-mgmt/net-snmp/files/patch-al b/net-mgmt/net-snmp/files/patch-al
deleted file mode 100644
index 89187b836b0b..000000000000
--- a/net-mgmt/net-snmp/files/patch-al
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.in.orig Tue May 7 08:12:10 2002
-+++ configure.in Mon Jun 24 09:38:33 2002
-@@ -1772,6 +1772,26 @@
- AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE,
- [
-
-+dnl 4.4 compatible but renamed on FreeBSD
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#define KERNEL
-+#define _KERNEL
-+#include <sys/socket.h>
-+#undef KERNEL
-+#undef _KERNEL
-+#include <net/route.h>
-+],[
-+
-+#ifndef STRUCT_RTENTRY_HAS_RT_DST
-+#define rt_dst rt_nodes->rn_key
-+#endif
-+
-+ struct rtentry rt;
-+ rt.rt_nodes[0].rn_bit = 1;
-+ rt.rt_dst;
-+ ], ac_cv_RTENTRY_TYPE="BSD-4.4")
-+
- dnl 4.4 compat
- AC_TRY_COMPILE([
- #ifdef HAVE_SYS_PARAM_H
diff --git a/net-mgmt/net-snmp/files/patch-configure.in b/net-mgmt/net-snmp/files/patch-configure.in
new file mode 100644
index 000000000000..c3a85b528ce2
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-configure.in
@@ -0,0 +1,19 @@
+--- configure.in.orig Fri Nov 14 13:32:10 2003
++++ configure.in Fri Nov 14 13:36:27 2003
+@@ -1357,7 +1357,7 @@
+ # fall back
+ CFLAG="-f"
+ fi
+-for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel
++for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel /boot/kernel/kernel
+ do
+ if test -f $i -o $CFLAG $i; then
+ ac_cv_KERNEL_LOC="$i"
+@@ -1376,6 +1376,7 @@
+ # Check for mount table location
+ #
+
++# kuriyama: should /var/db/mounttab be used?
+ AC_CACHE_CHECK(for mount table location,ac_cv_ETC_MNTTAB,
+ [ac_cv_ETC_MNTTAB="unknown"
+ for i in /etc/mnttab /etc/mtab /etc/filesystems
diff --git a/net-mgmt/net-snmp/files/patch-hr_storage.c b/net-mgmt/net-snmp/files/patch-hr_storage.c
index 1e2e66f97e0a..a1eff0ab8301 100644
--- a/net-mgmt/net-snmp/files/patch-hr_storage.c
+++ b/net-mgmt/net-snmp/files/patch-hr_storage.c
@@ -1,5 +1,5 @@
---- agent/mibgroup/host/hr_storage.c.orig Thu Jul 4 22:00:31 2002
-+++ agent/mibgroup/host/hr_storage.c Mon Jul 22 14:38:58 2002
+--- agent/mibgroup/host/hr_storage.c.orig Tue Feb 25 22:17:46 2003
++++ agent/mibgroup/host/hr_storage.c Fri Nov 14 13:03:07 2003
@@ -148,7 +148,7 @@
#define HRFS_mount mnt_mountp
#define HRFS_statfs statvfs
@@ -9,16 +9,16 @@
extern struct mntent *HRFS_entry;
extern int fscount;
-@@ -563,7 +563,7 @@
+@@ -564,7 +564,7 @@
}
case HRSTORE_UNITS:
- if (store_idx < HRS_TYPE_FS_MAX)
+ if (store_idx > HRS_TYPE_FIXED_MAX)
-#if STRUCT_STATVFS_HAS_F_FRSIZE
+#if defined(STRUCT_STATVFS_HAS_F_FRSIZE) && defined(HAVE_MNTENT)
long_return = stat_buf.f_frsize;
#else
long_return = stat_buf.f_bsize;
-@@ -646,7 +646,15 @@
+@@ -647,7 +647,15 @@
i++)
long_return += mbstat.m_mtypes[i];
#elif defined(MBSTAT_SYMBOL)
@@ -34,7 +34,7 @@
#elif defined(NO_DUMMY_VALUES)
return NULL;
#else
-@@ -704,7 +712,15 @@
+@@ -705,7 +713,15 @@
* mbpool.pr_size + (mclpool.pr_nget - mclpool.pr_nput)
* mclpool.pr_size;
#elif defined(MBSTAT_SYMBOL)
diff --git a/net-mgmt/net-snmp/files/patch-hr_system.c b/net-mgmt/net-snmp/files/patch-hr_system.c
new file mode 100644
index 000000000000..ee1f01228bfd
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-hr_system.c
@@ -0,0 +1,23 @@
+--- agent/mibgroup/host/hr_system.c.orig Fri Nov 14 14:45:55 2003
++++ agent/mibgroup/host/hr_system.c Fri Nov 14 14:46:01 2003
+@@ -276,11 +276,10 @@
+ struct utmp *utmp_p;
+ #endif
+
++#ifndef UTMP_HAS_NO_TYPE
+ setutent();
+ while ((utmp_p = getutent()) != NULL) {
+-#ifndef UTMP_HAS_NO_TYPE
+ if (utmp_p->ut_type == USER_PROCESS) {
+-#endif
+ /* This block of code fixes zombie user PIDs in the
+ utmp/utmpx file that would otherwise be counted as a
+ current user */
+@@ -293,6 +292,7 @@
+ }
+ }
+ endutent();
++#endif
+ return total;
+ }
+
diff --git a/net-mgmt/net-snmp/files/patch-ipv6.c b/net-mgmt/net-snmp/files/patch-ipv6.c
new file mode 100644
index 000000000000..c755184e10c9
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-ipv6.c
@@ -0,0 +1,105 @@
+--- agent/mibgroup/mibII/ipv6.c.orig Fri Feb 28 18:13:36 2003
++++ agent/mibgroup/mibII/ipv6.c Tue Nov 18 12:09:09 2003
+@@ -1238,6 +1238,7 @@
+ if (!auto_nlist("udb6", (char *) &udb6, sizeof(udb6)))
+ return NULL;
+ p = (caddr_t) udb6.in6p_next;
++ DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ #else
+ {
+ const char *udblist = "net.inet.udp.pcblist";
+@@ -1254,11 +1255,11 @@
+ oxig = (struct xinpgen *) sysctl_buf;
+ xig = (struct xinpgen *) ((char *) oxig + oxig->xig_len);
+ }
++ DEBUGMSGTL(("mibII/ipv6", "start: xig=%p\n", xig));
+ #endif
+ found = hitnext = 0;
+ memcpy((char *) newname, (char *) vp->name,
+ (int) vp->namelen * sizeof(oid));
+- DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ while (
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+ p && (u_long) p != auto_nlist_value("udb6")
+@@ -1266,12 +1267,16 @@
+ xig->xig_len > sizeof(struct xinpgen)
+ #endif
+ ) {
+- DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
++ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+ klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb));
+ #else
+ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
++ continue;
++ }
+ #endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+@@ -1283,8 +1288,8 @@
+ else
+ newname[j++] = 0;
+ /*XXX*/
+- DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
+- (int) vp->namelen, j));
++ DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
++ (int) vp->namelen, j));
+ DEBUGMSGOID(("mibII/ipv6", newname, j));
+ DEBUGMSG(("mibII/ipv6", " %d\n", exact));
+
+@@ -1447,9 +1452,6 @@
+ p));
+ break;
+ }
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+ if (klookup
+ ((u_long) in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
+ < 0) {
+@@ -1457,6 +1459,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
+@@ -1646,11 +1656,7 @@
+ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0)
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+- {
++ if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for in6pcb at %x\n",
+ p));
+ break;
+@@ -1662,6 +1668,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
diff --git a/net-mgmt/net-snmp/files/patch-tcpTable.c b/net-mgmt/net-snmp/files/patch-tcpTable.c
index 19e1f60d7ca8..20f29239b95d 100644
--- a/net-mgmt/net-snmp/files/patch-tcpTable.c
+++ b/net-mgmt/net-snmp/files/patch-tcpTable.c
@@ -1,51 +1,26 @@
---- agent/mibgroup/mibII/tcpTable.c.orig Sat Apr 20 16:30:05 2002
-+++ agent/mibgroup/mibII/tcpTable.c Sat Aug 16 17:38:05 2003
-@@ -462,6 +462,40 @@
- TCP_Count_Connections(void)
- {
- int Established;
-+#if (defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-+ int mib[4], len;
-+ char *p;
-+ struct tcpcb *tpcb;
-+ struct xtcpcb *tp;
-+ struct xinpgen *next;
-+
-+ mib[0]=CTL_NET;
-+ mib[1]=PF_INET;
-+ mib[2]=IPPROTO_TCP;
-+ mib[3]=TCPCTL_PCBLIST;
-+
-+ if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ return 0;
-+ }
-+ if ((p=(char *)malloc(len)) == NULL) {
-+ snmp_log_perror("TCP_Count_Connections - malloc");
-+ return 0;
-+ }
-+ if (sysctl(mib, 4, p, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ free(p);
-+ return 0;
-+ }
-+ Established=0;
-+ next=(struct xinpgen *)p;
-+ for (next=(struct xinpgen *)((char *)next + next->xig_len); next->xig_len > sizeof(struct xinpgen); next=(struct xinpgen *)((char *)next + next->xig_len)) {
-+ tp=(struct xtcpcb *)next;
-+ if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
-+ Established++;
-+ }
-+ free(p);
-+#else
- struct inpcb cb;
- register struct inpcb *next;
- #if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-@@ -525,6 +559,7 @@
- prev = next;
- #endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
- }
+--- agent/mibgroup/mibII/tcpTable.c.orig Fri Nov 14 14:49:21 2003
++++ agent/mibgroup/mibII/tcpTable.c Fri Nov 14 15:14:16 2003
+@@ -84,6 +84,8 @@
+ #define TCPTABLE_REMOTEADDRESS pcb.inp_faddr.s_addr
+ #define TCPTABLE_REMOTEPORT pcb.inp_fport
+ #define TCPTABLE_IS_LINKED_LIST
++#undef INP_NEXT_SYMBOL
++#define INP_NEXT_SYMBOL inp_next
+
+ #endif /* linux */
+ #endif /* WIN32 */
+@@ -695,11 +697,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
+ if (!nnew)
+ break;
++#if 0
+ nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state];
+ if (nnew->state == 5 /* established */ ||
+ nnew->state == 8 /* closeWait */ )
+ tcp_estab++;
+- memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xt_inp),
+#endif
- return (Established);
- }
- #endif /* !linux && !hpux11 */
++ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
+ sizeof(struct inpcb));
+
+ nnew->inp_next = tcp_head;
diff --git a/net-mgmt/net-snmp/files/patch-udpTable.c b/net-mgmt/net-snmp/files/patch-udpTable.c
new file mode 100644
index 000000000000..83364a9a338d
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-udpTable.c
@@ -0,0 +1,25 @@
+--- agent/mibgroup/mibII/udpTable.c.orig Fri Nov 14 15:14:52 2003
++++ agent/mibgroup/mibII/udpTable.c Fri Nov 14 15:18:08 2003
+@@ -577,6 +577,7 @@
+ * Unpick this into the constituent 'xinpgen' structures, and extract
+ * the 'inpcb' elements into a linked list (built in reverse)
+ */
++#if 0
+ xig = (struct xinpgen *) udpcb_buf;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+
+@@ -584,12 +585,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(struct inpcb);
+ if (!nnew)
+ break;
+- memcpy(nnew, ((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
++ memcpy(nnew, &((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
+
+ nnew->next = udp_head; /* XXX - ?? Check 'next' pointer */
+ udp_head = nnew;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+ }
++#endif
+
+ free(udpcb_buf);
+ if (udp_head) {
diff --git a/net-mgmt/net-snmp/files/snmpd.sh.sample b/net-mgmt/net-snmp/files/snmpd.sh.sample
index f07a6fac2376..f56301232645 100644
--- a/net-mgmt/net-snmp/files/snmpd.sh.sample
+++ b/net-mgmt/net-snmp/files/snmpd.sh.sample
@@ -12,7 +12,7 @@
#
snmpd_enable="NO"
-snmpd_flags="-P /var/run/snmpd.pid"
+snmpd_flags="-p /var/run/snmpd.pid"
. %%RC_SUBR%%
diff --git a/net-mgmt/net-snmp/pkg-plist b/net-mgmt/net-snmp/pkg-plist
index 7cce181fa8c9..fcd5789e783f 100644
--- a/net-mgmt/net-snmp/pkg-plist
+++ b/net-mgmt/net-snmp/pkg-plist
@@ -32,7 +32,9 @@ include/net-snmp/agent/agent_registry.h
include/net-snmp/agent/agent_trap.h
include/net-snmp/agent/all_helpers.h
include/net-snmp/agent/auto_nlist.h
+include/net-snmp/agent/baby_steps.h
include/net-snmp/agent/bulk_to_next.h
+include/net-snmp/agent/cache_handler.h
include/net-snmp/agent/debug_handler.h
include/net-snmp/agent/ds_agent.h
include/net-snmp/agent/instance.h
@@ -44,7 +46,9 @@ include/net-snmp/agent/net-snmp-agent-includes.h
include/net-snmp/agent/null.h
include/net-snmp/agent/old_api.h
include/net-snmp/agent/read_only.h
+include/net-snmp/agent/row_merge.h
include/net-snmp/agent/scalar.h
+include/net-snmp/agent/scalar_group.h
include/net-snmp/agent/serialize.h
include/net-snmp/agent/set_helper.h
include/net-snmp/agent/snmp_agent.h
@@ -54,6 +58,7 @@ include/net-snmp/agent/table_array.h
include/net-snmp/agent/table_data.h
include/net-snmp/agent/table_dataset.h
include/net-snmp/agent/table_iterator.h
+include/net-snmp/agent/table_mfd.h
include/net-snmp/agent/var_struct.h
include/net-snmp/agent/watcher.h
include/net-snmp/config_api.h
@@ -65,6 +70,9 @@ include/net-snmp/library/check_varbind.h
include/net-snmp/library/cmu_compat.h
include/net-snmp/library/container.h
include/net-snmp/library/container_binary_array.h
+include/net-snmp/library/container_iterator.h
+include/net-snmp/library/container_list_ssll.h
+include/net-snmp/library/container_null.h
include/net-snmp/library/data_list.h
include/net-snmp/library/default_store.h
include/net-snmp/library/factory.h
@@ -136,6 +144,7 @@ include/net-snmp/system/linux.h
include/net-snmp/system/mips.h
include/net-snmp/system/netbsd.h
include/net-snmp/system/openbsd.h
+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
diff --git a/net-mgmt/net-snmp53/Makefile b/net-mgmt/net-snmp53/Makefile
index b5ed765822d6..3146fef15ac6 100644
--- a/net-mgmt/net-snmp53/Makefile
+++ b/net-mgmt/net-snmp53/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= net-snmp
-PORTVERSION= 5.0.9
-PORTREVISION= 1
+PORTVERSION= 5.1
CATEGORIES= net ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
@@ -16,7 +15,7 @@ MAINTAINER= kuriyama@FreeBSD.org
COMMENT= An extendable SNMP implementation
USE_REINPLACE= yes
-USE_AUTOCONF_VER=213
+USE_AUTOCONF_VER=257
USE_LIBTOOL= yes
USE_RC_SUBR= yes
INSTALLS_SHLIB= yes
@@ -26,7 +25,7 @@ NO_LATEST_LINK= yes
USE_PERL5= yes
.endif
-CONFIGURE_ARGS+=--enable-shared --with-mib-modules="host ucd-snmp/diskio" \
+CONFIGURE_ARGS+=--enable-shared --with-mib-modules="${NET_SNMP_MIB_MODULES}" \
--with-default-snmp-version="${DEFAULT_SNMP_VERSION}" \
--with-sys-contact="${NET_SNMP_SYS_CONTACT}" \
--with-sys-location="${NET_SNMP_SYS_LOCATION}" \
@@ -40,19 +39,13 @@ PLIST_SUB+= WITHPERL="@comment "
CONFIGURE_ARGS+= --with-perl-modules
PLIST_SUB+= WITHPERL=""
.endif
-.if defined(BATCH)
-CONFIGURE_ARGS+=--with-defaults
-.else
-IS_INTERACTIVE= yes
-.endif
-_CONFIGURE_ENV= AUTOCONF=${LOCALBASE}/bin/autoconf213 \
- AUTOHEADER=${LOCALBASE}/bin/autoheader213
DEFAULT_SNMP_VERSION?= 3
NET_SNMP_SYS_CONTACT?= nobody@no.where
NET_SNMP_SYS_LOCATION?=
NET_SNMP_LOGFILE?= /var/log/snmpd.log
NET_SNMP_PERSISTENTDIR?=/var/net-snmp
+NET_SNMP_MIB_MODULES?= host smux ucd-snmp/diskio
MAN1= mib2c.1 \
snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 \
@@ -108,7 +101,7 @@ CONFIGURE_ARGS+=--enable-ipv6 \
--with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix"
.endif
-SHLIB_VERSION= 5
+SHLIB_VERSION= 6
PLIST_SUB+= shlib=${SHLIB_VERSION}
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
@@ -140,3 +133,6 @@ post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
+
+# Dependency:
+# lang/php4,net/braa,net/docsis,net/ethereal,net/mbrowse,net/tethereal,net/zabbix,security/libfwbuilder
diff --git a/net-mgmt/net-snmp53/distinfo b/net-mgmt/net-snmp53/distinfo
index 9b43d7320ee1..f10437e32d37 100644
--- a/net-mgmt/net-snmp53/distinfo
+++ b/net-mgmt/net-snmp53/distinfo
@@ -1 +1 @@
-MD5 (net-snmp-5.0.9.tar.gz) = cecd5ec74f5c546c1ea7ed7987b5932b
+MD5 (net-snmp-5.1.tar.gz) = 14217471edb2b805b0e28c4c3cfd8c75
diff --git a/net-mgmt/net-snmp53/files/patch-Makefile.in b/net-mgmt/net-snmp53/files/patch-Makefile.in
index 1df820072caf..405b874b64aa 100644
--- a/net-mgmt/net-snmp53/files/patch-Makefile.in
+++ b/net-mgmt/net-snmp53/files/patch-Makefile.in
@@ -1,11 +1,11 @@
---- Makefile.in.orig Sat Aug 23 15:57:04 2003
-+++ Makefile.in Sat Aug 23 15:57:20 2003
+--- Makefile.in.orig Wed Oct 22 22:13:07 2003
++++ Makefile.in Fri Nov 14 12:59:36 2003
@@ -15,7 +15,7 @@
INSTALLHEADERS=version.h
INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h darwin.h \
- dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
+ dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd.h generic.h hpux.h \
- irix.h linux.h mips.h netbsd.h openbsd.h solaris2.6.h solaris2.7.h \
+ irix.h linux.h mips.h netbsd.h openbsd.h osf5.h solaris2.6.h solaris2.7.h \
solaris2.8.h solaris2.9.h solaris.h sunos.h svr5.h sysv.h ultrix4.h
INCLUDESUBDIR2=machine
diff --git a/net-mgmt/net-snmp53/files/patch-al b/net-mgmt/net-snmp53/files/patch-al
deleted file mode 100644
index 89187b836b0b..000000000000
--- a/net-mgmt/net-snmp53/files/patch-al
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.in.orig Tue May 7 08:12:10 2002
-+++ configure.in Mon Jun 24 09:38:33 2002
-@@ -1772,6 +1772,26 @@
- AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE,
- [
-
-+dnl 4.4 compatible but renamed on FreeBSD
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#define KERNEL
-+#define _KERNEL
-+#include <sys/socket.h>
-+#undef KERNEL
-+#undef _KERNEL
-+#include <net/route.h>
-+],[
-+
-+#ifndef STRUCT_RTENTRY_HAS_RT_DST
-+#define rt_dst rt_nodes->rn_key
-+#endif
-+
-+ struct rtentry rt;
-+ rt.rt_nodes[0].rn_bit = 1;
-+ rt.rt_dst;
-+ ], ac_cv_RTENTRY_TYPE="BSD-4.4")
-+
- dnl 4.4 compat
- AC_TRY_COMPILE([
- #ifdef HAVE_SYS_PARAM_H
diff --git a/net-mgmt/net-snmp53/files/patch-configure.in b/net-mgmt/net-snmp53/files/patch-configure.in
new file mode 100644
index 000000000000..c3a85b528ce2
--- /dev/null
+++ b/net-mgmt/net-snmp53/files/patch-configure.in
@@ -0,0 +1,19 @@
+--- configure.in.orig Fri Nov 14 13:32:10 2003
++++ configure.in Fri Nov 14 13:36:27 2003
+@@ -1357,7 +1357,7 @@
+ # fall back
+ CFLAG="-f"
+ fi
+-for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel
++for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel /boot/kernel/kernel
+ do
+ if test -f $i -o $CFLAG $i; then
+ ac_cv_KERNEL_LOC="$i"
+@@ -1376,6 +1376,7 @@
+ # Check for mount table location
+ #
+
++# kuriyama: should /var/db/mounttab be used?
+ AC_CACHE_CHECK(for mount table location,ac_cv_ETC_MNTTAB,
+ [ac_cv_ETC_MNTTAB="unknown"
+ for i in /etc/mnttab /etc/mtab /etc/filesystems
diff --git a/net-mgmt/net-snmp53/files/patch-hr_storage.c b/net-mgmt/net-snmp53/files/patch-hr_storage.c
index 1e2e66f97e0a..a1eff0ab8301 100644
--- a/net-mgmt/net-snmp53/files/patch-hr_storage.c
+++ b/net-mgmt/net-snmp53/files/patch-hr_storage.c
@@ -1,5 +1,5 @@
---- agent/mibgroup/host/hr_storage.c.orig Thu Jul 4 22:00:31 2002
-+++ agent/mibgroup/host/hr_storage.c Mon Jul 22 14:38:58 2002
+--- agent/mibgroup/host/hr_storage.c.orig Tue Feb 25 22:17:46 2003
++++ agent/mibgroup/host/hr_storage.c Fri Nov 14 13:03:07 2003
@@ -148,7 +148,7 @@
#define HRFS_mount mnt_mountp
#define HRFS_statfs statvfs
@@ -9,16 +9,16 @@
extern struct mntent *HRFS_entry;
extern int fscount;
-@@ -563,7 +563,7 @@
+@@ -564,7 +564,7 @@
}
case HRSTORE_UNITS:
- if (store_idx < HRS_TYPE_FS_MAX)
+ if (store_idx > HRS_TYPE_FIXED_MAX)
-#if STRUCT_STATVFS_HAS_F_FRSIZE
+#if defined(STRUCT_STATVFS_HAS_F_FRSIZE) && defined(HAVE_MNTENT)
long_return = stat_buf.f_frsize;
#else
long_return = stat_buf.f_bsize;
-@@ -646,7 +646,15 @@
+@@ -647,7 +647,15 @@
i++)
long_return += mbstat.m_mtypes[i];
#elif defined(MBSTAT_SYMBOL)
@@ -34,7 +34,7 @@
#elif defined(NO_DUMMY_VALUES)
return NULL;
#else
-@@ -704,7 +712,15 @@
+@@ -705,7 +713,15 @@
* mbpool.pr_size + (mclpool.pr_nget - mclpool.pr_nput)
* mclpool.pr_size;
#elif defined(MBSTAT_SYMBOL)
diff --git a/net-mgmt/net-snmp53/files/patch-hr_system.c b/net-mgmt/net-snmp53/files/patch-hr_system.c
new file mode 100644
index 000000000000..ee1f01228bfd
--- /dev/null
+++ b/net-mgmt/net-snmp53/files/patch-hr_system.c
@@ -0,0 +1,23 @@
+--- agent/mibgroup/host/hr_system.c.orig Fri Nov 14 14:45:55 2003
++++ agent/mibgroup/host/hr_system.c Fri Nov 14 14:46:01 2003
+@@ -276,11 +276,10 @@
+ struct utmp *utmp_p;
+ #endif
+
++#ifndef UTMP_HAS_NO_TYPE
+ setutent();
+ while ((utmp_p = getutent()) != NULL) {
+-#ifndef UTMP_HAS_NO_TYPE
+ if (utmp_p->ut_type == USER_PROCESS) {
+-#endif
+ /* This block of code fixes zombie user PIDs in the
+ utmp/utmpx file that would otherwise be counted as a
+ current user */
+@@ -293,6 +292,7 @@
+ }
+ }
+ endutent();
++#endif
+ return total;
+ }
+
diff --git a/net-mgmt/net-snmp53/files/patch-ipv6.c b/net-mgmt/net-snmp53/files/patch-ipv6.c
new file mode 100644
index 000000000000..c755184e10c9
--- /dev/null
+++ b/net-mgmt/net-snmp53/files/patch-ipv6.c
@@ -0,0 +1,105 @@
+--- agent/mibgroup/mibII/ipv6.c.orig Fri Feb 28 18:13:36 2003
++++ agent/mibgroup/mibII/ipv6.c Tue Nov 18 12:09:09 2003
+@@ -1238,6 +1238,7 @@
+ if (!auto_nlist("udb6", (char *) &udb6, sizeof(udb6)))
+ return NULL;
+ p = (caddr_t) udb6.in6p_next;
++ DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ #else
+ {
+ const char *udblist = "net.inet.udp.pcblist";
+@@ -1254,11 +1255,11 @@
+ oxig = (struct xinpgen *) sysctl_buf;
+ xig = (struct xinpgen *) ((char *) oxig + oxig->xig_len);
+ }
++ DEBUGMSGTL(("mibII/ipv6", "start: xig=%p\n", xig));
+ #endif
+ found = hitnext = 0;
+ memcpy((char *) newname, (char *) vp->name,
+ (int) vp->namelen * sizeof(oid));
+- DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ while (
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+ p && (u_long) p != auto_nlist_value("udb6")
+@@ -1266,12 +1267,16 @@
+ xig->xig_len > sizeof(struct xinpgen)
+ #endif
+ ) {
+- DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
++ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+ klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb));
+ #else
+ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
++ continue;
++ }
+ #endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+@@ -1283,8 +1288,8 @@
+ else
+ newname[j++] = 0;
+ /*XXX*/
+- DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
+- (int) vp->namelen, j));
++ DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
++ (int) vp->namelen, j));
+ DEBUGMSGOID(("mibII/ipv6", newname, j));
+ DEBUGMSG(("mibII/ipv6", " %d\n", exact));
+
+@@ -1447,9 +1452,6 @@
+ p));
+ break;
+ }
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+ if (klookup
+ ((u_long) in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
+ < 0) {
+@@ -1457,6 +1459,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
+@@ -1646,11 +1656,7 @@
+ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0)
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+- {
++ if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for in6pcb at %x\n",
+ p));
+ break;
+@@ -1662,6 +1668,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
diff --git a/net-mgmt/net-snmp53/files/patch-tcpTable.c b/net-mgmt/net-snmp53/files/patch-tcpTable.c
index 19e1f60d7ca8..20f29239b95d 100644
--- a/net-mgmt/net-snmp53/files/patch-tcpTable.c
+++ b/net-mgmt/net-snmp53/files/patch-tcpTable.c
@@ -1,51 +1,26 @@
---- agent/mibgroup/mibII/tcpTable.c.orig Sat Apr 20 16:30:05 2002
-+++ agent/mibgroup/mibII/tcpTable.c Sat Aug 16 17:38:05 2003
-@@ -462,6 +462,40 @@
- TCP_Count_Connections(void)
- {
- int Established;
-+#if (defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-+ int mib[4], len;
-+ char *p;
-+ struct tcpcb *tpcb;
-+ struct xtcpcb *tp;
-+ struct xinpgen *next;
-+
-+ mib[0]=CTL_NET;
-+ mib[1]=PF_INET;
-+ mib[2]=IPPROTO_TCP;
-+ mib[3]=TCPCTL_PCBLIST;
-+
-+ if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ return 0;
-+ }
-+ if ((p=(char *)malloc(len)) == NULL) {
-+ snmp_log_perror("TCP_Count_Connections - malloc");
-+ return 0;
-+ }
-+ if (sysctl(mib, 4, p, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ free(p);
-+ return 0;
-+ }
-+ Established=0;
-+ next=(struct xinpgen *)p;
-+ for (next=(struct xinpgen *)((char *)next + next->xig_len); next->xig_len > sizeof(struct xinpgen); next=(struct xinpgen *)((char *)next + next->xig_len)) {
-+ tp=(struct xtcpcb *)next;
-+ if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
-+ Established++;
-+ }
-+ free(p);
-+#else
- struct inpcb cb;
- register struct inpcb *next;
- #if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-@@ -525,6 +559,7 @@
- prev = next;
- #endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
- }
+--- agent/mibgroup/mibII/tcpTable.c.orig Fri Nov 14 14:49:21 2003
++++ agent/mibgroup/mibII/tcpTable.c Fri Nov 14 15:14:16 2003
+@@ -84,6 +84,8 @@
+ #define TCPTABLE_REMOTEADDRESS pcb.inp_faddr.s_addr
+ #define TCPTABLE_REMOTEPORT pcb.inp_fport
+ #define TCPTABLE_IS_LINKED_LIST
++#undef INP_NEXT_SYMBOL
++#define INP_NEXT_SYMBOL inp_next
+
+ #endif /* linux */
+ #endif /* WIN32 */
+@@ -695,11 +697,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
+ if (!nnew)
+ break;
++#if 0
+ nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state];
+ if (nnew->state == 5 /* established */ ||
+ nnew->state == 8 /* closeWait */ )
+ tcp_estab++;
+- memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xt_inp),
+#endif
- return (Established);
- }
- #endif /* !linux && !hpux11 */
++ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
+ sizeof(struct inpcb));
+
+ nnew->inp_next = tcp_head;
diff --git a/net-mgmt/net-snmp53/files/patch-udpTable.c b/net-mgmt/net-snmp53/files/patch-udpTable.c
new file mode 100644
index 000000000000..83364a9a338d
--- /dev/null
+++ b/net-mgmt/net-snmp53/files/patch-udpTable.c
@@ -0,0 +1,25 @@
+--- agent/mibgroup/mibII/udpTable.c.orig Fri Nov 14 15:14:52 2003
++++ agent/mibgroup/mibII/udpTable.c Fri Nov 14 15:18:08 2003
+@@ -577,6 +577,7 @@
+ * Unpick this into the constituent 'xinpgen' structures, and extract
+ * the 'inpcb' elements into a linked list (built in reverse)
+ */
++#if 0
+ xig = (struct xinpgen *) udpcb_buf;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+
+@@ -584,12 +585,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(struct inpcb);
+ if (!nnew)
+ break;
+- memcpy(nnew, ((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
++ memcpy(nnew, &((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
+
+ nnew->next = udp_head; /* XXX - ?? Check 'next' pointer */
+ udp_head = nnew;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+ }
++#endif
+
+ free(udpcb_buf);
+ if (udp_head) {
diff --git a/net-mgmt/net-snmp53/files/snmpd.sh.sample b/net-mgmt/net-snmp53/files/snmpd.sh.sample
index f07a6fac2376..f56301232645 100644
--- a/net-mgmt/net-snmp53/files/snmpd.sh.sample
+++ b/net-mgmt/net-snmp53/files/snmpd.sh.sample
@@ -12,7 +12,7 @@
#
snmpd_enable="NO"
-snmpd_flags="-P /var/run/snmpd.pid"
+snmpd_flags="-p /var/run/snmpd.pid"
. %%RC_SUBR%%
diff --git a/net-mgmt/net-snmp53/pkg-plist b/net-mgmt/net-snmp53/pkg-plist
index 7cce181fa8c9..fcd5789e783f 100644
--- a/net-mgmt/net-snmp53/pkg-plist
+++ b/net-mgmt/net-snmp53/pkg-plist
@@ -32,7 +32,9 @@ include/net-snmp/agent/agent_registry.h
include/net-snmp/agent/agent_trap.h
include/net-snmp/agent/all_helpers.h
include/net-snmp/agent/auto_nlist.h
+include/net-snmp/agent/baby_steps.h
include/net-snmp/agent/bulk_to_next.h
+include/net-snmp/agent/cache_handler.h
include/net-snmp/agent/debug_handler.h
include/net-snmp/agent/ds_agent.h
include/net-snmp/agent/instance.h
@@ -44,7 +46,9 @@ include/net-snmp/agent/net-snmp-agent-includes.h
include/net-snmp/agent/null.h
include/net-snmp/agent/old_api.h
include/net-snmp/agent/read_only.h
+include/net-snmp/agent/row_merge.h
include/net-snmp/agent/scalar.h
+include/net-snmp/agent/scalar_group.h
include/net-snmp/agent/serialize.h
include/net-snmp/agent/set_helper.h
include/net-snmp/agent/snmp_agent.h
@@ -54,6 +58,7 @@ include/net-snmp/agent/table_array.h
include/net-snmp/agent/table_data.h
include/net-snmp/agent/table_dataset.h
include/net-snmp/agent/table_iterator.h
+include/net-snmp/agent/table_mfd.h
include/net-snmp/agent/var_struct.h
include/net-snmp/agent/watcher.h
include/net-snmp/config_api.h
@@ -65,6 +70,9 @@ include/net-snmp/library/check_varbind.h
include/net-snmp/library/cmu_compat.h
include/net-snmp/library/container.h
include/net-snmp/library/container_binary_array.h
+include/net-snmp/library/container_iterator.h
+include/net-snmp/library/container_list_ssll.h
+include/net-snmp/library/container_null.h
include/net-snmp/library/data_list.h
include/net-snmp/library/default_store.h
include/net-snmp/library/factory.h
@@ -136,6 +144,7 @@ include/net-snmp/system/linux.h
include/net-snmp/system/mips.h
include/net-snmp/system/netbsd.h
include/net-snmp/system/openbsd.h
+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
diff --git a/net/net-snmp/Makefile b/net/net-snmp/Makefile
index b5ed765822d6..3146fef15ac6 100644
--- a/net/net-snmp/Makefile
+++ b/net/net-snmp/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= net-snmp
-PORTVERSION= 5.0.9
-PORTREVISION= 1
+PORTVERSION= 5.1
CATEGORIES= net ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
@@ -16,7 +15,7 @@ MAINTAINER= kuriyama@FreeBSD.org
COMMENT= An extendable SNMP implementation
USE_REINPLACE= yes
-USE_AUTOCONF_VER=213
+USE_AUTOCONF_VER=257
USE_LIBTOOL= yes
USE_RC_SUBR= yes
INSTALLS_SHLIB= yes
@@ -26,7 +25,7 @@ NO_LATEST_LINK= yes
USE_PERL5= yes
.endif
-CONFIGURE_ARGS+=--enable-shared --with-mib-modules="host ucd-snmp/diskio" \
+CONFIGURE_ARGS+=--enable-shared --with-mib-modules="${NET_SNMP_MIB_MODULES}" \
--with-default-snmp-version="${DEFAULT_SNMP_VERSION}" \
--with-sys-contact="${NET_SNMP_SYS_CONTACT}" \
--with-sys-location="${NET_SNMP_SYS_LOCATION}" \
@@ -40,19 +39,13 @@ PLIST_SUB+= WITHPERL="@comment "
CONFIGURE_ARGS+= --with-perl-modules
PLIST_SUB+= WITHPERL=""
.endif
-.if defined(BATCH)
-CONFIGURE_ARGS+=--with-defaults
-.else
-IS_INTERACTIVE= yes
-.endif
-_CONFIGURE_ENV= AUTOCONF=${LOCALBASE}/bin/autoconf213 \
- AUTOHEADER=${LOCALBASE}/bin/autoheader213
DEFAULT_SNMP_VERSION?= 3
NET_SNMP_SYS_CONTACT?= nobody@no.where
NET_SNMP_SYS_LOCATION?=
NET_SNMP_LOGFILE?= /var/log/snmpd.log
NET_SNMP_PERSISTENTDIR?=/var/net-snmp
+NET_SNMP_MIB_MODULES?= host smux ucd-snmp/diskio
MAN1= mib2c.1 \
snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 \
@@ -108,7 +101,7 @@ CONFIGURE_ARGS+=--enable-ipv6 \
--with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix"
.endif
-SHLIB_VERSION= 5
+SHLIB_VERSION= 6
PLIST_SUB+= shlib=${SHLIB_VERSION}
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
@@ -140,3 +133,6 @@ post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
+
+# Dependency:
+# lang/php4,net/braa,net/docsis,net/ethereal,net/mbrowse,net/tethereal,net/zabbix,security/libfwbuilder
diff --git a/net/net-snmp/distinfo b/net/net-snmp/distinfo
index 9b43d7320ee1..f10437e32d37 100644
--- a/net/net-snmp/distinfo
+++ b/net/net-snmp/distinfo
@@ -1 +1 @@
-MD5 (net-snmp-5.0.9.tar.gz) = cecd5ec74f5c546c1ea7ed7987b5932b
+MD5 (net-snmp-5.1.tar.gz) = 14217471edb2b805b0e28c4c3cfd8c75
diff --git a/net/net-snmp/files/patch-Makefile.in b/net/net-snmp/files/patch-Makefile.in
index 1df820072caf..405b874b64aa 100644
--- a/net/net-snmp/files/patch-Makefile.in
+++ b/net/net-snmp/files/patch-Makefile.in
@@ -1,11 +1,11 @@
---- Makefile.in.orig Sat Aug 23 15:57:04 2003
-+++ Makefile.in Sat Aug 23 15:57:20 2003
+--- Makefile.in.orig Wed Oct 22 22:13:07 2003
++++ Makefile.in Fri Nov 14 12:59:36 2003
@@ -15,7 +15,7 @@
INSTALLHEADERS=version.h
INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h darwin.h \
- dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
+ dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd.h generic.h hpux.h \
- irix.h linux.h mips.h netbsd.h openbsd.h solaris2.6.h solaris2.7.h \
+ irix.h linux.h mips.h netbsd.h openbsd.h osf5.h solaris2.6.h solaris2.7.h \
solaris2.8.h solaris2.9.h solaris.h sunos.h svr5.h sysv.h ultrix4.h
INCLUDESUBDIR2=machine
diff --git a/net/net-snmp/files/patch-al b/net/net-snmp/files/patch-al
deleted file mode 100644
index 89187b836b0b..000000000000
--- a/net/net-snmp/files/patch-al
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.in.orig Tue May 7 08:12:10 2002
-+++ configure.in Mon Jun 24 09:38:33 2002
-@@ -1772,6 +1772,26 @@
- AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE,
- [
-
-+dnl 4.4 compatible but renamed on FreeBSD
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#define KERNEL
-+#define _KERNEL
-+#include <sys/socket.h>
-+#undef KERNEL
-+#undef _KERNEL
-+#include <net/route.h>
-+],[
-+
-+#ifndef STRUCT_RTENTRY_HAS_RT_DST
-+#define rt_dst rt_nodes->rn_key
-+#endif
-+
-+ struct rtentry rt;
-+ rt.rt_nodes[0].rn_bit = 1;
-+ rt.rt_dst;
-+ ], ac_cv_RTENTRY_TYPE="BSD-4.4")
-+
- dnl 4.4 compat
- AC_TRY_COMPILE([
- #ifdef HAVE_SYS_PARAM_H
diff --git a/net/net-snmp/files/patch-configure.in b/net/net-snmp/files/patch-configure.in
new file mode 100644
index 000000000000..c3a85b528ce2
--- /dev/null
+++ b/net/net-snmp/files/patch-configure.in
@@ -0,0 +1,19 @@
+--- configure.in.orig Fri Nov 14 13:32:10 2003
++++ configure.in Fri Nov 14 13:36:27 2003
+@@ -1357,7 +1357,7 @@
+ # fall back
+ CFLAG="-f"
+ fi
+-for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel
++for i in /vmunix /hp-ux /stand/vmunix /dev/ksyms /kernel/unix /kernel/genunix /netbsd /unix /kernel /bsd /mach_kernel /boot/kernel/kernel
+ do
+ if test -f $i -o $CFLAG $i; then
+ ac_cv_KERNEL_LOC="$i"
+@@ -1376,6 +1376,7 @@
+ # Check for mount table location
+ #
+
++# kuriyama: should /var/db/mounttab be used?
+ AC_CACHE_CHECK(for mount table location,ac_cv_ETC_MNTTAB,
+ [ac_cv_ETC_MNTTAB="unknown"
+ for i in /etc/mnttab /etc/mtab /etc/filesystems
diff --git a/net/net-snmp/files/patch-hr_storage.c b/net/net-snmp/files/patch-hr_storage.c
index 1e2e66f97e0a..a1eff0ab8301 100644
--- a/net/net-snmp/files/patch-hr_storage.c
+++ b/net/net-snmp/files/patch-hr_storage.c
@@ -1,5 +1,5 @@
---- agent/mibgroup/host/hr_storage.c.orig Thu Jul 4 22:00:31 2002
-+++ agent/mibgroup/host/hr_storage.c Mon Jul 22 14:38:58 2002
+--- agent/mibgroup/host/hr_storage.c.orig Tue Feb 25 22:17:46 2003
++++ agent/mibgroup/host/hr_storage.c Fri Nov 14 13:03:07 2003
@@ -148,7 +148,7 @@
#define HRFS_mount mnt_mountp
#define HRFS_statfs statvfs
@@ -9,16 +9,16 @@
extern struct mntent *HRFS_entry;
extern int fscount;
-@@ -563,7 +563,7 @@
+@@ -564,7 +564,7 @@
}
case HRSTORE_UNITS:
- if (store_idx < HRS_TYPE_FS_MAX)
+ if (store_idx > HRS_TYPE_FIXED_MAX)
-#if STRUCT_STATVFS_HAS_F_FRSIZE
+#if defined(STRUCT_STATVFS_HAS_F_FRSIZE) && defined(HAVE_MNTENT)
long_return = stat_buf.f_frsize;
#else
long_return = stat_buf.f_bsize;
-@@ -646,7 +646,15 @@
+@@ -647,7 +647,15 @@
i++)
long_return += mbstat.m_mtypes[i];
#elif defined(MBSTAT_SYMBOL)
@@ -34,7 +34,7 @@
#elif defined(NO_DUMMY_VALUES)
return NULL;
#else
-@@ -704,7 +712,15 @@
+@@ -705,7 +713,15 @@
* mbpool.pr_size + (mclpool.pr_nget - mclpool.pr_nput)
* mclpool.pr_size;
#elif defined(MBSTAT_SYMBOL)
diff --git a/net/net-snmp/files/patch-hr_system.c b/net/net-snmp/files/patch-hr_system.c
new file mode 100644
index 000000000000..ee1f01228bfd
--- /dev/null
+++ b/net/net-snmp/files/patch-hr_system.c
@@ -0,0 +1,23 @@
+--- agent/mibgroup/host/hr_system.c.orig Fri Nov 14 14:45:55 2003
++++ agent/mibgroup/host/hr_system.c Fri Nov 14 14:46:01 2003
+@@ -276,11 +276,10 @@
+ struct utmp *utmp_p;
+ #endif
+
++#ifndef UTMP_HAS_NO_TYPE
+ setutent();
+ while ((utmp_p = getutent()) != NULL) {
+-#ifndef UTMP_HAS_NO_TYPE
+ if (utmp_p->ut_type == USER_PROCESS) {
+-#endif
+ /* This block of code fixes zombie user PIDs in the
+ utmp/utmpx file that would otherwise be counted as a
+ current user */
+@@ -293,6 +292,7 @@
+ }
+ }
+ endutent();
++#endif
+ return total;
+ }
+
diff --git a/net/net-snmp/files/patch-ipv6.c b/net/net-snmp/files/patch-ipv6.c
new file mode 100644
index 000000000000..c755184e10c9
--- /dev/null
+++ b/net/net-snmp/files/patch-ipv6.c
@@ -0,0 +1,105 @@
+--- agent/mibgroup/mibII/ipv6.c.orig Fri Feb 28 18:13:36 2003
++++ agent/mibgroup/mibII/ipv6.c Tue Nov 18 12:09:09 2003
+@@ -1238,6 +1238,7 @@
+ if (!auto_nlist("udb6", (char *) &udb6, sizeof(udb6)))
+ return NULL;
+ p = (caddr_t) udb6.in6p_next;
++ DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ #else
+ {
+ const char *udblist = "net.inet.udp.pcblist";
+@@ -1254,11 +1255,11 @@
+ oxig = (struct xinpgen *) sysctl_buf;
+ xig = (struct xinpgen *) ((char *) oxig + oxig->xig_len);
+ }
++ DEBUGMSGTL(("mibII/ipv6", "start: xig=%p\n", xig));
+ #endif
+ found = hitnext = 0;
+ memcpy((char *) newname, (char *) vp->name,
+ (int) vp->namelen * sizeof(oid));
+- DEBUGMSGTL(("mibII/ipv6", "start: p=%x\n", p));
+ while (
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+ p && (u_long) p != auto_nlist_value("udb6")
+@@ -1266,12 +1267,16 @@
+ xig->xig_len > sizeof(struct xinpgen)
+ #endif
+ ) {
+- DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
++ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+ klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb));
+ #else
+ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
++ continue;
++ }
+ #endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+@@ -1283,8 +1288,8 @@
+ else
+ newname[j++] = 0;
+ /*XXX*/
+- DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
+- (int) vp->namelen, j));
++ DEBUGMSGTL(("mibII/ipv6", "var_udp6 new: %d %d ",
++ (int) vp->namelen, j));
+ DEBUGMSGOID(("mibII/ipv6", newname, j));
+ DEBUGMSG(("mibII/ipv6", " %d\n", exact));
+
+@@ -1447,9 +1452,6 @@
+ p));
+ break;
+ }
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+ if (klookup
+ ((u_long) in6pcb.in6p_ppcb, (char *) &tcp6cb, sizeof(tcp6cb))
+ < 0) {
+@@ -1457,6 +1459,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
+@@ -1646,11 +1656,7 @@
+ DEBUGMSGTL(("mibII/ipv6", "looping: p=%x\n", p));
+
+ #if !(defined(__FreeBSD__) && __FreeBSD__ >= 3)
+- if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0)
+-#else
+- in6pcb = ((struct xinpcb *) xig)->xi_inp;
+-#endif
+- {
++ if (klookup((u_long) p, (char *) &in6pcb, sizeof(in6pcb)) < 0) {
+ DEBUGMSGTL(("mibII/ipv6", "klookup fail for in6pcb at %x\n",
+ p));
+ break;
+@@ -1662,6 +1668,14 @@
+ in6pcb.in6p_ppcb));
+ break;
+ }
++#else
++ in6pcb = ((struct xinpcb *) xig)->xi_inp;
++ struct xtcpcb *xp = (struct xtcpcb *)xig;
++ tcp6cb = xp->xt_tp;
++ if (!(in6pcb.inp_vflag & 0x02)) { /* Skip non-IPv6 pcb */
++ goto skip;
++ }
++#endif
+ j = (int) vp->namelen;
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
diff --git a/net/net-snmp/files/patch-tcpTable.c b/net/net-snmp/files/patch-tcpTable.c
index 19e1f60d7ca8..20f29239b95d 100644
--- a/net/net-snmp/files/patch-tcpTable.c
+++ b/net/net-snmp/files/patch-tcpTable.c
@@ -1,51 +1,26 @@
---- agent/mibgroup/mibII/tcpTable.c.orig Sat Apr 20 16:30:05 2002
-+++ agent/mibgroup/mibII/tcpTable.c Sat Aug 16 17:38:05 2003
-@@ -462,6 +462,40 @@
- TCP_Count_Connections(void)
- {
- int Established;
-+#if (defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-+ int mib[4], len;
-+ char *p;
-+ struct tcpcb *tpcb;
-+ struct xtcpcb *tp;
-+ struct xinpgen *next;
-+
-+ mib[0]=CTL_NET;
-+ mib[1]=PF_INET;
-+ mib[2]=IPPROTO_TCP;
-+ mib[3]=TCPCTL_PCBLIST;
-+
-+ if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ return 0;
-+ }
-+ if ((p=(char *)malloc(len)) == NULL) {
-+ snmp_log_perror("TCP_Count_Connections - malloc");
-+ return 0;
-+ }
-+ if (sysctl(mib, 4, p, &len, NULL, 0) != 0) {
-+ snmp_log_perror("TCP_Count_Connections - sysctl");
-+ free(p);
-+ return 0;
-+ }
-+ Established=0;
-+ next=(struct xinpgen *)p;
-+ for (next=(struct xinpgen *)((char *)next + next->xig_len); next->xig_len > sizeof(struct xinpgen); next=(struct xinpgen *)((char *)next + next->xig_len)) {
-+ tp=(struct xtcpcb *)next;
-+ if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
-+ Established++;
-+ }
-+ free(p);
-+#else
- struct inpcb cb;
- register struct inpcb *next;
- #if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
-@@ -525,6 +559,7 @@
- prev = next;
- #endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
- }
+--- agent/mibgroup/mibII/tcpTable.c.orig Fri Nov 14 14:49:21 2003
++++ agent/mibgroup/mibII/tcpTable.c Fri Nov 14 15:14:16 2003
+@@ -84,6 +84,8 @@
+ #define TCPTABLE_REMOTEADDRESS pcb.inp_faddr.s_addr
+ #define TCPTABLE_REMOTEPORT pcb.inp_fport
+ #define TCPTABLE_IS_LINKED_LIST
++#undef INP_NEXT_SYMBOL
++#define INP_NEXT_SYMBOL inp_next
+
+ #endif /* linux */
+ #endif /* WIN32 */
+@@ -695,11 +697,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
+ if (!nnew)
+ break;
++#if 0
+ nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state];
+ if (nnew->state == 5 /* established */ ||
+ nnew->state == 8 /* closeWait */ )
+ tcp_estab++;
+- memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xt_inp),
+#endif
- return (Established);
- }
- #endif /* !linux && !hpux11 */
++ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
+ sizeof(struct inpcb));
+
+ nnew->inp_next = tcp_head;
diff --git a/net/net-snmp/files/patch-udpTable.c b/net/net-snmp/files/patch-udpTable.c
new file mode 100644
index 000000000000..83364a9a338d
--- /dev/null
+++ b/net/net-snmp/files/patch-udpTable.c
@@ -0,0 +1,25 @@
+--- agent/mibgroup/mibII/udpTable.c.orig Fri Nov 14 15:14:52 2003
++++ agent/mibgroup/mibII/udpTable.c Fri Nov 14 15:18:08 2003
+@@ -577,6 +577,7 @@
+ * Unpick this into the constituent 'xinpgen' structures, and extract
+ * the 'inpcb' elements into a linked list (built in reverse)
+ */
++#if 0
+ xig = (struct xinpgen *) udpcb_buf;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+
+@@ -584,12 +585,13 @@
+ nnew = SNMP_MALLOC_TYPEDEF(struct inpcb);
+ if (!nnew)
+ break;
+- memcpy(nnew, ((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
++ memcpy(nnew, &((struct xinpcb *) xig)->xi_inp, sizeof(struct inpcb));
+
+ nnew->next = udp_head; /* XXX - ?? Check 'next' pointer */
+ udp_head = nnew;
+ xig = (struct xinpgen *) ((char *) xig + xig->xig_len);
+ }
++#endif
+
+ free(udpcb_buf);
+ if (udp_head) {
diff --git a/net/net-snmp/files/snmpd.sh.sample b/net/net-snmp/files/snmpd.sh.sample
index f07a6fac2376..f56301232645 100644
--- a/net/net-snmp/files/snmpd.sh.sample
+++ b/net/net-snmp/files/snmpd.sh.sample
@@ -12,7 +12,7 @@
#
snmpd_enable="NO"
-snmpd_flags="-P /var/run/snmpd.pid"
+snmpd_flags="-p /var/run/snmpd.pid"
. %%RC_SUBR%%
diff --git a/net/net-snmp/pkg-plist b/net/net-snmp/pkg-plist
index 7cce181fa8c9..fcd5789e783f 100644
--- a/net/net-snmp/pkg-plist
+++ b/net/net-snmp/pkg-plist
@@ -32,7 +32,9 @@ include/net-snmp/agent/agent_registry.h
include/net-snmp/agent/agent_trap.h
include/net-snmp/agent/all_helpers.h
include/net-snmp/agent/auto_nlist.h
+include/net-snmp/agent/baby_steps.h
include/net-snmp/agent/bulk_to_next.h
+include/net-snmp/agent/cache_handler.h
include/net-snmp/agent/debug_handler.h
include/net-snmp/agent/ds_agent.h
include/net-snmp/agent/instance.h
@@ -44,7 +46,9 @@ include/net-snmp/agent/net-snmp-agent-includes.h
include/net-snmp/agent/null.h
include/net-snmp/agent/old_api.h
include/net-snmp/agent/read_only.h
+include/net-snmp/agent/row_merge.h
include/net-snmp/agent/scalar.h
+include/net-snmp/agent/scalar_group.h
include/net-snmp/agent/serialize.h
include/net-snmp/agent/set_helper.h
include/net-snmp/agent/snmp_agent.h
@@ -54,6 +58,7 @@ include/net-snmp/agent/table_array.h
include/net-snmp/agent/table_data.h
include/net-snmp/agent/table_dataset.h
include/net-snmp/agent/table_iterator.h
+include/net-snmp/agent/table_mfd.h
include/net-snmp/agent/var_struct.h
include/net-snmp/agent/watcher.h
include/net-snmp/config_api.h
@@ -65,6 +70,9 @@ include/net-snmp/library/check_varbind.h
include/net-snmp/library/cmu_compat.h
include/net-snmp/library/container.h
include/net-snmp/library/container_binary_array.h
+include/net-snmp/library/container_iterator.h
+include/net-snmp/library/container_list_ssll.h
+include/net-snmp/library/container_null.h
include/net-snmp/library/data_list.h
include/net-snmp/library/default_store.h
include/net-snmp/library/factory.h
@@ -136,6 +144,7 @@ include/net-snmp/system/linux.h
include/net-snmp/system/mips.h
include/net-snmp/system/netbsd.h
include/net-snmp/system/openbsd.h
+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