summaryrefslogtreecommitdiff
path: root/net/ucd-snmp-current
diff options
context:
space:
mode:
authorkim <kim>1999-09-22 21:11:39 +0000
committerkim <kim>1999-09-22 21:11:39 +0000
commit56e1eeaf6aba4aa44f3a5a27f67e4c4e69aac799 (patch)
treee7a0e606060cf1d7c6bc3a1d4d2aaae45f3d660c /net/ucd-snmp-current
parent62dfbe97acbda91dcba8221ed5280889b1a2124d (diff)
downloadpkgsrc-56e1eeaf6aba4aa44f3a5a27f67e4c4e69aac799.tar.gz
Current ucd-snmp package, version 4.0.1 with patch 12 applied.
Diffstat (limited to 'net/ucd-snmp-current')
-rw-r--r--net/ucd-snmp-current/Makefile54
-rw-r--r--net/ucd-snmp-current/files/md53
-rw-r--r--net/ucd-snmp-current/files/patch-sum10
-rw-r--r--net/ucd-snmp-current/patches/patch-012676
-rw-r--r--net/ucd-snmp-current/patches/patch-aa64
-rw-r--r--net/ucd-snmp-current/patches/patch-ab15
-rw-r--r--net/ucd-snmp-current/patches/patch-ac15
-rw-r--r--net/ucd-snmp-current/patches/patch-ad13
-rw-r--r--net/ucd-snmp-current/patches/patch-ae13
-rw-r--r--net/ucd-snmp-current/patches/patch-af13
-rw-r--r--net/ucd-snmp-current/patches/patch-ag76
-rw-r--r--net/ucd-snmp-current/pkg/COMMENT1
-rw-r--r--net/ucd-snmp-current/pkg/DESCR14
-rw-r--r--net/ucd-snmp-current/pkg/MESSAGE22
-rw-r--r--net/ucd-snmp-current/pkg/PLIST102
15 files changed, 1091 insertions, 0 deletions
diff --git a/net/ucd-snmp-current/Makefile b/net/ucd-snmp-current/Makefile
new file mode 100644
index 00000000000..de97f2427b6
--- /dev/null
+++ b/net/ucd-snmp-current/Makefile
@@ -0,0 +1,54 @@
+# $NetBSD: Makefile,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+#
+
+DISTNAME= ucd-snmp-4.0.1
+PKGNAME= ${DISTNAME}.12
+CATEGORIES= net
+MASTER_SITES= ftp://ucd-snmp.ucdavis.edu/ \
+ ftp://sunsite.cnlab-switch.ch/mirror/ucd-snmp/
+
+# This patch is malformed (first Index line is missing, other
+# Index lines are relative to the agent directory), so I've
+# put a fixed copy in ${FILESDIR}. (kim 1999-09-21)
+
+#PATCH_SITES= http://ucd-snmp.ucdavis.edu/patches/
+#PATCHFILES= 012.patch
+#DIST_SUBDIR= ucd-snmp
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://www.ece.ucdavis.edu/ucd-snmp/
+
+BUILD_DEPENDS+= autoconf:../../devel/autoconf
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --with-defaults
+CONFIGURE_ARGS+= --with-dummy-values
+CONFIGURE_ARGS+= --with-libwrap
+CONFIGURE_ARGS+= --with-sys-contact=root
+# note the default appends a redundant and silly ".log"
+CONFIGURE_ARGS+= --with-logfile="/var/log/snmpd"
+# this might make it easier to use scotty's mibs, and local ones too
+CONFIGURE_ARGS+= --with-mibdirs="${PREFIX}/share/snmp/mibs:${PREFIX}/lib/tnm2.1.8/mibs:/usr/local/share/snmp/mibs"
+
+# pass down PKG_PREFIX to simulate pkg_add's environment
+MAKE_ENV+= PKG_PREFIX="${PREFIX}"
+
+.include "../../mk/bsd.prefs.mk"
+
+pre-configure:
+ (cd ${WRKSRC}; autoreconf --force)
+
+# Need to run INSTALL script as this doesn't happen automagically from pkgsrc.
+post-install:
+ @${MKDIR} ${PREFIX}/share/examples/ucd-snmp
+ @for F in ${WRKSRC}/etc/* ; do \
+ ${INSTALL_DATA} $$F ${PREFIX}/share/examples/ucd-snmp ; \
+ done
+ ${ECHO} "Creating ${PREFIX}/etc/rc.d/snmpd.sh startup file."; \
+ ${ECHO} "#!/bin/sh" > ${PREFIX}/etc/rc.d/snmpd.sh; \
+ ${ECHO} "[ -x ${PREFIX}/sbin/snmpd ] && ${PREFIX}/sbin/snmpd && ${ECHO} -n ' snmpd'" >> ${PREFIX}/etc/rc.d/snmpd.sh
+ ${CHMOD} 755 ${PREFIX}/etc/rc.d/snmpd.sh
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib/snmp/dlmod
+ ${TOUCH} ${PREFIX}/lib/snmp/dlmod/.keepme
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/ucd-snmp-current/files/md5 b/net/ucd-snmp-current/files/md5
new file mode 100644
index 00000000000..d74ef52b2b5
--- /dev/null
+++ b/net/ucd-snmp-current/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+MD5 (ucd-snmp-4.0.1.tar.gz) = ba72a7b8c9efd226b72baf74d68d4511
diff --git a/net/ucd-snmp-current/files/patch-sum b/net/ucd-snmp-current/files/patch-sum
new file mode 100644
index 00000000000..34d4edb5cc2
--- /dev/null
+++ b/net/ucd-snmp-current/files/patch-sum
@@ -0,0 +1,10 @@
+$NetBSD: patch-sum,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+MD5 (patch-012) = 70b04d9dac52c0cc219b1c3d8b7d82ec
+MD5 (patch-aa) = 2a207b08ae1eb7ff69ad3e2127361040
+MD5 (patch-ab) = d77d772f82911e2bbb3efbbe6311ea4a
+MD5 (patch-ac) = 69bc75948c5cb2142afc1d94a8c8f4dc
+MD5 (patch-ad) = 6a4ab69f5c3f0b98bffcb273c132c837
+MD5 (patch-ae) = 732a0d565d585d53ca5a3f4d8584744c
+MD5 (patch-af) = 5f8231f96a5958e72b74c22c4ee65161
+MD5 (patch-ag) = ef99d3a5839cf4491e58eee1c73422b1
diff --git a/net/ucd-snmp-current/patches/patch-012 b/net/ucd-snmp-current/patches/patch-012
new file mode 100644
index 00000000000..f4bc33d2368
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-012
@@ -0,0 +1,676 @@
+$NetBSD: patch-012,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+Index: agent/snmpd.c
+===================================================================
+RCS file: /opt/ucd-snmp/ucd-snmp/agent/snmpd.c,v
+retrieving revision 1.137
+diff -c -r1.137 snmpd.c
+*** snmpd.c 1999/08/23 20:54:32 1.137
+--- snmpd.c 1999/08/27 02:43:49
+***************
+*** 202,213 ****
+
+ #define NUM_SOCKETS 32
+
+! #ifdef USING_SD_HANDLERS
+! static int sdlist[NUM_SOCKETS],
+! sdlen = 0;
+! static int portlist[NUM_SOCKETS];
+! int (*sd_handlers[NUM_SOCKETS]) (int);
+! #endif
+
+ /*
+ * Prototypes.
+--- 202,211 ----
+
+ #define NUM_SOCKETS 32
+
+! #ifdef USING_SMUX_MODULE
+! static int sdlist[NUM_SOCKETS], sdlen = 0;
+! int listen_sd;
+! #endif /* USING_SMUX_MODULE */
+
+ /*
+ * Prototypes.
+***************
+*** 909,914 ****
+--- 907,915 ----
+ struct timeval sched, *svp = &sched,
+ now, *nvp = &now;
+ int count, block;
++ #ifdef USING_SMUX_MODULE
++ int i, j, sd;
++ #endif /* USING_SMUX_MODULE */
+
+
+
+***************
+*** 944,949 ****
+--- 945,960 ----
+ snmp_select_info(&numfds, &fdset, tvp, &block);
+ if (block == 1)
+ tvp = NULL; /* block without timeout */
++ #ifdef USING_SMUX_MODULE
++ if (listen_sd >= 0) {
++ FD_SET(listen_sd, &fdset);
++ numfds = listen_sd >= numfds ? listen_sd + 1 : numfds;
++ for (i = 0; i < sdlen; i++) {
++ FD_SET(sdlist[i], &fdset);
++ numfds = sdlist[i] >= numfds ? sdlist[i] + 1 : numfds;
++ }
++ }
++ #endif /* USING_SMUX_MODULE */
+ count = select(numfds, &fdset, 0, 0, tvp);
+
+ if (count > 0){
+***************
+*** 964,969 ****
+--- 975,1001 ----
+ return -1;
+ } /* endif -- count>0 */
+
++ #ifdef USING_SMUX_MODULE
++ /* handle the SMUX sd's */
++ if (listen_sd >= 0) {
++ for (i = 0; i < sdlen; i++) {
++ if (FD_ISSET(sdlist[i], &fdset)) {
++ if (smux_process(sdlist[i]) < 0) {
++ for (; i < (sdlen - 1); i++) {
++ sdlist[i] = sdlist[i+1];
++ }
++ sdlen--;
++ }
++ }
++ }
++ /* new connection */
++ if (FD_ISSET(listen_sd, &fdset)) {
++ if ((sd = smux_accept(listen_sd)) >= 0) {
++ sdlist[sdlen++] = sd;
++ }
++ }
++ }
++ #endif /* USING_SMUX_MODULE */
+
+ /*
+ * If the time 'now' is greater than the 'sched'uled time, then:
+Index: agent/mibgroup/smux/smux.c
+===================================================================
+RCS file: /opt/ucd-snmp/ucd-snmp/agent/mibgroup/smux/smux.c,v
+retrieving revision 1.29
+diff -c -r1.29 smux.c
+*** smux.c 1999/08/24 22:14:18 1.29
+--- smux.c 1999/08/27 02:43:50
+***************
+*** 69,84 ****
+ oid smux_objid[MAX_OID_LEN];
+ u_char smux_str[SMUXMAXSTRLEN];
+
+! #ifdef USING_SD_HANDLERS
+! extern int sdlist[];
+! extern int sdlen;
+! extern int (*sd_handlers[])(int);
+! #endif
+
+ static struct timeval smux_rcv_timeout;
+ static u_long smux_reqid;
+
+! int init_smux (void);
+ static u_char *smux_open_process (int, u_char *, size_t *, int *);
+ static u_char *smux_rreq_process (int, u_char *, size_t *);
+ static u_char *smux_close_process (int, u_char *, size_t *);
+--- 69,80 ----
+ oid smux_objid[MAX_OID_LEN];
+ u_char smux_str[SMUXMAXSTRLEN];
+
+! extern int listen_sd;
+
+ static struct timeval smux_rcv_timeout;
+ static u_long smux_reqid;
+
+! void init_smux (void);
+ static u_char *smux_open_process (int, u_char *, size_t *, int *);
+ static u_char *smux_rreq_process (int, u_char *, size_t *);
+ static u_char *smux_close_process (int, u_char *, size_t *);
+***************
+*** 161,180 ****
+ }
+ }
+
+! int
+ init_smux(void)
+ {
+
+ struct sockaddr_in lo_socket;
+- int smux_sd;
+ int one = 1;
+
+ snmpd_register_config_handler("smuxpeer", smux_parse_peer_auth,
+ smux_free_peer_auth,
+ "OID-IDENTITY PASSWORD");
+-
+ /* Reqid */
+ smux_reqid = 0;
+
+ /* Receive timeout */
+ smux_rcv_timeout.tv_sec = 0;
+--- 157,175 ----
+ }
+ }
+
+! void
+ init_smux(void)
+ {
+
+ struct sockaddr_in lo_socket;
+ int one = 1;
+
+ snmpd_register_config_handler("smuxpeer", smux_parse_peer_auth,
+ smux_free_peer_auth,
+ "OID-IDENTITY PASSWORD");
+ /* Reqid */
+ smux_reqid = 0;
++ listen_sd = -1;
+
+ /* Receive timeout */
+ smux_rcv_timeout.tv_sec = 0;
+***************
+*** 185,222 ****
+ lo_socket.sin_family = AF_INET;
+ lo_socket.sin_port = htons((u_short) SMUXPORT);
+
+! if ((smux_sd = socket (AF_INET, SOCK_STREAM, 0)) < 0) {
+ snmp_log_perror("[init_smux] socket failed");
+! return SMUXNOTOK;
+ }
+! if (bind (smux_sd, (struct sockaddr *) &lo_socket,
+ sizeof (lo_socket)) < 0) {
+ snmp_log_perror("[init_smux] bind failed");
+! close(smux_sd);
+! return SMUXNOTOK;
+ }
+
+! if (setsockopt (smux_sd, SOL_SOCKET, SO_KEEPALIVE, (char *)&one,
+ sizeof (one)) < 0) {
+ snmp_log_perror("[init_smux] setsockopt(SO_KEEPALIVE) failed");
+! close(smux_sd);
+! return SMUXNOTOK;
+ }
+! if(listen(smux_sd, SOMAXCONN) == -1) {
+ snmp_log_perror("[init_smux] listen failed");
+! close(smux_sd);
+! return SMUXNOTOK;
+ }
+- #ifdef USING_SD_HANDLERS
+- sdlist[sdlen] = smux_sd;
+- sd_handlers[sdlen++] = smux_accept;
+-
+- DEBUGMSGTL(("smux_init","sdlen in smux_init: %d\n", sdlen));
+- #endif
+- DEBUGMSGTL(("smux_init", "[smux_init] done; smux_sd is %d, smux_port is %d\n", smux_sd,
+- ntohs(lo_socket.sin_port)));
+
+! return SMUXOK;
+ }
+
+ u_char *
+--- 180,216 ----
+ lo_socket.sin_family = AF_INET;
+ lo_socket.sin_port = htons((u_short) SMUXPORT);
+
+! if ((listen_sd = socket (AF_INET, SOCK_STREAM, 0)) < 0) {
+ snmp_log_perror("[init_smux] socket failed");
+! return;
+ }
+!
+! if (bind (listen_sd, (struct sockaddr *) &lo_socket,
+ sizeof (lo_socket)) < 0) {
+ snmp_log_perror("[init_smux] bind failed");
+! close(listen_sd);
+! listen_sd = -1;
+! return;
+ }
+
+! #ifdef SO_KEEPALIVE
+! if (setsockopt (listen_sd, SOL_SOCKET, SO_KEEPALIVE, (char *)&one,
+ sizeof (one)) < 0) {
+ snmp_log_perror("[init_smux] setsockopt(SO_KEEPALIVE) failed");
+! close(listen_sd);
+! listen_sd = -1;
+! return;
+ }
+! #endif /* SO_KEEPALIVE */
+!
+! if(listen(listen_sd, SOMAXCONN) == -1) {
+ snmp_log_perror("[init_smux] listen failed");
+! close(listen_sd);
+! listen_sd = -1;
+! return;
+ }
+
+! DEBUGMSGTL(("smux_init", "[smux_init] done; smux listen sd is %d, smux port is %d\n", listen_sd, ntohs(lo_socket.sin_port)));
+ }
+
+ u_char *
+***************
+*** 240,246 ****
+ }
+ if (rptr == NULL)
+ return NULL;
+! else if (exact && (*length <= rptr->sr_name_len))
+ return NULL;
+
+ *write_method = var_smux_write;
+--- 234,240 ----
+ }
+ if (rptr == NULL)
+ return NULL;
+! else if (exact && (*length < rptr->sr_name_len))
+ return NULL;
+
+ *write_method = var_smux_write;
+***************
+*** 355,373 ****
+ errno = 0;
+ if((fd = accept(sd, (struct sockaddr *)&in_socket, &alen)) < 0) {
+ snmp_log_perror("[smux_accept] accept failed");
+! return SMUXNOTOK;
+ } else {
+ snmp_log(LOG_ERR, "[smux_accept] accepted fd %d - errno %d\n", fd, errno);
+ if (npeers + 1 == SMUXMAXPEERS) {
+ DEBUGMSGTL (("smux","[smux_accept] denied peer on fd %d, limit reached", fd));
+ close(sd);
+! return SMUXNOTOK;
+ }
+ /* now block for an OpenPDU */
+ if ((len = recv(fd, (char *)data, SMUXMAXPKTSIZE, 0)) <= 0) {
+ DEBUGMSGTL (("smux","[smux_accept] peer on fd %d died or timed out\n", fd));
+ close(fd);
+! return SMUXNOTOK;
+ }
+ /* try to authorize him */
+ ptr = data;
+--- 349,367 ----
+ errno = 0;
+ if((fd = accept(sd, (struct sockaddr *)&in_socket, &alen)) < 0) {
+ snmp_log_perror("[smux_accept] accept failed");
+! return -1;
+ } else {
+ snmp_log(LOG_ERR, "[smux_accept] accepted fd %d - errno %d\n", fd, errno);
+ if (npeers + 1 == SMUXMAXPEERS) {
+ DEBUGMSGTL (("smux","[smux_accept] denied peer on fd %d, limit reached", fd));
+ close(sd);
+! return -1;
+ }
+ /* now block for an OpenPDU */
+ if ((len = recv(fd, (char *)data, SMUXMAXPKTSIZE, 0)) <= 0) {
+ DEBUGMSGTL (("smux","[smux_accept] peer on fd %d died or timed out\n", fd));
+ close(fd);
+! return -1;
+ }
+ /* try to authorize him */
+ ptr = data;
+***************
+*** 375,393 ****
+ smux_send_close(fd, SMUXC_PACKETFORMAT);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d sent bad open"));
+! return SMUXNOTOK;
+ } else if (type != (u_char)SMUX_OPEN) {
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d did not send open: (%d)\n", type));
+! return SMUXNOTOK;
+ }
+ ptr = smux_open_process(fd, ptr, &len, &fail);
+ if (fail) {
+ smux_send_close(fd, SMUXC_AUTHENTICATIONFAILURE);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d failed authentication\n", fd));
+! return SMUXNOTOK;
+ }
+
+ /* he's OK */
+--- 369,387 ----
+ smux_send_close(fd, SMUXC_PACKETFORMAT);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d sent bad open"));
+! return -1;
+ } else if (type != (u_char)SMUX_OPEN) {
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d did not send open: (%d)\n", type));
+! return -1;
+ }
+ ptr = smux_open_process(fd, ptr, &len, &fail);
+ if (fail) {
+ smux_send_close(fd, SMUXC_AUTHENTICATIONFAILURE);
+ close(fd);
+ DEBUGMSGTL (("smux","[smux_accept] peer on %d failed authentication\n", fd));
+! return -1;
+ }
+
+ /* he's OK */
+***************
+*** 397,413 ****
+ snmp_log_perror("smux/setsockopt");
+ }
+ #endif
+-
+ npeers++;
+! #ifdef USING_SD_HANDLERS
+! sdlist[sdlen] = fd;
+! sd_handlers[sdlen++] = smux_process;
+!
+! DEBUGMSGTL (("smux","[smux_accept] fd %d, sdlen %d\n", fd, sdlen));
+! #endif
+ }
+!
+! return SMUXOK;
+ }
+
+ int
+--- 391,400 ----
+ snmp_log_perror("smux/setsockopt");
+ }
+ #endif
+ npeers++;
+! DEBUGMSGTL (("smux","[smux_accept] fd %d\n", fd));
+ }
+! return fd;
+ }
+
+ int
+***************
+*** 424,435 ****
+ */
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d died or timed out\n", fd));
+ smux_peer_cleanup(fd);
+! return SMUXNOTOK; /* return value ignored */
+ }
+
+ DEBUGMSGTL (("smux","[smux_process] Processing %d bytes\n", length));
+
+! error = SMUXOK;
+
+ ptr = data;
+ len = length;
+--- 411,422 ----
+ */
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d died or timed out\n", fd));
+ smux_peer_cleanup(fd);
+! return -1;
+ }
+
+ DEBUGMSGTL (("smux","[smux_process] Processing %d bytes\n", length));
+
+! error = 0;
+
+ ptr = data;
+ len = length;
+***************
+*** 442,474 ****
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d sent duplicate open?\n", fd));
+ smux_peer_cleanup(fd);
+ break;
+ case SMUX_CLOSE:
+ ptr = smux_close_process(fd, ptr, &len);
+ smux_peer_cleanup(fd);
+ break;
+ case SMUX_RREQ:
+ ptr = smux_rreq_process(fd, ptr, &len);
+ break;
+ case SMUX_RRSP:
+! error = SMUXNOTOK;
+ ptr = NULL;
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d sent RRSP!\n", fd));
+ break;
+ case SMUX_SOUT:
+! error = SMUXNOTOK;
+ ptr = NULL;
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","This shouldn't have happened!\n"));
+ break;
+ default:
+ smux_send_close(fd, SMUXC_PACKETFORMAT);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","[smux_process] Wrong type %d\n", (int)type));
+! error = SMUXNOTOK;
+ break;
+ }
+ }
+--- 429,468 ----
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d sent duplicate open?\n", fd));
+ smux_peer_cleanup(fd);
++ error = -1;
+ break;
+ case SMUX_CLOSE:
+ ptr = smux_close_process(fd, ptr, &len);
+ smux_peer_cleanup(fd);
++ error = -1;
+ break;
+ case SMUX_RREQ:
+ ptr = smux_rreq_process(fd, ptr, &len);
+ break;
+ case SMUX_RRSP:
+! error = -1;
+ ptr = NULL;
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","[smux_process] peer on fd %d sent RRSP!\n", fd));
+ break;
+ case SMUX_SOUT:
+! error = -1;
+ ptr = NULL;
+ smux_send_close(fd, SMUXC_PROTOCOLERROR);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","This shouldn't have happened!\n"));
+ break;
++ case SMUX_TRAP:
++ /* just log it.. don't handle traps yet */
++ snmp_log(LOG_INFO, "Got trap from peer on fd %d\n", fd);
++ ptr += len;
++ break;
+ default:
+ smux_send_close(fd, SMUXC_PACKETFORMAT);
+ smux_peer_cleanup(fd);
+ DEBUGMSGTL (("smux","[smux_process] Wrong type %d\n", (int)type));
+! error = -1;
+ break;
+ }
+ }
+***************
+*** 690,698 ****
+ * belong to him. XXX for now, ignore it.
+ */
+ return ptr;
+- }
+
+! if (operation == SMUX_REGOP_REGISTER) {
+ if (priority < -1) {
+ DEBUGMSGTL (("smux","[smux_rreq_process] peer fd %d invalid priority", sd, priority));
+ return NULL;
+--- 684,692 ----
+ * belong to him. XXX for now, ignore it.
+ */
+ return ptr;
+
+! } else if ((operation == SMUX_REGOP_REGISTER_RO) ||
+! (operation == SMUX_REGOP_REGISTER_RW)) {
+ if (priority < -1) {
+ DEBUGMSGTL (("smux","[smux_rreq_process] peer fd %d invalid priority", sd, priority));
+ return NULL;
+***************
+*** 763,775 ****
+ smux_variables, sizeof(struct variable2),
+ 1, nrptr->sr_name, nrptr->sr_name_len);
+ done:
+! if (smux_send_rrsp(sd, nrptr->sr_priority))
+ DEBUGMSGTL (("smux","[smux_rreq_process] send failed\n"));
+ return ptr;
+ }
+-
+- DEBUGMSGTL (("smux","[smux_rreq_process] unknown operation\n"));
+- return NULL;
+ }
+
+ static void
+--- 757,769 ----
+ smux_variables, sizeof(struct variable2),
+ 1, nrptr->sr_name, nrptr->sr_name_len);
+ done:
+! if (smux_send_rrsp(sd, nrptr->sr_priority) < 0)
+ DEBUGMSGTL (("smux","[smux_rreq_process] send failed\n"));
+ return ptr;
++ } else {
++ DEBUGMSGTL (("smux","[smux_rreq_process] unknown operation\n"));
++ return NULL;
+ }
+ }
+
+ static void
+***************
+*** 916,922 ****
+ type = SMUX_GETNEXT;
+
+ if (smux_build(type, smux_reqid, objid, len, 0, NULL,
+! *len, packet, &length) != SMUXOK) {
+ snmp_log(LOG_NOTICE, "[smux_snmp_process]: smux_build failed\n");
+ return NULL;
+ }
+--- 910,916 ----
+ type = SMUX_GETNEXT;
+
+ if (smux_build(type, smux_reqid, objid, len, 0, NULL,
+! *len, packet, &length) < 0) {
+ snmp_log(LOG_NOTICE, "[smux_snmp_process]: smux_build failed\n");
+ return NULL;
+ }
+***************
+*** 1191,1197 ****
+
+ *length = ptr - packet;
+
+! return SMUXOK;
+ }
+
+ static void
+--- 1185,1191 ----
+
+ *length = ptr - packet;
+
+! return 0;
+ }
+
+ static void
+***************
+*** 1231,1248 ****
+ free(rptr);
+ }
+ }
+- #ifdef USING_SD_HANDLERS
+- /* XXX stop paying attention to his socket */
+- for (i = 0; i < sdlen; i++) {
+- if (sdlist[i] == sd) {
+- for (; i < (sdlen-1); i++) {
+- sdlist[i] = sdlist[i+1];
+- sd_handlers[i] = sd_handlers[i+1];
+- }
+- }
+- }
+- sdlen--;
+- #endif
+
+ /* decrement the peer count */
+ npeers--;
+--- 1225,1230 ----
+***************
+*** 1271,1279 ****
+ for(i = 0; i < 4; i++, mask >>= 8)
+ *(++ptr) = (u_char)(pri & mask);
+
+! if((send(sd, (char *)outdata, 6, 0)) < 0)
+! return SMUXNOTOK;
+! else
+! return SMUXOK;
+ }
+-
+--- 1253,1257 ----
+ for(i = 0; i < 4; i++, mask >>= 8)
+ *(++ptr) = (u_char)(pri & mask);
+
+! return (send(sd, (char *)outdata, 6, 0));
+ }
+Index: agent/mibgroup/smux/smux.h
+===================================================================
+RCS file: /opt/ucd-snmp/ucd-snmp/agent/mibgroup/smux/smux.h,v
+retrieving revision 1.6
+diff -c -r1.6 smux.h
+*** smux.h 1999/05/03 22:38:37 1.6
+--- smux.h 1999/08/27 02:43:50
+***************
+*** 3,14 ****
+ * Rewritten by Nick Amato <naamato@merit.net>.
+ */
+
+- #define NOTINIT 0
+- #define INIT 1
+-
+- #define SMUXOK 0
+- #define SMUXNOTOK -1
+-
+ #define SMUXPORT 199
+
+ #define SMUXMAXPKTSIZE 1500
+--- 3,8 ----
+***************
+*** 25,30 ****
+--- 19,25 ----
+ #define SMUX_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
+ #define SMUX_GETRSP (ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
+ #define SMUX_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
++ #define SMUX_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
+
+ #define SMUXC_GOINGDOWN 0
+ #define SMUXC_UNSUPPORTEDVERSION 1
+***************
+*** 36,43 ****
+ #define SMUX_MAX_PEERS 10
+ #define SMUX_MAX_PRIORITY 2147483647
+
+! #define SMUX_REGOP_DELETE 0
+! #define SMUX_REGOP_REGISTER 1
+
+ /*
+ * Authorized peers read from the config file
+--- 31,39 ----
+ #define SMUX_MAX_PEERS 10
+ #define SMUX_MAX_PRIORITY 2147483647
+
+! #define SMUX_REGOP_DELETE 0
+! #define SMUX_REGOP_REGISTER_RO 1
+! #define SMUX_REGOP_REGISTER_RW 2
+
+ /*
+ * Authorized peers read from the config file
+***************
+*** 60,66 ****
+ struct _smux_reg *sr_next; /* next one */
+ } smux_reg;
+
+! extern int init_smux (void);
+ extern int smux_accept (int);
+ extern u_char *smux_snmp_process (int, oid *, size_t *, size_t *, u_char *, int);
+ extern int smux_process (int);
+--- 56,62 ----
+ struct _smux_reg *sr_next; /* next one */
+ } smux_reg;
+
+! extern void init_smux (void);
+ extern int smux_accept (int);
+ extern u_char *smux_snmp_process (int, oid *, size_t *, size_t *, u_char *, int);
+ extern int smux_process (int);
diff --git a/net/ucd-snmp-current/patches/patch-aa b/net/ucd-snmp-current/patches/patch-aa
new file mode 100644
index 00000000000..55794606778
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-aa
@@ -0,0 +1,64 @@
+$NetBSD: patch-aa,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- configure.in.orig Tue Aug 24 19:05:15 1999
++++ configure.in Wed Sep 22 11:04:16 1999
+@@ -142,14 +142,16 @@
+
+ AC_ARG_WITH(libwrap,
+ [ --with-libwrap[=LIBPATH] Compile in libwrap (tcp_wrappers) support.],
+- if test "x$withval" != "x" -a -d "$withval"; then
+- WRAPLIBS="-L$withval -lwrap"
+- elif test "x$withval" = "xyes"; then
+- WRAPLIBS="-lwrap"
+- else
+- WRAPLIBS="$withval $LIBS"
++ if test "x$withval" != "xno"; then
++ if test "x$withval" = "xyes"; then
++ WRAPLIBS="-lwrap"
++ elif test "x$withval" != "x" -a -d "$withval"; then
++ WRAPLIBS="-L$withval -lwrap"
++ else
++ WRAPLIBS="$withval $LIBS"
++ fi
++ AC_DEFINE(USE_LIBWRAP)
+ fi
+- AC_DEFINE(USE_LIBWRAP)
+ )
+
+ dnl This can't be within AC_ARG_WITH. I don't want to read autoconf m4
+@@ -925,11 +927,7 @@
+
+ AC_CHECK_STRUCT_FOR([
+ #include <sys/types.h>
+-#define KERNEL
+-#define _KERNEL
+ #include <sys/socket.h>
+-#undef KERNEL
+-#undef _KERNEL
+ #include <net/route.h>
+ ], rtentry, rt_dst, no)
+
+@@ -940,11 +938,7 @@
+ dnl 4.4 compat
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+-#define KERNEL
+-#define _KERNEL
+ #include <sys/socket.h>
+-#undef KERNEL
+-#undef _KERNEL
+ #include <net/route.h>
+ ],[
+
+@@ -961,11 +955,7 @@
+ if test "x$ac_cv_RTENTRY_TYPE" = "x"; then
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+-#define KERNEL
+-#define _KERNEL
+ #include <sys/socket.h>
+-#undef KERNEL
+-#undef _KERNEL
+ #include <net/route.h>
+ ],[
+ struct rtentry rt;
diff --git a/net/ucd-snmp-current/patches/patch-ab b/net/ucd-snmp-current/patches/patch-ab
new file mode 100644
index 00000000000..c8c982302dd
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- agent/Makefile.in.orig Fri Aug 13 10:16:28 1999
++++ agent/Makefile.in Wed Sep 22 09:56:13 1999
+@@ -4,8 +4,8 @@
+
+ TARG = snmpd
+ USELIBS = ../snmplib/libsnmp.$(SHLIB_EXTENSION)$(SHLIB_VERSION)
+-LOCAL_LIBS = -L../snmplib
+-LIBS = $(CC_RUNTIME_ARG) -lsnmp @WRAPLIBS@ @LIBS@
++LOCAL_LIBS = -L../snmplib -lsnmp
++LIBS = $(CC_RUNTIME_ARG) @WRAPLIBS@ @LIBS@
+
+ CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../snmplib \
+ -I$(srcdir) -I. -I$(srcdir)/mibgroup -Imibgroup @CPPFLAGS@
diff --git a/net/ucd-snmp-current/patches/patch-ac b/net/ucd-snmp-current/patches/patch-ac
new file mode 100644
index 00000000000..9aa3bc957cf
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-ac
@@ -0,0 +1,15 @@
+$NetBSD: patch-ac,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- apps/Makefile.in.orig Fri Aug 13 10:16:43 1999
++++ apps/Makefile.in Wed Sep 22 09:56:24 1999
+@@ -13,8 +13,8 @@
+ SUBDIRS = snmpnetstat
+
+ USELIBS = ../snmplib/libsnmp.$(SHLIB_EXTENSION)$(SHLIB_VERSION)
+-LOCAL_LIBS = -L../snmplib
+-LIBS = $(CC_RUNTIME_ARG) -lsnmp @LIBS@
++LOCAL_LIBS = -L../snmplib -lsnmp
++LIBS = $(CC_RUNTIME_ARG) @LIBS@
+
+ PARSEOBJS = snmp_parse_args.o
+
diff --git a/net/ucd-snmp-current/patches/patch-ad b/net/ucd-snmp-current/patches/patch-ad
new file mode 100644
index 00000000000..fff8c5b8343
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- testing/Makefile.in.orig Tue Aug 24 19:49:21 1999
++++ testing/Makefile.in Wed Sep 22 09:56:46 1999
+@@ -5,7 +5,7 @@
+ TARG = etest ktest misctest stest
+
+ USELIBS = ../snmplib/libsnmp.$(SHLIB_EXTENSION)$(SHLIB_VERSION)
+-LIBS = -L../snmplib $(CC_RUNTIME_ARG) -lsnmp @LIBS@
++LIBS = -L../snmplib -lsnmp $(CC_RUNTIME_ARG) @LIBS@
+
+ PARSEOBJS =
+
diff --git a/net/ucd-snmp-current/patches/patch-ae b/net/ucd-snmp-current/patches/patch-ae
new file mode 100644
index 00000000000..3b7b466f9e2
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- agent/dlmods/Makefile.in.orig Mon Sep 14 15:48:22 1998
++++ agent/dlmods/Makefile.in Wed Sep 22 09:57:02 1999
+@@ -4,7 +4,7 @@
+ DLMODDIR= $(libdir)/snmp/dlmod
+ TARG= dlmod_mib.so example.so
+ USELIBS= $(top_srcdir)/snmplib/libsnmp.$(SHLIB_EXTENSION)$(SHLIB_VERSION)
+-LIBS=# -L$(top_srcdir)/snmplib $(CC_RUNTIME_ARG) -lsnmp @LIBS@
++LIBS=# -L$(top_srcdir)/snmplib -lsnmp $(CC_RUNTIME_ARG) @LIBS@
+
+ CPPFLAGS=@CPPFLAGS@ -I$(top_srcdir) -I$(top_srcdir)/snmplib \
+ -I. -I.. -I../.. -I$(top_srcdir)/agent/mibgroup -I$(top_srcdir)/agent/mibgroup/misc
diff --git a/net/ucd-snmp-current/patches/patch-af b/net/ucd-snmp-current/patches/patch-af
new file mode 100644
index 00000000000..823b3c5a339
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- apps/snmpnetstat/Makefile.in.orig Mon Jul 26 12:04:09 1999
++++ apps/snmpnetstat/Makefile.in Wed Sep 22 09:57:19 1999
+@@ -24,7 +24,7 @@
+ CC = @CC@ $(CPPFLAGS)
+
+ USELIBS=../../snmplib/libsnmp.$(SHLIB_EXTENSION)$(SHLIB_VERSION)
+-LIBS= -L../../snmplib $(CC_RUNTIME_ARG) -lsnmp @LIBS@
++LIBS= -L../../snmplib -lsnmp $(CC_RUNTIME_ARG) @LIBS@
+
+ all: $(TARG)
+
diff --git a/net/ucd-snmp-current/patches/patch-ag b/net/ucd-snmp-current/patches/patch-ag
new file mode 100644
index 00000000000..c6779a84d29
--- /dev/null
+++ b/net/ucd-snmp-current/patches/patch-ag
@@ -0,0 +1,76 @@
+$NetBSD: patch-ag,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+--- agent/mibgroup/mibII/tcp.c.orig Wed Aug 18 12:30:37 1999
++++ agent/mibgroup/mibII/tcp.c Wed Sep 22 17:04:19 1999
+@@ -850,62 +850,16 @@
+
+ int TCP_Count_Connections (void)
+ {
+- int Established;
+- struct inpcb cb;
+- register struct inpcb *next;
+-#if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2))
+- register struct inpcb *prev;
+-#endif
+- struct inpcb inpcb;
+- struct tcpcb tcpcb;
++ int i, Established, State;
++ static struct inpcb inpcb;
+
+-Again: /*
+- * Prepare to scan the control blocks
+- */
+- Established = 0;
+-
+- auto_nlist(TCP_SYMBOL, (char *)&cb, sizeof(struct inpcb));
+- inpcb = cb;
+-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2))
+- prev = (struct inpcb *) auto_nlist_value(TCP_SYMBOL);
+-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
+- /*
+- * Scan the control blocks
+- */
+-#if defined(freebsd2) || defined(netbsd1) || defined(openbsd2)
+- while ((inpcb.INP_NEXT_SYMBOL != NULL) && (inpcb.INP_NEXT_SYMBOL != (struct inpcb *) auto_nlist_value(TCP_SYMBOL))) {
+-#else /* defined(freebsd2) || defined(netbsd1) || defined(openbsd2) */
+- while (inpcb.INP_NEXT_SYMBOL != (struct inpcb *) auto_nlist_value(TCP_SYMBOL)) {
+-#endif /* defined(freebsd2) || defined(netbsd1) */
+- next = inpcb.INP_NEXT_SYMBOL;
+-
+- if((klookup((unsigned long)next, (char *)&inpcb, sizeof (inpcb)) == 0)) {
+- snmp_log_perror("TCP_Count_Connections - inpcb");
+- break;
+- }
+-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2))
+- if (inpcb.INP_PREV_SYMBOL != prev) { /* ??? */
+- sleep(1);
+- goto Again;
+- }
+-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
+- if (inet_lnaof(inpcb.inp_laddr) == INADDR_ANY) {
+-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2))
+- prev = next;
+-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
+- continue;
+- }
+- if(klookup((unsigned long)inpcb.inp_ppcb, (char *)&tcpcb, sizeof (tcpcb)) == 0) {
+- snmp_log_perror("TCP_Count_Connections - tcpcb");
+- break;
+- }
+-
+- if ((tcpcb.t_state == TCPS_ESTABLISHED) ||
+- (tcpcb.t_state == TCPS_CLOSE_WAIT))
+- Established++;
+-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2))
+- prev = next;
+-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */
++Again:
++ TCP_Scan_Init;
++ for (;;) {
++ if ((i = TCP_Scan_Next(&State, &inpcb)) < 0) goto Again;
++ if (i == 0) break; /* Done */
++ if ((State == TCPS_ESTABLISHED) || (State == TCPS_CLOSE_WAIT))
++ Established++;
+ }
+ return(Established);
+ }
diff --git a/net/ucd-snmp-current/pkg/COMMENT b/net/ucd-snmp-current/pkg/COMMENT
new file mode 100644
index 00000000000..553444e1a75
--- /dev/null
+++ b/net/ucd-snmp-current/pkg/COMMENT
@@ -0,0 +1 @@
+Extensible SNMP implementation.
diff --git a/net/ucd-snmp-current/pkg/DESCR b/net/ucd-snmp-current/pkg/DESCR
new file mode 100644
index 00000000000..341ba043ea6
--- /dev/null
+++ b/net/ucd-snmp-current/pkg/DESCR
@@ -0,0 +1,14 @@
+This is UCD SNMP, a derivative of CMU's SNMP package.
+
+This package contains a port and modified code of the CMU 2.1.2.1
+snmp agent. It has been modified to allow extensibility quickly
+and easily. It is far from the best and most configurable systems;
+but hey: its free.
+
+We use this agent here to monitor known system problems before they
+take the machine over. The agent can be easily configured to
+monitor the number of a given process running, run external scripts
+to check and report functional status. Examples: mountd(s) under
+Ultrix 4.3 which tend to fork themselves crazy and eventually fill
+up the process table; On our hp700s, "amd" sometimes stops working,
+HP VUE hangs and fails to start X, etc.
diff --git a/net/ucd-snmp-current/pkg/MESSAGE b/net/ucd-snmp-current/pkg/MESSAGE
new file mode 100644
index 00000000000..dcc5d5c87fe
--- /dev/null
+++ b/net/ucd-snmp-current/pkg/MESSAGE
@@ -0,0 +1,22 @@
+$NetBSD: MESSAGE,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+
+You may want to install the x11/p5-Tk and net/p5-SNMP packages to
+use the tkmib application!
+
+You may also want to install the net/scotty package to do network
+monitoring.
+
+Finally, a note from the maintainer:
+
+ I'm asking (begging) people to send me a postcard of your home city,
+ area, or country. I intend to arrange them into a logo, take a
+ picture of them all, and use the picture on the ucd-snmp web page.
+ I've gotten a few already, but need a lot more to make the logo a
+ decent size. The first pass from the postcards people have sent me
+ so far can be seen on the ucd-snmp web site, listed below. If you
+ wish to send a postcard, please send it to:
+
+ Wes Hardaker
+ IT - DCAS
+ UCDavis
+ Davis CA, 95616
diff --git a/net/ucd-snmp-current/pkg/PLIST b/net/ucd-snmp-current/pkg/PLIST
new file mode 100644
index 00000000000..5f141fe0dd6
--- /dev/null
+++ b/net/ucd-snmp-current/pkg/PLIST
@@ -0,0 +1,102 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 1999/09/22 21:11:39 kim Exp $
+bin/encode_keychange
+bin/snmpbulkwalk
+bin/snmpcheck
+bin/snmpdelta
+bin/snmpget
+bin/snmpgetnext
+bin/snmpnetstat
+bin/snmpset
+bin/snmpstatus
+bin/snmptable
+bin/snmptest
+bin/snmptranslate
+bin/snmptrap
+bin/snmpusm
+bin/snmpwalk
+bin/tkmib
+etc/rc.d/snmpd.sh
+include/ucd-snmp/asn1.h
+include/ucd-snmp/callback.h
+include/ucd-snmp/default_store.h
+include/ucd-snmp/int64.h
+include/ucd-snmp/mib.h
+include/ucd-snmp/parse.h
+include/ucd-snmp/snmp.h
+include/ucd-snmp/snmp_alarm.h
+include/ucd-snmp/snmp_api.h
+include/ucd-snmp/snmp_client.h
+include/ucd-snmp/snmp_debug.h
+include/ucd-snmp/snmp_impl.h
+include/ucd-snmp/system.h
+include/ucd-snmp/ucd-snmp-config.h
+include/ucd-snmp/ucd-snmp-includes.h
+include/ucd-snmp/version.h
+lib/libsnmp.a
+man/man1/snmpbulkwalk.1
+man/man1/snmpcmd.1
+man/man1/snmpd.1
+man/man1/snmpdelta.1
+man/man1/snmpget.1
+man/man1/snmpgetnext.1
+man/man1/snmpnetstat.1
+man/man1/snmpset.1
+man/man1/snmpstatus.1
+man/man1/snmptable.1
+man/man1/snmptest.1
+man/man1/snmptranslate.1
+man/man1/snmptrap.1
+man/man1/snmpusm.1
+man/man1/snmpwalk.1
+man/man3/mib_api.3
+man/man3/read_config.3
+man/man3/snmp_api.3
+man/man3/snmp_sess_api.3
+man/man5/snmp.conf.5
+man/man5/snmp_config.5
+man/man5/snmpd.conf.5
+man/man5/snmptrapd.conf.5
+man/man5/variables.5
+man/man8/snmptrapd.8
+sbin/snmpd
+sbin/snmptrapd
+share/examples/ucd-snmp/README
+share/examples/ucd-snmp/acl.conf
+share/examples/ucd-snmp/context.conf
+share/examples/ucd-snmp/party.conf
+share/examples/ucd-snmp/view.conf
+share/snmp/mibs/DLMOD-MIB.txt
+share/snmp/mibs/EtherLike-MIB.txt
+share/snmp/mibs/HOST-RESOURCES-MIB.txt
+share/snmp/mibs/IANAifType-MIB.txt
+share/snmp/mibs/IF-MIB.txt
+share/snmp/mibs/IP-MIB.txt
+share/snmp/mibs/IPFWACC-MIB.txt
+share/snmp/mibs/RFC1155-SMI.txt
+share/snmp/mibs/RFC1213-MIB.txt
+share/snmp/mibs/RFC1271-MIB.txt
+share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt
+share/snmp/mibs/SNMP-MPD-MIB.txt
+share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt
+share/snmp/mibs/SNMP-PROXY-MIB.txt
+share/snmp/mibs/SNMP-TARGET-MIB.txt
+share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt
+share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
+share/snmp/mibs/SNMPv2-CONF.txt
+share/snmp/mibs/SNMPv2-M2M-MIB.txt
+share/snmp/mibs/SNMPv2-MIB.txt
+share/snmp/mibs/SNMPv2-PARTY-MIB.txt
+share/snmp/mibs/SNMPv2-SMI.txt
+share/snmp/mibs/SNMPv2-TC.txt
+share/snmp/mibs/SNMPv2-TM.txt
+share/snmp/mibs/TCP-MIB.txt
+share/snmp/mibs/UCD-SNMP-MIB.txt
+share/snmp/mibs/UDP-MIB.txt
+@unexec /bin/rm -f %D/share/snmp/mibs/.index
+@dirrm share/snmp/mibs
+@dirrm share/snmp
+@dirrm share/examples/ucd-snmp
+lib/snmp/dlmod/.keepme
+@dirrm lib/snmp/dlmod
+@dirrm lib/snmp
+@dirrm include/ucd-snmp