diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-07-30 04:07:53 (GMT) |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-07-30 04:07:53 (GMT) |
commit | ccead7695f4c31401283b95547e9f9703a4c43f2 (patch) | |
tree | 56bbdd9ee3f9ee81ad16ee3e8c012851ed159852 /plugins/check_dig.c | |
parent | 1cb0499adcc043515c2b62bbf62dc4d6b10f8cc9 (diff) | |
download | monitoring-plugins-ccead7695f4c31401283b95547e9f9703a4c43f2.tar.gz |
markup for translation
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@620 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/check_dig.c')
-rw-r--r-- | plugins/check_dig.c | 183 |
1 files changed, 105 insertions, 78 deletions
diff --git a/plugins/check_dig.c b/plugins/check_dig.c index 6e04087..a22a68a 100644 --- a/plugins/check_dig.c +++ b/plugins/check_dig.c | |||
@@ -16,45 +16,75 @@ | |||
16 | * | 16 | * |
17 | *****************************************************************************/ | 17 | *****************************************************************************/ |
18 | 18 | ||
19 | #include "config.h" | ||
20 | #include "common.h" | ||
21 | #include "netutils.h" | ||
22 | #include "utils.h" | ||
23 | #include "popen.h" | ||
24 | |||
25 | int process_arguments (int, char **); | ||
26 | int validate_arguments (void); | ||
27 | void print_help (void); | ||
28 | void print_usage (void); | ||
29 | |||
19 | const char *progname = "check_dig"; | 30 | const char *progname = "check_dig"; |
20 | const char *revision = "$Revision$"; | 31 | const char *revision = "$Revision$"; |
21 | const char *copyright = "2002-2003"; | 32 | const char *copyright = "2002-2003"; |
22 | const char *authors = "Nagios Plugin Development Team"; | ||
23 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; | 33 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; |
24 | 34 | ||
25 | const char *summary = "Test the DNS service on the specified host using dig\n"; | 35 | enum { |
36 | DEFAULT_PORT = 53 | ||
37 | }; | ||
38 | |||
39 | void | ||
40 | print_usage (void) | ||
41 | { | ||
42 | printf (_("\ | ||
43 | Usage: %s -H host -l lookup [-p <server port>] [-w <warning interval>]\n\ | ||
44 | [-c <critical interval>] [-t <timeout>] [-v]\n"), | ||
45 | progname); | ||
46 | printf (" %s (-h|--help)\n", progname); | ||
47 | printf (" %s (-V|--version)\n", progname); | ||
48 | } | ||
49 | |||
50 | void | ||
51 | print_help (void) | ||
52 | { | ||
53 | char *myport; | ||
54 | |||
55 | asprintf (&myport, "%d", DEFAULT_PORT); | ||
56 | |||
57 | print_revision (progname, revision); | ||
26 | 58 | ||
27 | const char *option_summary = "-H host -l lookup [-t timeout] [-v]"; | 59 | printf (_(COPYRIGHT), copyright, email); |
28 | 60 | ||
29 | const char *options = "\ | 61 | printf (_("Test the DNS service on the specified host using dig\n\n")); |
30 | -H, --hostname=STRING or IPADDRESS\n\ | 62 | |
31 | Check server on the indicated host\n\ | 63 | print_usage (); |
64 | |||
65 | printf (_(HELP_VRSN)); | ||
66 | |||
67 | printf (_(HOST_PORT), 'P', myport); | ||
68 | |||
69 | printf (_("\ | ||
32 | -l, --lookup=STRING\n\ | 70 | -l, --lookup=STRING\n\ |
33 | machine name to lookup\n\ | 71 | machine name to lookup\n")); |
34 | -t, --timeout=INTEGER\n\ | ||
35 | Seconds before connection attempt times out (default: %d)\n\ | ||
36 | -v, --verbose\n\ | ||
37 | Print extra information (command-line use only)\n"; | ||
38 | |||
39 | const char *standard_options = "\ | ||
40 | -h, --help\n\ | ||
41 | Print detailed help screen\n\ | ||
42 | -V, --version\n\ | ||
43 | Print version information\n\n"; | ||
44 | 72 | ||
45 | #include "config.h" | 73 | printf (_(WARN_CRIT_TO), DEFAULT_SOCKET_TIMEOUT); |
46 | #include "common.h" | ||
47 | #include "utils.h" | ||
48 | #include "popen.h" | ||
49 | 74 | ||
50 | int process_arguments (int, char **); | 75 | printf (_(VRBS)); |
51 | int validate_arguments (void); | 76 | |
52 | void print_help (void); | 77 | support (); |
53 | void print_usage (void); | 78 | } |
79 | |||
54 | 80 | ||
55 | char *query_address = NULL; | 81 | char *query_address = NULL; |
56 | char *dns_server = NULL; | 82 | char *dns_server = NULL; |
57 | int verbose = FALSE; | 83 | int verbose = FALSE; |
84 | int server_port = DEFAULT_PORT; | ||
85 | int warning_interval = -1; | ||
86 | int critical_interval = -1; | ||
87 | |||
58 | 88 | ||
59 | int | 89 | int |
60 | main (int argc, char **argv) | 90 | main (int argc, char **argv) |
@@ -66,13 +96,14 @@ main (int argc, char **argv) | |||
66 | 96 | ||
67 | /* Set signal handling and alarm */ | 97 | /* Set signal handling and alarm */ |
68 | if (signal (SIGALRM, popen_timeout_alarm_handler) == SIG_ERR) | 98 | if (signal (SIGALRM, popen_timeout_alarm_handler) == SIG_ERR) |
69 | usage ("Cannot catch SIGALRM\n"); | 99 | usage (_("Cannot catch SIGALRM\n")); |
70 | 100 | ||
71 | if (process_arguments (argc, argv) != OK) | 101 | if (process_arguments (argc, argv) != OK) |
72 | usage ("Could not parse arguments\n"); | 102 | usage (_("Could not parse arguments\n")); |
73 | 103 | ||
74 | /* get the command to run */ | 104 | /* get the command to run */ |
75 | asprintf (&command_line, "%s @%s %s", PATH_TO_DIG, dns_server, query_address); | 105 | asprintf (&command_line, "%s @%s -p %d %s", |
106 | PATH_TO_DIG, dns_server, server_port, query_address); | ||
76 | 107 | ||
77 | alarm (timeout_interval); | 108 | alarm (timeout_interval); |
78 | time (&start_time); | 109 | time (&start_time); |
@@ -82,13 +113,13 @@ main (int argc, char **argv) | |||
82 | /* run the command */ | 113 | /* run the command */ |
83 | child_process = spopen (command_line); | 114 | child_process = spopen (command_line); |
84 | if (child_process == NULL) { | 115 | if (child_process == NULL) { |
85 | printf ("Could not open pipe: %s\n", command_line); | 116 | printf (_("Could not open pipe: %s\n"), command_line); |
86 | return STATE_UNKNOWN; | 117 | return STATE_UNKNOWN; |
87 | } | 118 | } |
88 | 119 | ||
89 | child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r"); | 120 | child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r"); |
90 | if (child_stderr == NULL) | 121 | if (child_stderr == NULL) |
91 | printf ("Could not open stderr for %s\n", command_line); | 122 | printf (_("Could not open stderr for %s\n"), command_line); |
92 | 123 | ||
93 | while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) { | 124 | while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) { |
94 | 125 | ||
@@ -107,7 +138,7 @@ main (int argc, char **argv) | |||
107 | result = STATE_OK; | 138 | result = STATE_OK; |
108 | } | 139 | } |
109 | else { | 140 | else { |
110 | asprintf (&output, "Server not found in ANSWER SECTION"); | 141 | asprintf (&output, _("Server not found in ANSWER SECTION")); |
111 | result = STATE_WARNING; | 142 | result = STATE_WARNING; |
112 | } | 143 | } |
113 | 144 | ||
@@ -117,7 +148,7 @@ main (int argc, char **argv) | |||
117 | } | 148 | } |
118 | 149 | ||
119 | if (result != STATE_OK) { | 150 | if (result != STATE_OK) { |
120 | asprintf (&output, "No ANSWER SECTION found"); | 151 | asprintf (&output, _("No ANSWER SECTION found")); |
121 | } | 152 | } |
122 | 153 | ||
123 | while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) { | 154 | while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) { |
@@ -134,23 +165,23 @@ main (int argc, char **argv) | |||
134 | if (spclose (child_process)) { | 165 | if (spclose (child_process)) { |
135 | result = max_state (result, STATE_WARNING); | 166 | result = max_state (result, STATE_WARNING); |
136 | if (strlen (output) == 0) | 167 | if (strlen (output) == 0) |
137 | asprintf (&output, "dig returned error status"); | 168 | asprintf (&output, _("dig returned error status")); |
138 | } | 169 | } |
139 | 170 | ||
140 | (void) time (&end_time); | 171 | (void) time (&end_time); |
141 | 172 | ||
142 | if (output == NULL || strlen (output) == 0) | 173 | if (output == NULL || strlen (output) == 0) |
143 | asprintf (&output, " Probably a non-existent host/domain"); | 174 | asprintf (&output, _(" Probably a non-existent host/domain")); |
144 | 175 | ||
145 | if (result == STATE_OK) | 176 | if (result == STATE_OK) |
146 | printf ("DNS OK - %d seconds response time (%s)\n", | 177 | printf (_("DNS OK - %d seconds response time (%s)\n"), |
147 | (int) (end_time - start_time), output); | 178 | (int) (end_time - start_time), output); |
148 | else if (result == STATE_WARNING) | 179 | else if (result == STATE_WARNING) |
149 | printf ("DNS WARNING - %s\n", output); | 180 | printf (_("DNS WARNING - %s\n"), output); |
150 | else if (result == STATE_CRITICAL) | 181 | else if (result == STATE_CRITICAL) |
151 | printf ("DNS CRITICAL - %s\n", output); | 182 | printf (_("DNS CRITICAL - %s\n"), output); |
152 | else | 183 | else |
153 | printf ("DNS problem - %s\n", output); | 184 | printf (_("DNS problem - %s\n"), output); |
154 | 185 | ||
155 | return result; | 186 | return result; |
156 | } | 187 | } |
@@ -182,35 +213,59 @@ process_arguments (int argc, char **argv) | |||
182 | 213 | ||
183 | switch (c) { | 214 | switch (c) { |
184 | case '?': /* help */ | 215 | case '?': /* help */ |
185 | usage3 ("Unknown argument", optopt); | 216 | usage3 (_("Unknown argument"), optopt); |
217 | case 'h': /* help */ | ||
218 | print_help (); | ||
219 | exit (STATE_OK); | ||
220 | case 'V': /* version */ | ||
221 | print_revision (progname, "$Revision$"); | ||
222 | exit (STATE_OK); | ||
186 | case 'H': /* hostname */ | 223 | case 'H': /* hostname */ |
187 | if (is_host (optarg)) { | 224 | if (is_host (optarg)) { |
188 | dns_server = optarg; | 225 | dns_server = optarg; |
189 | } | 226 | } |
190 | else { | 227 | else { |
191 | usage ("Invalid host name\n"); | 228 | usage2 (_("Invalid host name"), optarg); |
229 | } | ||
230 | break; | ||
231 | case 'p': | ||
232 | if (is_intpos (optarg)) { | ||
233 | server_port = atoi (optarg); | ||
234 | } | ||
235 | else { | ||
236 | usage2 (_("Server port must be a nonnegative integer\n"), optarg); | ||
192 | } | 237 | } |
193 | break; | 238 | break; |
194 | case 'l': /* username */ | 239 | case 'l': /* username */ |
195 | query_address = optarg; | 240 | query_address = optarg; |
196 | break; | 241 | break; |
197 | case 'v': /* verbose */ | 242 | case 'w': /* timeout */ |
198 | verbose = TRUE; | 243 | if (is_intnonneg (optarg)) { |
244 | warning_interval = atoi (optarg); | ||
245 | } | ||
246 | else { | ||
247 | usage2 (_("Warning interval must be a nonnegative integer\n"), optarg); | ||
248 | } | ||
249 | break; | ||
250 | case 'c': /* timeout */ | ||
251 | if (is_intnonneg (optarg)) { | ||
252 | critical_interval = atoi (optarg); | ||
253 | } | ||
254 | else { | ||
255 | usage2 (_("Critical interval must be a nonnegative integer\n"), optarg); | ||
256 | } | ||
199 | break; | 257 | break; |
200 | case 't': /* timeout */ | 258 | case 't': /* timeout */ |
201 | if (is_intnonneg (optarg)) { | 259 | if (is_intnonneg (optarg)) { |
202 | timeout_interval = atoi (optarg); | 260 | timeout_interval = atoi (optarg); |
203 | } | 261 | } |
204 | else { | 262 | else { |
205 | usage ("Time interval must be a nonnegative integer\n"); | 263 | usage2 (_("Time interval must be a nonnegative integer\n"), optarg); |
206 | } | 264 | } |
207 | break; | 265 | break; |
208 | case 'V': /* version */ | 266 | case 'v': /* verbose */ |
209 | print_revision (progname, "$Revision$"); | 267 | verbose = TRUE; |
210 | exit (STATE_OK); | 268 | break; |
211 | case 'h': /* help */ | ||
212 | print_help (); | ||
213 | exit (STATE_OK); | ||
214 | } | 269 | } |
215 | } | 270 | } |
216 | 271 | ||
@@ -221,7 +276,7 @@ process_arguments (int argc, char **argv) | |||
221 | dns_server = argv[c]; | 276 | dns_server = argv[c]; |
222 | } | 277 | } |
223 | else { | 278 | else { |
224 | usage ("Invalid host name"); | 279 | usage2 (_("Invalid host name"), argv[c]); |
225 | } | 280 | } |
226 | } | 281 | } |
227 | else { | 282 | else { |
@@ -242,31 +297,3 @@ validate_arguments (void) | |||
242 | return OK; | 297 | return OK; |
243 | } | 298 | } |
244 | 299 | ||
245 | |||
246 | |||
247 | |||
248 | |||
249 | void | ||
250 | print_help (void) | ||
251 | { | ||
252 | print_revision (progname, revision); | ||
253 | printf ("Copyright (c) %s %s\n\t<%s>\n\n", copyright, authors, email); | ||
254 | printf (summary); | ||
255 | print_usage (); | ||
256 | printf ("\nOptions:\n"); | ||
257 | printf (options, DEFAULT_SOCKET_TIMEOUT); | ||
258 | printf (standard_options); | ||
259 | support (); | ||
260 | } | ||
261 | |||
262 | |||
263 | |||
264 | |||
265 | |||
266 | void | ||
267 | print_usage (void) | ||
268 | { | ||
269 | printf ("Usage: %s %s\n", progname, option_summary); | ||
270 | printf (" %s (-h|--help)\n", progname); | ||
271 | printf (" %s (-V|--version)\n", progname); | ||
272 | } | ||