diff options
Diffstat (limited to 'plugins/utils.c')
-rw-r--r-- | plugins/utils.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index 7361323..e204e23 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
@@ -27,15 +27,6 @@ void print_revision (const char *, const char *); | |||
27 | void terminate (int, const char *fmt, ...); | 27 | void terminate (int, const char *fmt, ...); |
28 | RETSIGTYPE timeout_alarm_handler (int); | 28 | RETSIGTYPE timeout_alarm_handler (int); |
29 | 29 | ||
30 | int is_host (char *); | ||
31 | int is_addr (char *); | ||
32 | int resolve_host_or_addr (char *, int); | ||
33 | int is_inet_addr (char *); | ||
34 | #ifdef USE_IPV6 | ||
35 | int is_inet6_addr (char *); | ||
36 | #endif | ||
37 | int is_hostname (char *); | ||
38 | |||
39 | int is_integer (char *); | 30 | int is_integer (char *); |
40 | int is_intpos (char *); | 31 | int is_intpos (char *); |
41 | int is_intneg (char *); | 32 | int is_intneg (char *); |
@@ -171,78 +162,6 @@ timeout_alarm_handler (int signo) | |||
171 | } | 162 | } |
172 | 163 | ||
173 | int | 164 | int |
174 | is_host (char *address) | ||
175 | { | ||
176 | if (is_addr (address) || is_hostname (address)) | ||
177 | return (TRUE); | ||
178 | |||
179 | return (FALSE); | ||
180 | } | ||
181 | |||
182 | int | ||
183 | is_addr (char *address) | ||
184 | { | ||
185 | #ifdef USE_IPV6 | ||
186 | if (is_inet_addr (address) || is_inet6_addr (address)) | ||
187 | #else | ||
188 | if (is_inet_addr (address)) | ||
189 | #endif | ||
190 | return (TRUE); | ||
191 | |||
192 | return (FALSE); | ||
193 | } | ||
194 | |||
195 | int | ||
196 | resolve_host_or_addr (char *address, int family) | ||
197 | { | ||
198 | struct addrinfo hints; | ||
199 | struct addrinfo *res; | ||
200 | int retval; | ||
201 | |||
202 | memset (&hints, 0, sizeof (hints)); | ||
203 | hints.ai_family = family; | ||
204 | retval = getaddrinfo (address, NULL, &hints, &res); | ||
205 | |||
206 | if (retval != 0) | ||
207 | return FALSE; | ||
208 | else { | ||
209 | freeaddrinfo (res); | ||
210 | return TRUE; | ||
211 | } | ||
212 | } | ||
213 | |||
214 | int | ||
215 | is_inet_addr (char *address) | ||
216 | { | ||
217 | return resolve_host_or_addr (address, AF_INET); | ||
218 | } | ||
219 | |||
220 | #ifdef USE_IPV6 | ||
221 | int | ||
222 | is_inet6_addr (char *address) | ||
223 | { | ||
224 | return resolve_host_or_addr (address, AF_INET6); | ||
225 | } | ||
226 | #endif | ||
227 | |||
228 | /* from RFC-1035 | ||
229 | * | ||
230 | * The labels must follow the rules for ARPANET host names. They must | ||
231 | * start with a letter, end with a letter or digit, and have as interior | ||
232 | * characters only letters, digits, and hyphen. There are also some | ||
233 | * restrictions on the length. Labels must be 63 characters or less. */ | ||
234 | |||
235 | int | ||
236 | is_hostname (char *s1) | ||
237 | { | ||
238 | #ifdef USE_IPV6 | ||
239 | return resolve_host_or_addr (s1, AF_UNSPEC); | ||
240 | #else | ||
241 | return resolve_host_or_addr (s1, AF_INET); | ||
242 | #endif | ||
243 | } | ||
244 | |||
245 | int | ||
246 | is_numeric (char *number) | 165 | is_numeric (char *number) |
247 | { | 166 | { |
248 | char tmp[1]; | 167 | char tmp[1]; |