Mon, 17 Sep 2012 19:16:57 +0200
Update to new vendor versions and modernize packaging.
1 Index: agent/auto_nlist.c
2 diff -Nau agent/auto_nlist.c.orig agent/auto_nlist.c
3 --- agent/auto_nlist.c.orig 2011-07-02 00:35:46.000000000 +0200
4 +++ agent/auto_nlist.c 2011-09-15 09:22:50.256627584 +0200
5 @@ -53,6 +53,7 @@
6 }
7 if (*ptr == 0) {
8 *ptr = (struct autonlist *) malloc(sizeof(struct autonlist));
9 + memset(*ptr, 0, sizeof(struct autonlist));
10 it = *ptr;
11 it->left = 0;
12 it->right = 0;
13 Index: agent/mibgroup/mibII/tcp.c
14 diff -Nau agent/mibgroup/mibII/tcp.c.orig agent/mibgroup/mibII/tcp.c
15 --- agent/mibgroup/mibII/tcp.c.orig 2011-07-02 00:35:46.000000000 +0200
16 +++ agent/mibgroup/mibII/tcp.c 2011-09-15 09:22:50.258135285 +0200
17 @@ -88,7 +88,7 @@
18 * But only define it under FreeBSD, since it
19 * breaks other systems (notable AIX)
20 */
21 -#ifdef freebsd4
22 +#if defined (freebsd4) || defined (__NetBSD__)
23 int hz = 1000;
24 #endif
26 Index: agent/mibgroup/mibII/tcpTable.c
27 diff -Nau agent/mibgroup/mibII/tcpTable.c.orig agent/mibgroup/mibII/tcpTable.c
28 --- agent/mibgroup/mibII/tcpTable.c.orig 2011-07-02 00:35:46.000000000 +0200
29 +++ agent/mibgroup/mibII/tcpTable.c 2011-09-15 09:22:50.260414149 +0200
30 @@ -110,6 +110,11 @@
31 #define TCPTABLE_REMOTEPORT pcb.inp_fport
32 #define TCPTABLE_IS_LINKED_LIST
34 +#if defined(__FreeBSD__)
35 +#undef INP_NEXT_SYMBOL
36 +#define INP_NEXT_SYMBOL inp_next
37 +#endif
38 +
39 #endif /* linux */
40 #endif /* WIN32 cygwin */
41 #endif /* solaris2 */
42 @@ -892,12 +897,17 @@
43 nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb);
44 if (!nnew)
45 break;
46 +#if defined(__FreeBSD__)
47 + memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp),
48 + sizeof(struct inpcb));
49 +#else
50 nnew->state = StateMap[((NS_ELEM *) xig)->xt_tp.t_state];
51 if (nnew->state == 5 /* established */ ||
52 nnew->state == 8 /* closeWait */ )
53 tcp_estab++;
54 memcpy(&(nnew->pcb), &(((NS_ELEM *) xig)->xt_inp),
55 sizeof(struct inpcb));
56 +#endif
58 if (nnew->pcb.inp_vflag & INP_IPV6)
59 free(nnew);
60 Index: agent/mibgroup/ucd-snmp/diskio.c
61 diff -Nau agent/mibgroup/ucd-snmp/diskio.c.orig agent/mibgroup/ucd-snmp/diskio.c
62 --- agent/mibgroup/ucd-snmp/diskio.c.orig 2011-07-02 00:35:46.000000000 +0200
63 +++ agent/mibgroup/ucd-snmp/diskio.c 2011-09-15 09:22:50.263188251 +0200
64 @@ -800,6 +800,20 @@
65 case DISKIO_DEVICE:
66 *var_len = strlen(stat->dinfo->devices[indx].device_name);
67 return (u_char *) stat->dinfo->devices[indx].device_name;
68 +#if defined(freebsd5) && (__FreeBSD_version >= 500107)
69 + case DISKIO_NREAD:
70 + long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
71 + return (u_char *) & long_ret;
72 + case DISKIO_NWRITTEN:
73 + long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE];
74 + return (u_char *) & long_ret;
75 + case DISKIO_READS:
76 + long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_READ];
77 + return (u_char *) & long_ret;
78 + case DISKIO_WRITES:
79 + long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_WRITE];
80 + return (u_char *) & long_ret;
81 +#else
82 case DISKIO_NREAD:
83 #if defined(freebsd5) && __FreeBSD_version >= 500107
84 long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
85 @@ -857,6 +871,7 @@
86 case DISKIO_LA15:
87 long_ret = devloads[indx].la15;
88 return (u_char *) & long_ret;
89 +#endif
91 default:
92 ERROR_MSG("diskio.c: don't know how to handle this request.");
93 Index: agent/mibgroup/ucd-snmp/memory_solaris2.c
94 diff -Nau agent/mibgroup/ucd-snmp/memory_solaris2.c.orig agent/mibgroup/ucd-snmp/memory_solaris2.c
95 --- agent/mibgroup/ucd-snmp/memory_solaris2.c.orig 2011-07-02 00:35:46.000000000 +0200
96 +++ agent/mibgroup/ucd-snmp/memory_solaris2.c 2011-09-15 09:22:50.264370106 +0200
97 @@ -1,3 +1,4 @@
98 +#undef _FILE_OFFSET_BITS /* swapctl doesn't support 64bit off_t */
99 #include <net-snmp/net-snmp-config.h> /* local SNMP configuration details */
100 #if HAVE_STRING_H
101 #include <string.h>
102 Index: agent/mibgroup/ucd-snmp/proc.c
103 diff -Nau agent/mibgroup/ucd-snmp/proc.c.orig agent/mibgroup/ucd-snmp/proc.c
104 --- agent/mibgroup/ucd-snmp/proc.c.orig 2011-07-02 00:35:46.000000000 +0200
105 +++ agent/mibgroup/ucd-snmp/proc.c 2011-09-15 09:22:50.265801863 +0200
106 @@ -1,3 +1,6 @@
107 +#ifdef solaris2
108 +#undef _FILE_OFFSET_BITS /* solaris procfs doesn't support 64bit off_t */
109 +#endif
110 #include <net-snmp/net-snmp-config.h>
111 #include <net-snmp/net-snmp-features.h>
113 Index: agent/mibgroup/util_funcs.c
114 diff -Nau agent/mibgroup/util_funcs.c.orig agent/mibgroup/util_funcs.c
115 --- agent/mibgroup/util_funcs.c.orig 2011-07-02 00:35:46.000000000 +0200
116 +++ agent/mibgroup/util_funcs.c 2011-09-15 09:22:50.267863457 +0200
117 @@ -477,6 +477,9 @@
118 int fd[2][2], i, cnt;
119 char ctmp[STRMAX], *cptr1, *cptr2, argvs[STRMAX], **argv,
120 **aptr;
121 +
122 + *pid = -1; /* open_persist_pipe ignores return code but checks *pid */
123 +
124 /*
125 * Setup our pipes
126 */
127 Index: agent/snmpd.c
128 diff -Nau agent/snmpd.c.orig agent/snmpd.c
129 --- agent/snmpd.c.orig 2011-07-02 00:35:46.000000000 +0200
130 +++ agent/snmpd.c 2011-09-15 09:22:41.994430685 +0200
131 @@ -440,7 +440,7 @@
132 int log_set = 0;
133 int uid = 0, gid = 0;
134 int agent_mode = -1;
135 - char *pid_file = NULL;
136 + char *pid_file = "@l_prefix@/var/snmp/snmpd.pid";
137 char option_compatability[] = "-Le";
138 #if HAVE_GETPID
139 int fd;
140 Index: apps/snmptrapd.c
141 diff -Nau apps/snmptrapd.c.orig apps/snmptrapd.c
142 --- apps/snmptrapd.c.orig 2011-07-02 00:35:46.000000000 +0200
143 +++ apps/snmptrapd.c 2011-09-15 09:22:50.270293197 +0200
144 @@ -653,6 +653,7 @@
145 */
146 #if HAVE_GETPID
147 strcat(options, "p:");
148 + parse_config_pidFile(NULL, "@l_prefix@/var/snmp/snmptrapd.pid");
149 #endif
151 #ifndef NETSNMP_FEATURE_REMOVE_LOGGING_SYSLOG
152 Index: include/net-snmp/library/system.h
153 diff -Nau include/net-snmp/library/system.h.orig include/net-snmp/library/system.h
154 --- include/net-snmp/library/system.h.orig 2011-07-02 00:35:46.000000000 +0200
155 +++ include/net-snmp/library/system.h 2011-09-15 09:22:50.271350973 +0200
156 @@ -155,7 +155,8 @@
157 #endif
158 #ifndef HAVE_SETENV
159 NETSNMP_IMPORT
160 - int setenv(const char *, const char *, int);
161 + int __netsnmp_setenv(const char *, const char *, int);
162 +# define setenv(a,b,c) __netsnmp_setenv(a,b,c)
163 #endif
165 NETSNMP_IMPORT
166 Index: snmplib/system.c
167 diff -Nau snmplib/system.c.orig snmplib/system.c
168 --- snmplib/system.c.orig 2011-07-02 00:35:46.000000000 +0200
169 +++ snmplib/system.c 2011-09-15 09:22:50.274625796 +0200
170 @@ -1048,7 +1048,7 @@
172 #ifndef HAVE_SETENV
173 int
174 -setenv(const char *name, const char *value, int overwrite)
175 +__netsnmp_setenv(const char *name, const char *value, int overwrite)
176 {
177 char *cp;
178 int ret;
179 Index: include/net-snmp/system/freebsd8.h
180 --- include/net-snmp/system/freebsd8.h.orig 2011-09-28 06:53:47.000000000 +0200
181 +++ include/net-snmp/system/freebsd8.h 2011-12-11 11:33:36.000000000 +0100
182 @@ -1,3 +1,6 @@
183 +/* freebsd8 is a superset of freebsd7 */
184 +#include "freebsd7.h"
185 +#define freebsd7 freebsd7
186 /* freebsd8 is a superset of freebsd4 */
187 #include "freebsd7.h"
188 #define freebsd7 freebsd7
189 Index: include/net-snmp/system/freebsd9.h
190 --- include/net-snmp/system/freebsd9.h.orig 2011-09-28 06:53:47.000000000 +0200
191 +++ include/net-snmp/system/freebsd9.h 2011-12-11 11:33:36.000000000 +0100
192 @@ -1,3 +1,6 @@
193 +/* freebsd9 is a superset of freebsd8 */
194 +#include "freebsd8.h"
195 +#define freebsd8 freebsd8
196 /* freebsd9 is a superset of freebsd4 */
197 #include "freebsd8.h"
198 #define freebsd9 freebsd9