You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

156 lines
5.8 KiB

Index: agent/mibgroup/mibII/tcp.c
--- agent/mibgroup/mibII/tcp.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/mibII/tcp.c 2014-12-09 18:18:18.070721565 +0100
@@ -88,7 +88,7 @@
* But only define it under FreeBSD, since it
* breaks other systems (notable AIX)
*/
-#ifdef freebsd4
+#if defined (freebsd4) || defined (__NetBSD__)
int hz = 1000;
#endif
Index: agent/mibgroup/mibII/tcpTable.c
--- agent/mibgroup/mibII/tcpTable.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/mibII/tcpTable.c 2014-12-09 18:18:18.070721565 +0100
@@ -110,6 +110,11 @@
#define TCPTABLE_REMOTEPORT pcb.inp_fport
#define TCPTABLE_IS_LINKED_LIST
+#if defined(__FreeBSD__)
+#undef INP_NEXT_SYMBOL
+#define INP_NEXT_SYMBOL inp_next
+#endif
+
#endif /* linux */
#endif /* WIN32 cygwin */
#endif /* solaris2 */
@@ -923,12 +928,17 @@
nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
if (!nnew)
break;
+#if defined(__FreeBSD__)
+ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
+ sizeof(struct inpcb));
+#else
nnew->state = StateMap[((NS_ELEM *) xig)->xt_tp.t_state];
if (nnew->state == 5 /* established */ ||
nnew->state == 8 /* closeWait */ )
tcp_estab++;
memcpy(&(nnew->pcb), &(((NS_ELEM *) xig)->xt_inp),
sizeof(struct inpcb));
+#endif
if (nnew->pcb.inp_vflag & INP_IPV6)
free(nnew);
Index: agent/mibgroup/ucd-snmp/diskio.c
--- agent/mibgroup/ucd-snmp/diskio.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/ucd-snmp/diskio.c 2014-12-09 18:18:18.070721565 +0100
@@ -942,6 +942,20 @@
case DISKIO_DEVICE:
*var_len = strlen(stat->dinfo->devices[indx].device_name);
return (u_char *) stat->dinfo->devices[indx].device_name;
+#if defined(freebsd5) && (__FreeBSD_version >= 500107)
+ case DISKIO_NREAD:
+ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
+ return (u_char *) & long_ret;
+ case DISKIO_NWRITTEN:
+ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE];
+ return (u_char *) & long_ret;
+ case DISKIO_READS:
+ long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_READ];
+ return (u_char *) & long_ret;
+ case DISKIO_WRITES:
+ long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_WRITE];
+ return (u_char *) & long_ret;
+#else
case DISKIO_NREAD:
#if HAVE_DEVSTAT_GETDEVS
long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
@@ -999,6 +1013,7 @@
case DISKIO_LA15:
long_ret = devloads[indx].la15;
return (u_char *) & long_ret;
+#endif
default:
ERROR_MSG("diskio.c: don't know how to handle this request.");
Index: agent/mibgroup/ucd-snmp/memory_solaris2.c
--- agent/mibgroup/ucd-snmp/memory_solaris2.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/ucd-snmp/memory_solaris2.c 2014-12-09 18:18:18.070721565 +0100
@@ -1,3 +1,4 @@
+#undef _FILE_OFFSET_BITS /* swapctl doesn't support 64bit off_t */
#include <net-snmp/net-snmp-config.h> /* local SNMP configuration details */
#if HAVE_STRING_H
#include <string.h>
Index: agent/mibgroup/ucd-snmp/proc.c
--- agent/mibgroup/ucd-snmp/proc.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/ucd-snmp/proc.c 2014-12-09 18:18:18.081282290 +0100
@@ -1,3 +1,6 @@
+#ifdef solaris2
+#undef _FILE_OFFSET_BITS /* solaris procfs doesn't support 64bit off_t */
+#endif
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h>
Index: agent/mibgroup/util_funcs.c
--- agent/mibgroup/util_funcs.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/mibgroup/util_funcs.c 2014-12-09 18:18:18.081282290 +0100
@@ -455,6 +455,9 @@
int fd[2][2], i, cnt;
char ctmp[STRMAX], *cptr1, *cptr2, argvs[STRMAX], **argv,
**aptr;
+
+ *pid = -1; /* open_persist_pipe ignores return code but checks *pid */
+
/*
* Setup our pipes
*/
Index: agent/snmpd.c
--- agent/snmpd.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ agent/snmpd.c 2014-12-09 18:18:18.081282290 +0100
@@ -441,7 +441,7 @@
int dont_fork = 0, do_help = 0;
int log_set = 0;
int agent_mode = -1;
- char *pid_file = NULL;
+ char *pid_file = "@l_prefix@/var/snmp/snmpd.pid";
char option_compatability[] = "-Le";
#if HAVE_GETPID
int fd;
Index: apps/snmptrapd.c
--- apps/snmptrapd.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ apps/snmptrapd.c 2014-12-09 18:18:18.081282290 +0100
@@ -723,6 +723,7 @@
*/
#if HAVE_GETPID
strcat(options, "p:");
+ parse_config_pidFile(NULL, "@l_prefix@/var/snmp/snmptrapd.pid");
#endif
#ifndef NETSNMP_FEATURE_REMOVE_LOGGING_SYSLOG
Index: include/net-snmp/library/system.h
--- include/net-snmp/library/system.h.orig 2014-12-08 21:23:22.000000000 +0100
+++ include/net-snmp/library/system.h 2014-12-09 18:18:18.081282290 +0100
@@ -155,7 +155,8 @@
#endif
#ifndef HAVE_SETENV
NETSNMP_IMPORT
- int setenv(const char *, const char *, int);
+ int __netsnmp_setenv(const char *, const char *, int);
+# define setenv(a,b,c) __netsnmp_setenv(a,b,c)
#endif
NETSNMP_IMPORT
Index: snmplib/system.c
--- snmplib/system.c.orig 2014-12-08 21:23:22.000000000 +0100
+++ snmplib/system.c 2014-12-09 18:18:18.081282290 +0100
@@ -1068,7 +1068,7 @@
#ifndef HAVE_SETENV
int
-setenv(const char *name, const char *value, int overwrite)
+__netsnmp_setenv(const char *name, const char *value, int overwrite)
{
char *cp;
int ret;