diff options
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 |