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
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;
|
|
|