diff options
Diffstat (limited to 'web/attachments/135799-nagiosplug-wrapper-macros.diff')
-rw-r--r-- | web/attachments/135799-nagiosplug-wrapper-macros.diff | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/web/attachments/135799-nagiosplug-wrapper-macros.diff b/web/attachments/135799-nagiosplug-wrapper-macros.diff new file mode 100644 index 0000000..ce0a0c5 --- /dev/null +++ b/web/attachments/135799-nagiosplug-wrapper-macros.diff | |||
@@ -0,0 +1,197 @@ | |||
1 | diff -urN ../nagiosplug.orig/plugins/netutils.c ./plugins/netutils.c | ||
2 | --- ../nagiosplug.orig/plugins/netutils.c 2005-01-05 21:53:22.000000000 +0100 | ||
3 | +++ ./plugins/netutils.c 2005-05-24 09:25:09.000000000 +0200 | ||
4 | @@ -39,7 +39,6 @@ | ||
5 | int was_refused = FALSE; | ||
6 | int address_family = AF_UNSPEC; | ||
7 | |||
8 | -static int my_connect(const char *address, int port, int *sd, int proto); | ||
9 | /* handles socket timeouts */ | ||
10 | void | ||
11 | socket_timeout_alarm_handler (int sig) | ||
12 | @@ -53,37 +52,6 @@ | ||
13 | } | ||
14 | |||
15 | |||
16 | -/* connects to a host on a specified TCP port, sends a string, | ||
17 | - and gets a response */ | ||
18 | -int | ||
19 | -process_tcp_request (const char *server_address, int server_port, | ||
20 | - const char *send_buffer, char *recv_buffer, int recv_size) | ||
21 | -{ | ||
22 | - int result; | ||
23 | - | ||
24 | - result = process_request (server_address, server_port, | ||
25 | - IPPROTO_TCP, send_buffer, recv_buffer, recv_size); | ||
26 | - | ||
27 | - return result; | ||
28 | -} | ||
29 | - | ||
30 | - | ||
31 | -/* connects to a host on a specified UDP port, sends a string, and gets a | ||
32 | - response */ | ||
33 | -int | ||
34 | -process_udp_request (const char *server_address, int server_port, | ||
35 | - const char *send_buffer, char *recv_buffer, int recv_size) | ||
36 | -{ | ||
37 | - int result; | ||
38 | - | ||
39 | - result = process_request (server_address, server_port, | ||
40 | - IPPROTO_UDP, send_buffer, recv_buffer, recv_size); | ||
41 | - | ||
42 | - return result; | ||
43 | -} | ||
44 | - | ||
45 | - | ||
46 | - | ||
47 | /* connects to a host on a specified tcp port, sends a string, and gets a | ||
48 | response. loops on select-recv until timeout or eof to get all of a | ||
49 | multi-packet answer */ | ||
50 | @@ -163,6 +131,7 @@ | ||
51 | return result; | ||
52 | } | ||
53 | |||
54 | + | ||
55 | /* connects to a host on a specified port, sends a string, and gets a | ||
56 | response */ | ||
57 | int | ||
58 | @@ -186,32 +155,8 @@ | ||
59 | } | ||
60 | |||
61 | |||
62 | -/* opens a connection to a remote host/tcp port */ | ||
63 | -int | ||
64 | -my_tcp_connect (const char *host_name, int port, int *sd) | ||
65 | -{ | ||
66 | - int result; | ||
67 | - | ||
68 | - result = my_connect (host_name, port, sd, IPPROTO_TCP); | ||
69 | - | ||
70 | - return result; | ||
71 | -} | ||
72 | - | ||
73 | - | ||
74 | -/* opens a connection to a remote host/udp port */ | ||
75 | -int | ||
76 | -my_udp_connect (const char *host_name, int port, int *sd) | ||
77 | -{ | ||
78 | - int result; | ||
79 | - | ||
80 | - result = my_connect (host_name, port, sd, IPPROTO_UDP); | ||
81 | - | ||
82 | - return result; | ||
83 | -} | ||
84 | - | ||
85 | - | ||
86 | /* opens a tcp or udp connection to a remote host */ | ||
87 | -static int | ||
88 | +int | ||
89 | my_connect (const char *host_name, int port, int *sd, int proto) | ||
90 | { | ||
91 | struct addrinfo hints; | ||
92 | @@ -291,20 +236,6 @@ | ||
93 | |||
94 | |||
95 | int | ||
96 | -send_tcp_request (int sd, const char *send_buffer, char *recv_buffer, int recv_size) | ||
97 | -{ | ||
98 | - return send_request (sd, IPPROTO_TCP, send_buffer, recv_buffer, recv_size); | ||
99 | -} | ||
100 | - | ||
101 | - | ||
102 | -int | ||
103 | -send_udp_request (int sd, const char *send_buffer, char *recv_buffer, int recv_size) | ||
104 | -{ | ||
105 | - return send_request (sd, IPPROTO_UDP, send_buffer, recv_buffer, recv_size); | ||
106 | -} | ||
107 | - | ||
108 | - | ||
109 | -int | ||
110 | send_request (int sd, int proto, const char *send_buffer, char *recv_buffer, int recv_size) | ||
111 | { | ||
112 | int result = STATE_OK; | ||
113 | @@ -397,28 +328,3 @@ | ||
114 | return TRUE; | ||
115 | } | ||
116 | } | ||
117 | - | ||
118 | -int | ||
119 | -is_inet_addr (const char *address) | ||
120 | -{ | ||
121 | - return resolve_host_or_addr (address, AF_INET); | ||
122 | -} | ||
123 | - | ||
124 | -#ifdef USE_IPV6 | ||
125 | -int | ||
126 | -is_inet6_addr (const char *address) | ||
127 | -{ | ||
128 | - return resolve_host_or_addr (address, AF_INET6); | ||
129 | -} | ||
130 | -#endif | ||
131 | - | ||
132 | -int | ||
133 | -is_hostname (const char *s1) | ||
134 | -{ | ||
135 | -#ifdef USE_IPV6 | ||
136 | - return resolve_host_or_addr (s1, address_family); | ||
137 | -#else | ||
138 | - return resolve_host_or_addr (s1, AF_INET); | ||
139 | -#endif | ||
140 | -} | ||
141 | - | ||
142 | diff -urN ../nagiosplug.orig/plugins/netutils.h ./plugins/netutils.h | ||
143 | --- ../nagiosplug.orig/plugins/netutils.h 2004-12-02 00:54:51.000000000 +0100 | ||
144 | +++ ./plugins/netutils.h 2005-05-24 09:25:35.000000000 +0200 | ||
145 | @@ -38,30 +38,40 @@ | ||
146 | |||
147 | RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn)); | ||
148 | |||
149 | +/* process_request and wrapper macros */ | ||
150 | +#define process_tcp_request(addr, port, sbuf, rbuf, rsize) \ | ||
151 | + process_request(addr, port, IPPROTO_TCP, sbuf, rbuf, rsize) | ||
152 | +#define process_udp_request(addr, port, sbuf, rbuf, rsize) \ | ||
153 | + process_request(addr, port, IPPROTO_UDP, sbuf, rbuf, rsize) | ||
154 | int process_tcp_request2 (const char *address, int port, | ||
155 | const char *sbuffer, char *rbuffer, int rsize); | ||
156 | -int process_tcp_request (const char *address, int port, | ||
157 | - const char *sbuffer, char *rbuffer, int rsize); | ||
158 | -int process_udp_request (const char *address, int port, | ||
159 | - const char *sbuffer, char *rbuffer, int rsize); | ||
160 | int process_request (const char *address, int port, int proto, | ||
161 | const char *sbuffer, char *rbuffer, int rsize); | ||
162 | |||
163 | -int my_tcp_connect (const char *address, int port, int *sd); | ||
164 | -int my_udp_connect (const char *address, int port, int *sd); | ||
165 | - | ||
166 | -int send_tcp_request (int sd, const char *send_buffer, char *recv_buffer, int recv_size); | ||
167 | -int send_udp_request (int sd, const char *send_buffer, char *recv_buffer, int recv_size); | ||
168 | +/* my_connect and wrapper macros */ | ||
169 | +#define my_tcp_connect(addr, port, s) my_connect(addr, port, s, IPPROTO_TCP) | ||
170 | +#define my_udp_connect(addr, port, s) my_connect(addr, port, s, IPPROTO_UDP) | ||
171 | +int my_connect(const char *address, int port, int *sd, int proto); | ||
172 | + | ||
173 | +/* send_request and wrapper macros */ | ||
174 | +#define send_tcp_request(s, sbuf, rbuf, rsize) \ | ||
175 | + send_request(s, IPPROTO_TCP, sbuf, rbuf, rsize) | ||
176 | +#define send_udp_request(s, sbuf, rbuf, rsize) \ | ||
177 | + send_request(s, IPPROTO_UDP, sbuf, rbuf, rsize) | ||
178 | int send_request (int sd, int proto, const char *send_buffer, char *recv_buffer, int recv_size); | ||
179 | |||
180 | + | ||
181 | +/* "is_*" wrapper macros and functions */ | ||
182 | int is_host (const char *); | ||
183 | int is_addr (const char *); | ||
184 | int resolve_host_or_addr (const char *, int); | ||
185 | -int is_inet_addr (const char *); | ||
186 | +#define is_inet_addr(addr) resolve_host_or_addr(addr, AF_INET) | ||
187 | #ifdef USE_IPV6 | ||
188 | -int is_inet6_addr (const char *); | ||
189 | +# define is_inet6_addr(addr) resolve_host_or_addr(addr, AF_INET6) | ||
190 | +# define is_hostname(addr) resolve_host_or_addr(addr, address_family) | ||
191 | +#else | ||
192 | +# define is_hostname(addr) resolve_host_or_addr(addr, AF_INET) | ||
193 | #endif | ||
194 | -int is_hostname (const char *); | ||
195 | |||
196 | extern unsigned int socket_timeout; | ||
197 | extern int econn_refuse_state; | ||