diff options
| author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-03 00:01:22 +0000 |
|---|---|---|
| committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-03 00:01:22 +0000 |
| commit | 08925d10d3d6d2cccc198e0f39e11f67df87b8d4 (patch) | |
| tree | 0ef6102234c6f954d0d5280686b9a261beab84be /plugins | |
| parent | cd35a16e01589a46fad9cd1ff35d683ee426a111 (diff) | |
| download | monitoring-plugins-08925d10d3d6d2cccc198e0f39e11f67df87b8d4.tar.gz | |
markup for translation
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@637 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_http.c | 303 |
1 files changed, 144 insertions, 159 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index 2f693328..c1016bb0 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
| @@ -24,115 +24,139 @@ | |||
| 24 | *****************************************************************************/ | 24 | *****************************************************************************/ |
| 25 | 25 | ||
| 26 | const char *progname = "check_http"; | 26 | const char *progname = "check_http"; |
| 27 | #define REVISION "$Revision$" | 27 | const char *revision = "$Revision$"; |
| 28 | #define COPYRIGHT "1999-2001" | 28 | const char *copyright = "1999-2001"; |
| 29 | #define AUTHORS "Ethan Galstad/Karl DeBisschop" | 29 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; |
| 30 | #define EMAIL "kdebisschop@users.sourceforge.net" | ||
| 31 | 30 | ||
| 32 | #include "config.h" | ||
| 33 | #include "common.h" | 31 | #include "common.h" |
| 34 | #include "netutils.h" | 32 | #include "netutils.h" |
| 35 | #include "utils.h" | 33 | #include "utils.h" |
| 36 | 34 | ||
| 37 | #define SUMMARY "\ | 35 | #define HTTP_EXPECT "HTTP/1." |
| 36 | enum { | ||
| 37 | MAX_IPV4_HOSTLENGTH = 255, | ||
| 38 | HTTP_PORT = 80, | ||
| 39 | HTTPS_PORT = 443 | ||
| 40 | }; | ||
| 41 | |||
| 42 | void | ||
| 43 | print_usage (void) | ||
| 44 | { | ||
| 45 | printf (_("\ | ||
| 46 | Usage: %s (-H <vhost> | -I <IP-address>) [-u <uri>] [-p <port>]\n\ | ||
| 47 | [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L]\n\ | ||
| 48 | [-a auth] [-f <ok | warn | critcal | follow>] [-e <expect>]\n\ | ||
| 49 | [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]\n\ | ||
| 50 | [-P string] [-m min_pg_size] [-4|-6]\n"), progname); | ||
| 51 | printf (_(UT_HLP_VRS), progname, progname); | ||
| 52 | } | ||
| 53 | |||
| 54 | void | ||
| 55 | print_help (void) | ||
| 56 | { | ||
| 57 | print_revision (progname, revision); | ||
| 58 | |||
| 59 | printf (_(COPYRIGHT), copyright, email); | ||
| 60 | |||
| 61 | printf (_("\ | ||
| 38 | This plugin tests the HTTP service on the specified host. It can test\n\ | 62 | This plugin tests the HTTP service on the specified host. It can test\n\ |
| 39 | normal (http) and secure (https) servers, follow redirects, search for\n\ | 63 | normal (http) and secure (https) servers, follow redirects, search for\n\ |
| 40 | strings and regular expressions, check connection times, and report on\n\ | 64 | strings and regular expressions, check connection times, and report on\n\ |
| 41 | certificate expiration times.\n" | 65 | certificate expiration times.\n")); |
| 66 | |||
| 67 | print_usage (); | ||
| 42 | 68 | ||
| 43 | #define OPTIONS "\ | 69 | printf (_("NOTE: One or both of -H and -I must be specified\n")); |
| 44 | (-H <vhost> | -I <IP-address>) [-u <uri>] [-p <port>]\n\ | ||
| 45 | [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L]\n\ | ||
| 46 | [-a auth] [-f <ok | warn | critcal | follow>] [-e <expect>]\n\ | ||
| 47 | [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]\n\ | ||
| 48 | [-P string] [-m min_pg_size] [-4|-6]" | ||
| 49 | 70 | ||
| 50 | #define LONGOPTIONS "\ | 71 | printf (_(UT_HELP_VRSN)); |
| 72 | |||
| 73 | printf (_("\ | ||
| 51 | -H, --hostname=ADDRESS\n\ | 74 | -H, --hostname=ADDRESS\n\ |
| 52 | Host name argument for servers using host headers (virtual host)\n\ | 75 | Host name argument for servers using host headers (virtual host)\n\ |
| 53 | -I, --IP-address=ADDRESS\n\ | 76 | -I, --IP-address=ADDRESS\n\ |
| 54 | IP address or name (use numeric address if possible to bypass DNS lookup).\n\ | 77 | IP address or name (use numeric address if possible to bypass DNS lookup).\n\ |
| 55 | -4, --use-ipv4\n\ | ||
| 56 | Use IPv4 protocol\n\ | ||
| 57 | -6, --use-ipv6\n\ | ||
| 58 | Use IPv6 protocol\n\ | ||
| 59 | -e, --expect=STRING\n\ | ||
| 60 | String to expect in first (status) line of server response (default: %s)\n\ | ||
| 61 | If specified skips all other status line logic (ex: 3xx, 4xx, 5xx processing)\n\ | ||
| 62 | -s, --string=STRING\n\ | ||
| 63 | String to expect in the content\n\ | ||
| 64 | -u, --url=PATH\n\ | ||
| 65 | URL to GET or POST (default: /)\n\ | ||
| 66 | -p, --port=INTEGER\n\ | 78 | -p, --port=INTEGER\n\ |
| 67 | Port number (default: %d)\n\ | 79 | Port number (default: %d)\n"), HTTP_PORT); |
| 68 | -P, --post=STRING\n\ | 80 | |
| 69 | URL encoded http POST data\n\ | 81 | printf (_(UT_IPv46)); |
| 70 | -w, --warning=INTEGER\n\ | ||
| 71 | Response time to result in warning status (seconds)\n\ | ||
| 72 | -c, --critical=INTEGER\n\ | ||
| 73 | Response time to result in critical status (seconds)\n\ | ||
| 74 | -t, --timeout=INTEGER\n\ | ||
| 75 | Seconds before connection times out (default: %d)\n\ | ||
| 76 | -a, --authorization=AUTH_PAIR\n\ | ||
| 77 | Username:password on sites with basic authentication\n\ | ||
| 78 | -L, --link=URL\n\ | ||
| 79 | Wrap output in HTML link (obsoleted by urlize)\n\ | ||
| 80 | -f, --onredirect=<ok|warning|critical|follow>\n\ | ||
| 81 | How to handle redirected pages\n%s%s\ | ||
| 82 | -m, --min=INTEGER\n\ | ||
| 83 | Minimum page size required (bytes)\n\ | ||
| 84 | -v, --verbose\n\ | ||
| 85 | Show details for command-line debugging (do not use with nagios server)\n\ | ||
| 86 | -h, --help\n\ | ||
| 87 | Print detailed help screen\n\ | ||
| 88 | -V, --version\n\ | ||
| 89 | Print version information\n" | ||
| 90 | 82 | ||
| 91 | #ifdef HAVE_SSL | 83 | #ifdef HAVE_SSL |
| 92 | #define SSLOPTIONS "\ | 84 | printf (_("\ |
| 93 | -S, --ssl\n\ | 85 | -S, --ssl\n\ |
| 94 | Connect via SSL\n\ | 86 | Connect via SSL\n\ |
| 95 | -C, --certificate=INTEGER\n\ | 87 | -C, --certificate=INTEGER\n\ |
| 96 | Minimum number of days a certificate has to be valid.\n\ | 88 | Minimum number of days a certificate has to be valid.\n\ |
| 97 | (when this option is used the url is not checked.)\n" | 89 | (when this option is used the url is not checked.)\n")); |
| 98 | #else | ||
| 99 | #define SSLOPTIONS "" | ||
| 100 | #endif | 90 | #endif |
| 101 | 91 | ||
| 92 | printf (_("\ | ||
| 93 | -e, --expect=STRING\n\ | ||
| 94 | String to expect in first (status) line of server response (default: %s)\n\ | ||
| 95 | If specified skips all other status line logic (ex: 3xx, 4xx, 5xx processing)\n\ | ||
| 96 | -s, --string=STRING\n\ | ||
| 97 | String to expect in the content\n\ | ||
| 98 | -u, --url=PATH\n\ | ||
| 99 | URL to GET or POST (default: /)\n\ | ||
| 100 | -P, --post=STRING\n\ | ||
| 101 | URL encoded http POST data\n"), HTTP_EXPECT); | ||
| 102 | |||
| 102 | #ifdef HAVE_REGEX_H | 103 | #ifdef HAVE_REGEX_H |
| 103 | #define REGOPTIONS "\ | 104 | printf (_("\ |
| 104 | -l, --linespan\n\ | 105 | -l, --linespan\n\ |
| 105 | Allow regex to span newlines (must precede -r or -R)\n\ | 106 | Allow regex to span newlines (must precede -r or -R)\n\ |
| 106 | -r, --regex, --ereg=STRING\n\ | 107 | -r, --regex, --ereg=STRING\n\ |
| 107 | Search page for regex STRING\n\ | 108 | Search page for regex STRING\n\ |
| 108 | -R, --eregi=STRING\n\ | 109 | -R, --eregi=STRING\n\ |
| 109 | Search page for case-insensitive regex STRING\n" | 110 | Search page for case-insensitive regex STRING\n")); |
| 110 | #else | ||
| 111 | #define REGOPTIONS "" | ||
| 112 | #endif | 111 | #endif |
| 113 | 112 | ||
| 114 | #define DESCRIPTION "\ | 113 | printf (_("\ |
| 115 | This plugin will attempt to open an HTTP connection with the host. Successul\n\ | 114 | -a, --authorization=AUTH_PAIR\n\ |
| 115 | Username:password on sites with basic authentication\n\ | ||
| 116 | -L, --link=URL\n\ | ||
| 117 | Wrap output in HTML link (obsoleted by urlize)\n\ | ||
| 118 | -f, --onredirect=<ok|warning|critical|follow>\n\ | ||
| 119 | How to handle redirected pages\n\ | ||
| 120 | -m, --min=INTEGER\n\ | ||
| 121 | Minimum page size required (bytes)\n")); | ||
| 122 | |||
| 123 | printf (_(UT_WARN_CRIT)); | ||
| 124 | |||
| 125 | printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); | ||
| 126 | |||
| 127 | printf (_(UT_VERBOSE)); | ||
| 128 | |||
| 129 | printf (_("\ | ||
| 130 | This plugin will attempt to open an HTTP connection with the host. Successful\n\ | ||
| 116 | connects return STATE_OK, refusals and timeouts return STATE_CRITICAL, other\n\ | 131 | connects return STATE_OK, refusals and timeouts return STATE_CRITICAL, other\n\ |
| 117 | errors return STATE_UNKNOWN. Successful connects, but incorrect reponse\n\ | 132 | errors return STATE_UNKNOWN. Successful connects, but incorrect reponse\n\ |
| 118 | messages from the host result in STATE_WARNING return values. If you are\n\ | 133 | messages from the host result in STATE_WARNING return values. If you are\n\ |
| 119 | checking a virtual server that uses \"host headers\" you must supply the FQDN\n\ | 134 | checking a virtual server that uses 'host headers' you must supply the FQDN\n\ |
| 120 | \(fully qualified domain name) as the [host_name] argument.\n" | 135 | (fully qualified domain name) as the [host_name] argument.\n")); |
| 121 | 136 | ||
| 122 | #define SSLDESCRIPTION "\ | 137 | #ifdef HAVE_SSL |
| 138 | printf (_("\n\ | ||
| 123 | This plugin can also check whether an SSL enabled web server is able to\n\ | 139 | This plugin can also check whether an SSL enabled web server is able to\n\ |
| 124 | serve content (optionally within a specified time) or whether the X509 \n\ | 140 | serve content (optionally within a specified time) or whether the X509 \n\ |
| 125 | certificate is still valid for the specified number of days.\n\n\ | 141 | certificate is still valid for the specified number of days.\n")); |
| 142 | printf (_("\n\ | ||
| 126 | CHECK CONTENT: check_http -w 5 -c 10 --ssl www.verisign.com\n\n\ | 143 | CHECK CONTENT: check_http -w 5 -c 10 --ssl www.verisign.com\n\n\ |
| 127 | When the 'www.verisign.com' server returns its content within 5 seconds, a\n\ | 144 | When the 'www.verisign.com' server returns its content within 5 seconds, a\n\ |
| 128 | STATE_OK will be returned. When the server returns its content but exceeds\n\ | 145 | STATE_OK will be returned. When the server returns its content but exceeds\n\ |
| 129 | the 5-second threshold, a STATE_WARNING will be returned. When an error occurs,\n\ | 146 | the 5-second threshold, a STATE_WARNING will be returned. When an error occurs,\n\ |
| 130 | a STATE_CRITICAL will be returned.\n\n\ | 147 | a STATE_CRITICAL will be returned.\n\n")); |
| 148 | |||
| 149 | printf (_("\ | ||
| 131 | CHECK CERTIFICATE: check_http www.verisign.com -C 14\n\n\ | 150 | CHECK CERTIFICATE: check_http www.verisign.com -C 14\n\n\ |
| 132 | When the certificate of 'www.verisign.com' is valid for more than 14 days, a\n\ | 151 | When the certificate of 'www.verisign.com' is valid for more than 14 days, a\n\ |
| 133 | STATE_OK is returned. When the certificate is still valid, but for less than\n\ | 152 | STATE_OK is returned. When the certificate is still valid, but for less than\n\ |
| 134 | 14 days, a STATE_WARNING is returned. A STATE_CRITICAL will be returned when\n\ | 153 | 14 days, a STATE_WARNING is returned. A STATE_CRITICAL will be returned when\n\ |
| 135 | the certificate is expired.\n" | 154 | the certificate is expired.\n")); |
| 155 | #endif | ||
| 156 | |||
| 157 | printf (_(UT_SUPPORT)); | ||
| 158 | |||
| 159 | } | ||
| 136 | 160 | ||
| 137 | #ifdef HAVE_SSL_H | 161 | #ifdef HAVE_SSL_H |
| 138 | #include <rsa.h> | 162 | #include <rsa.h> |
| @@ -194,13 +218,6 @@ struct timeval tv; | |||
| 194 | #define URI_PORT ":%[0123456789]" | 218 | #define URI_PORT ":%[0123456789]" |
| 195 | #define URI_PATH "%[-_.!~*'();/?:@&=+$,%#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]" | 219 | #define URI_PATH "%[-_.!~*'();/?:@&=+$,%#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]" |
| 196 | 220 | ||
| 197 | enum { | ||
| 198 | MAX_IPV4_HOSTLENGTH = 255, | ||
| 199 | HTTP_PORT = 80, | ||
| 200 | HTTPS_PORT = 443 | ||
| 201 | }; | ||
| 202 | |||
| 203 | #define HTTP_EXPECT "HTTP/1." | ||
| 204 | #define HTTP_URL "/" | 221 | #define HTTP_URL "/" |
| 205 | #define CRLF "\r\n" | 222 | #define CRLF "\r\n" |
| 206 | 223 | ||
| @@ -231,8 +248,6 @@ char *http_method = "GET"; | |||
| 231 | char *http_post_data = ""; | 248 | char *http_post_data = ""; |
| 232 | char buffer[MAX_INPUT_BUFFER]; | 249 | char buffer[MAX_INPUT_BUFFER]; |
| 233 | 250 | ||
| 234 | void print_usage (void); | ||
| 235 | void print_help (void); | ||
| 236 | int process_arguments (int, char **); | 251 | int process_arguments (int, char **); |
| 237 | static char *base64 (char *bin, int len); | 252 | static char *base64 (char *bin, int len); |
| 238 | int check_http (void); | 253 | int check_http (void); |
| @@ -249,7 +264,7 @@ main (int argc, char **argv) | |||
| 249 | server_url_length = strlen(server_url); | 264 | server_url_length = strlen(server_url); |
| 250 | 265 | ||
| 251 | if (process_arguments (argc, argv) == ERROR) | 266 | if (process_arguments (argc, argv) == ERROR) |
| 252 | usage ("check_http: could not parse arguments\n"); | 267 | usage (_("check_http: could not parse arguments\n")); |
| 253 | 268 | ||
| 254 | if (strstr (timestamp, ":")) { | 269 | if (strstr (timestamp, ":")) { |
| 255 | if (strstr (server_url, "?")) | 270 | if (strstr (server_url, "?")) |
| @@ -271,13 +286,13 @@ main (int argc, char **argv) | |||
| 271 | if (use_ssl && check_cert == TRUE) { | 286 | if (use_ssl && check_cert == TRUE) { |
| 272 | if (connect_SSL () != OK) | 287 | if (connect_SSL () != OK) |
| 273 | terminate (STATE_CRITICAL, | 288 | terminate (STATE_CRITICAL, |
| 274 | "HTTP CRITICAL - Could not make SSL connection\n"); | 289 | _("HTTP CRITICAL - Could not make SSL connection\n")); |
| 275 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { | 290 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { |
| 276 | result = check_certificate (&server_cert); | 291 | result = check_certificate (&server_cert); |
| 277 | X509_free (server_cert); | 292 | X509_free (server_cert); |
| 278 | } | 293 | } |
| 279 | else { | 294 | else { |
| 280 | printf ("ERROR: Cannot retrieve server certificate.\n"); | 295 | printf (_("ERROR: Cannot retrieve server certificate.\n")); |
| 281 | result = STATE_CRITICAL; | 296 | result = STATE_CRITICAL; |
| 282 | } | 297 | } |
| 283 | SSL_shutdown (ssl); | 298 | SSL_shutdown (ssl); |
| @@ -348,30 +363,30 @@ process_arguments (int argc, char **argv) | |||
| 348 | 363 | ||
| 349 | switch (c) { | 364 | switch (c) { |
| 350 | case '?': /* usage */ | 365 | case '?': /* usage */ |
| 351 | usage3 ("unknown argument", optopt); | 366 | usage3 (_("unknown argument"), optopt); |
| 352 | break; | 367 | break; |
| 353 | case 'h': /* help */ | 368 | case 'h': /* help */ |
| 354 | print_help (); | 369 | print_help (); |
| 355 | exit (STATE_OK); | 370 | exit (STATE_OK); |
| 356 | break; | 371 | break; |
| 357 | case 'V': /* version */ | 372 | case 'V': /* version */ |
| 358 | print_revision (progname, REVISION); | 373 | print_revision (progname, revision); |
| 359 | exit (STATE_OK); | 374 | exit (STATE_OK); |
| 360 | break; | 375 | break; |
| 361 | case 't': /* timeout period */ | 376 | case 't': /* timeout period */ |
| 362 | if (!is_intnonneg (optarg)) | 377 | if (!is_intnonneg (optarg)) |
| 363 | usage2 ("timeout interval must be a non-negative integer", optarg); | 378 | usage2 (_("timeout interval must be a non-negative integer"), optarg); |
| 364 | socket_timeout = atoi (optarg); | 379 | socket_timeout = atoi (optarg); |
| 365 | break; | 380 | break; |
| 366 | case 'c': /* critical time threshold */ | 381 | case 'c': /* critical time threshold */ |
| 367 | if (!is_intnonneg (optarg)) | 382 | if (!is_intnonneg (optarg)) |
| 368 | usage2 ("invalid critical threshold", optarg); | 383 | usage2 (_("invalid critical threshold"), optarg); |
| 369 | critical_time = strtod (optarg, NULL); | 384 | critical_time = strtod (optarg, NULL); |
| 370 | check_critical_time = TRUE; | 385 | check_critical_time = TRUE; |
| 371 | break; | 386 | break; |
| 372 | case 'w': /* warning time threshold */ | 387 | case 'w': /* warning time threshold */ |
| 373 | if (!is_intnonneg (optarg)) | 388 | if (!is_intnonneg (optarg)) |
| 374 | usage2 ("invalid warning threshold", optarg); | 389 | usage2 (_("invalid warning threshold"), optarg); |
| 375 | warning_time = strtod (optarg, NULL); | 390 | warning_time = strtod (optarg, NULL); |
| 376 | check_warning_time = TRUE; | 391 | check_warning_time = TRUE; |
| 377 | break; | 392 | break; |
| @@ -383,7 +398,7 @@ process_arguments (int argc, char **argv) | |||
| 383 | break; | 398 | break; |
| 384 | case 'S': /* use SSL */ | 399 | case 'S': /* use SSL */ |
| 385 | #ifndef HAVE_SSL | 400 | #ifndef HAVE_SSL |
| 386 | usage ("check_http: invalid option - SSL is not available\n"); | 401 | usage (_("check_http: invalid option - SSL is not available\n")); |
| 387 | #endif | 402 | #endif |
| 388 | use_ssl = TRUE; | 403 | use_ssl = TRUE; |
| 389 | if (specify_port == FALSE) | 404 | if (specify_port == FALSE) |
| @@ -392,11 +407,11 @@ process_arguments (int argc, char **argv) | |||
| 392 | case 'C': /* Check SSL cert validity */ | 407 | case 'C': /* Check SSL cert validity */ |
| 393 | #ifdef HAVE_SSL | 408 | #ifdef HAVE_SSL |
| 394 | if (!is_intnonneg (optarg)) | 409 | if (!is_intnonneg (optarg)) |
| 395 | usage2 ("invalid certificate expiration period", optarg); | 410 | usage2 (_("invalid certificate expiration period"), optarg); |
| 396 | days_till_exp = atoi (optarg); | 411 | days_till_exp = atoi (optarg); |
| 397 | check_cert = TRUE; | 412 | check_cert = TRUE; |
| 398 | #else | 413 | #else |
| 399 | usage ("check_http: invalid option - SSL is not available\n"); | 414 | usage (_("check_http: invalid option - SSL is not available\n")); |
| 400 | #endif | 415 | #endif |
| 401 | break; | 416 | break; |
| 402 | case 'f': /* onredirect */ | 417 | case 'f': /* onredirect */ |
| @@ -411,7 +426,7 @@ process_arguments (int argc, char **argv) | |||
| 411 | if (!strcmp (optarg, "critical")) | 426 | if (!strcmp (optarg, "critical")) |
| 412 | onredirect = STATE_CRITICAL; | 427 | onredirect = STATE_CRITICAL; |
| 413 | if (verbose) | 428 | if (verbose) |
| 414 | printf("option f:%d \n", onredirect); | 429 | printf(_("option f:%d \n"), onredirect); |
| 415 | break; | 430 | break; |
| 416 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ | 431 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ |
| 417 | case 'H': /* Host Name (virtual host) */ | 432 | case 'H': /* Host Name (virtual host) */ |
| @@ -426,7 +441,7 @@ process_arguments (int argc, char **argv) | |||
| 426 | break; | 441 | break; |
| 427 | case 'p': /* Host or server */ | 442 | case 'p': /* Host or server */ |
| 428 | if (!is_intnonneg (optarg)) | 443 | if (!is_intnonneg (optarg)) |
| 429 | usage2 ("invalid port number", optarg); | 444 | usage2 (_("invalid port number"), optarg); |
| 430 | server_port = atoi (optarg); | 445 | server_port = atoi (optarg); |
| 431 | specify_port = TRUE; | 446 | specify_port = TRUE; |
| 432 | break; | 447 | break; |
| @@ -451,7 +466,7 @@ process_arguments (int argc, char **argv) | |||
| 451 | case 'l': /* linespan */ | 466 | case 'l': /* linespan */ |
| 452 | case 'r': /* linespan */ | 467 | case 'r': /* linespan */ |
| 453 | case 'R': /* linespan */ | 468 | case 'R': /* linespan */ |
| 454 | usage ("check_http: call for regex which was not a compiled option\n"); | 469 | usage (_("check_http: call for regex which was not a compiled option\n")); |
| 455 | break; | 470 | break; |
| 456 | #else | 471 | #else |
| 457 | case 'l': /* linespan */ | 472 | case 'l': /* linespan */ |
| @@ -465,7 +480,7 @@ process_arguments (int argc, char **argv) | |||
| 465 | errcode = regcomp (&preg, regexp, cflags); | 480 | errcode = regcomp (&preg, regexp, cflags); |
| 466 | if (errcode != 0) { | 481 | if (errcode != 0) { |
| 467 | (void) regerror (errcode, &preg, errbuf, MAX_INPUT_BUFFER); | 482 | (void) regerror (errcode, &preg, errbuf, MAX_INPUT_BUFFER); |
| 468 | printf ("Could Not Compile Regular Expression: %s", errbuf); | 483 | printf (_("Could Not Compile Regular Expression: %s"), errbuf); |
| 469 | return ERROR; | 484 | return ERROR; |
| 470 | } | 485 | } |
| 471 | break; | 486 | break; |
| @@ -477,7 +492,7 @@ process_arguments (int argc, char **argv) | |||
| 477 | #ifdef USE_IPV6 | 492 | #ifdef USE_IPV6 |
| 478 | address_family = AF_INET6; | 493 | address_family = AF_INET6; |
| 479 | #else | 494 | #else |
| 480 | usage ("IPv6 support not available\n"); | 495 | usage (_("IPv6 support not available\n")); |
| 481 | #endif | 496 | #endif |
| 482 | break; | 497 | break; |
| 483 | case 'v': /* verbose */ | 498 | case 'v': /* verbose */ |
| @@ -499,7 +514,7 @@ process_arguments (int argc, char **argv) | |||
| 499 | 514 | ||
| 500 | if (strcmp (server_address ,"") == 0) { | 515 | if (strcmp (server_address ,"") == 0) { |
| 501 | if (strcmp (host_name, "") == 0) | 516 | if (strcmp (host_name, "") == 0) |
| 502 | usage ("check_http: you must specify a server address or host name\n"); | 517 | usage (_("check_http: you must specify a server address or host name\n")); |
| 503 | else | 518 | else |
| 504 | asprintf (&server_address, "%s", host_name); | 519 | asprintf (&server_address, "%s", host_name); |
| 505 | } | 520 | } |
| @@ -580,14 +595,14 @@ check_http (void) | |||
| 580 | if (use_ssl == TRUE) { | 595 | if (use_ssl == TRUE) { |
| 581 | 596 | ||
| 582 | if (connect_SSL () != OK) { | 597 | if (connect_SSL () != OK) { |
| 583 | terminate (STATE_CRITICAL, "Unable to open TCP socket"); | 598 | terminate (STATE_CRITICAL, _("Unable to open TCP socket")); |
| 584 | } | 599 | } |
| 585 | 600 | ||
| 586 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { | 601 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { |
| 587 | X509_free (server_cert); | 602 | X509_free (server_cert); |
| 588 | } | 603 | } |
| 589 | else { | 604 | else { |
| 590 | printf ("ERROR: Cannot retrieve server certificate.\n"); | 605 | printf (_("ERROR: Cannot retrieve server certificate.\n")); |
| 591 | return STATE_CRITICAL; | 606 | return STATE_CRITICAL; |
| 592 | } | 607 | } |
| 593 | 608 | ||
| @@ -595,7 +610,7 @@ check_http (void) | |||
| 595 | else { | 610 | else { |
| 596 | #endif | 611 | #endif |
| 597 | if (my_tcp_connect (server_address, server_port, &sd) != STATE_OK) | 612 | if (my_tcp_connect (server_address, server_port, &sd) != STATE_OK) |
| 598 | terminate (STATE_CRITICAL, "Unable to open TCP socket"); | 613 | terminate (STATE_CRITICAL, _("Unable to open TCP socket")); |
| 599 | #ifdef HAVE_SSL | 614 | #ifdef HAVE_SSL |
| 600 | } | 615 | } |
| 601 | #endif | 616 | #endif |
| @@ -608,7 +623,7 @@ check_http (void) | |||
| 608 | 623 | ||
| 609 | /* send user agent */ | 624 | /* send user agent */ |
| 610 | asprintf (&buf, "%sUser-Agent: check_http/%s (nagios-plugins %s)\r\n", | 625 | asprintf (&buf, "%sUser-Agent: check_http/%s (nagios-plugins %s)\r\n", |
| 611 | buf, clean_revstring (REVISION), PACKAGE_VERSION); | 626 | buf, clean_revstring (revision), VERSION); |
| 612 | 627 | ||
| 613 | /* optionally send the authentication info */ | 628 | /* optionally send the authentication info */ |
| 614 | if (strcmp (user_auth, "")) { | 629 | if (strcmp (user_auth, "")) { |
| @@ -653,14 +668,14 @@ check_http (void) | |||
| 653 | if (use_ssl) { | 668 | if (use_ssl) { |
| 654 | sslerr=SSL_get_error(ssl, i); | 669 | sslerr=SSL_get_error(ssl, i); |
| 655 | if ( sslerr == SSL_ERROR_SSL ) { | 670 | if ( sslerr == SSL_ERROR_SSL ) { |
| 656 | terminate (STATE_WARNING, "Client Certificate Required\n"); | 671 | terminate (STATE_WARNING, _("Client Certificate Required\n")); |
| 657 | } else { | 672 | } else { |
| 658 | terminate (STATE_CRITICAL, "Error in recv()"); | 673 | terminate (STATE_CRITICAL, _("Error in recv()")); |
| 659 | } | 674 | } |
| 660 | } | 675 | } |
| 661 | else { | 676 | else { |
| 662 | #endif | 677 | #endif |
| 663 | terminate (STATE_CRITICAL, "Error in recv()"); | 678 | terminate (STATE_CRITICAL, _("Error in recv()")); |
| 664 | #ifdef HAVE_SSL | 679 | #ifdef HAVE_SSL |
| 665 | } | 680 | } |
| 666 | #endif | 681 | #endif |
| @@ -668,7 +683,7 @@ check_http (void) | |||
| 668 | 683 | ||
| 669 | /* return a CRITICAL status if we couldn't read any data */ | 684 | /* return a CRITICAL status if we couldn't read any data */ |
| 670 | if (pagesize == (size_t) 0) | 685 | if (pagesize == (size_t) 0) |
| 671 | terminate (STATE_CRITICAL, "No data received %s", timestamp); | 686 | terminate (STATE_CRITICAL, _("No data received %s"), timestamp); |
| 672 | 687 | ||
| 673 | /* close the connection */ | 688 | /* close the connection */ |
| 674 | my_close (); | 689 | my_close (); |
| @@ -711,10 +726,10 @@ check_http (void) | |||
| 711 | /* make sure the status line matches the response we are looking for */ | 726 | /* make sure the status line matches the response we are looking for */ |
| 712 | if (!strstr (status_line, server_expect)) { | 727 | if (!strstr (status_line, server_expect)) { |
| 713 | if (server_port == HTTP_PORT) | 728 | if (server_port == HTTP_PORT) |
| 714 | asprintf (&msg, "Invalid HTTP response received from host\n"); | 729 | asprintf (&msg, _("Invalid HTTP response received from host\n")); |
| 715 | else | 730 | else |
| 716 | asprintf (&msg, | 731 | asprintf (&msg, |
| 717 | "Invalid HTTP response received from host on port %d\n", | 732 | _("Invalid HTTP response received from host on port %d\n"), |
| 718 | server_port); | 733 | server_port); |
| 719 | terminate (STATE_CRITICAL, msg); | 734 | terminate (STATE_CRITICAL, msg); |
| 720 | } | 735 | } |
| @@ -722,7 +737,7 @@ check_http (void) | |||
| 722 | 737 | ||
| 723 | /* Exit here if server_expect was set by user and not default */ | 738 | /* Exit here if server_expect was set by user and not default */ |
| 724 | if ( server_expect_yn ) { | 739 | if ( server_expect_yn ) { |
| 725 | asprintf (&msg, "HTTP OK: Status line output matched \"%s\"\n", | 740 | asprintf (&msg, _("HTTP OK: Status line output matched \"%s\"\n"), |
| 726 | server_expect); | 741 | server_expect); |
| 727 | if (verbose) | 742 | if (verbose) |
| 728 | printf ("%s\n",msg); | 743 | printf ("%s\n",msg); |
| @@ -737,7 +752,7 @@ check_http (void) | |||
| 737 | strstr (status_line, "501") || | 752 | strstr (status_line, "501") || |
| 738 | strstr (status_line, "502") || | 753 | strstr (status_line, "502") || |
| 739 | strstr (status_line, "503")) { | 754 | strstr (status_line, "503")) { |
| 740 | terminate (STATE_CRITICAL, "HTTP CRITICAL: %s\n", status_line); | 755 | terminate (STATE_CRITICAL, _("HTTP CRITICAL: %s\n"), status_line); |
| 741 | } | 756 | } |
| 742 | 757 | ||
| 743 | /* client errors result in a warning state */ | 758 | /* client errors result in a warning state */ |
| @@ -746,7 +761,7 @@ check_http (void) | |||
| 746 | strstr (status_line, "402") || | 761 | strstr (status_line, "402") || |
| 747 | strstr (status_line, "403") || | 762 | strstr (status_line, "403") || |
| 748 | strstr (status_line, "404")) { | 763 | strstr (status_line, "404")) { |
| 749 | terminate (STATE_WARNING, "HTTP WARNING: %s\n", status_line); | 764 | terminate (STATE_WARNING, _("HTTP WARNING: %s\n"), status_line); |
| 750 | } | 765 | } |
| 751 | 766 | ||
| 752 | /* check redirected page if specified */ | 767 | /* check redirected page if specified */ |
| @@ -763,12 +778,12 @@ check_http (void) | |||
| 763 | server_address = realloc (server_address, MAX_IPV4_HOSTLENGTH + 1); | 778 | server_address = realloc (server_address, MAX_IPV4_HOSTLENGTH + 1); |
| 764 | if (server_address == NULL) | 779 | if (server_address == NULL) |
| 765 | terminate (STATE_UNKNOWN, | 780 | terminate (STATE_UNKNOWN, |
| 766 | "HTTP UNKNOWN: could not allocate server_address"); | 781 | _("HTTP UNKNOWN: could not allocate server_address")); |
| 767 | if (strcspn (pos, "\r\n") > server_url_length) { | 782 | if (strcspn (pos, "\r\n") > (size_t)server_url_length) { |
| 768 | server_url = realloc (server_url, strcspn (pos, "\r\n")); | 783 | server_url = realloc (server_url, strcspn (pos, "\r\n")); |
| 769 | if (server_url == NULL) | 784 | if (server_url == NULL) |
| 770 | terminate (STATE_UNKNOWN, | 785 | terminate (STATE_UNKNOWN, |
| 771 | "HTTP UNKNOWN: could not allocate server_url"); | 786 | _("HTTP UNKNOWN: could not allocate server_url")); |
| 772 | server_url_length = strcspn (pos, "\r\n"); | 787 | server_url_length = strcspn (pos, "\r\n"); |
| 773 | } | 788 | } |
| 774 | if (sscanf (pos, HDR_LOCATION URI_HTTP URI_HOST URI_PORT URI_PATH, server_type, server_address, server_port_text, server_url) == 4) { | 789 | if (sscanf (pos, HDR_LOCATION URI_HTTP URI_HOST URI_PORT URI_PATH, server_type, server_address, server_port_text, server_url) == 4) { |
| @@ -807,21 +822,21 @@ check_http (void) | |||
| 807 | pos += (size_t) strcspn (pos, "\r\n"); | 822 | pos += (size_t) strcspn (pos, "\r\n"); |
| 808 | pos += (size_t) strspn (pos, "\r\n"); | 823 | pos += (size_t) strspn (pos, "\r\n"); |
| 809 | } /* end while (pos) */ | 824 | } /* end while (pos) */ |
| 810 | printf ("UNKNOWN - Could not find redirect location - %s%s", | 825 | printf (_("UNKNOWN - Could not find redirect location - %s%s"), |
| 811 | status_line, (display_html ? "</A>" : "")); | 826 | status_line, (display_html ? "</A>" : "")); |
| 812 | exit (STATE_UNKNOWN); | 827 | exit (STATE_UNKNOWN); |
| 813 | } /* end if (onredirect == STATE_DEPENDENT) */ | 828 | } /* end if (onredirect == STATE_DEPENDENT) */ |
| 814 | 829 | ||
| 815 | else if (onredirect == STATE_UNKNOWN) | 830 | else if (onredirect == STATE_UNKNOWN) |
| 816 | printf ("UNKNOWN"); | 831 | printf (_("UNKNOWN")); |
| 817 | else if (onredirect == STATE_OK) | 832 | else if (onredirect == STATE_OK) |
| 818 | printf ("OK"); | 833 | printf (_("OK")); |
| 819 | else if (onredirect == STATE_WARNING) | 834 | else if (onredirect == STATE_WARNING) |
| 820 | printf ("WARNING"); | 835 | printf (_("WARNING")); |
| 821 | else if (onredirect == STATE_CRITICAL) | 836 | else if (onredirect == STATE_CRITICAL) |
| 822 | printf ("CRITICAL"); | 837 | printf (_("CRITICAL")); |
| 823 | elapsed_time = delta_time (tv); | 838 | elapsed_time = delta_time (tv); |
| 824 | asprintf (&msg, " - %s - %.3f second response time %s%s|time=%.3f\n", | 839 | asprintf (&msg, _(" - %s - %.3f second response time %s%s|time=%.3f\n"), |
| 825 | status_line, elapsed_time, timestamp, | 840 | status_line, elapsed_time, timestamp, |
| 826 | (display_html ? "</A>" : ""), elapsed_time); | 841 | (display_html ? "</A>" : ""), elapsed_time); |
| 827 | terminate (onredirect, msg); | 842 | terminate (onredirect, msg); |
| @@ -833,7 +848,7 @@ check_http (void) | |||
| 833 | 848 | ||
| 834 | /* check elapsed time */ | 849 | /* check elapsed time */ |
| 835 | elapsed_time = delta_time (tv); | 850 | elapsed_time = delta_time (tv); |
| 836 | asprintf (&msg, "HTTP problem: %s - %.3f second response time %s%s|time=%.3f\n", | 851 | asprintf (&msg, _("HTTP problem: %s - %.3f second response time %s%s|time=%.3f\n"), |
| 837 | status_line, elapsed_time, timestamp, | 852 | status_line, elapsed_time, timestamp, |
| 838 | (display_html ? "</A>" : ""), elapsed_time); | 853 | (display_html ? "</A>" : ""), elapsed_time); |
| 839 | if (check_critical_time == TRUE && elapsed_time > critical_time) | 854 | if (check_critical_time == TRUE && elapsed_time > critical_time) |
| @@ -846,13 +861,13 @@ check_http (void) | |||
| 846 | 861 | ||
| 847 | if (strlen (string_expect)) { | 862 | if (strlen (string_expect)) { |
| 848 | if (strstr (page, string_expect)) { | 863 | if (strstr (page, string_expect)) { |
| 849 | printf ("HTTP OK %s - %.3f second response time %s%s|time=%.3f\n", | 864 | printf (_("HTTP OK %s - %.3f second response time %s%s|time=%.3f\n"), |
| 850 | status_line, elapsed_time, | 865 | status_line, elapsed_time, |
| 851 | timestamp, (display_html ? "</A>" : ""), elapsed_time); | 866 | timestamp, (display_html ? "</A>" : ""), elapsed_time); |
| 852 | exit (STATE_OK); | 867 | exit (STATE_OK); |
| 853 | } | 868 | } |
| 854 | else { | 869 | else { |
| 855 | printf ("CRITICAL - string not found%s|time=%.3f\n", | 870 | printf (_("CRITICAL - string not found%s|time=%.3f\n"), |
| 856 | (display_html ? "</A>" : ""), elapsed_time); | 871 | (display_html ? "</A>" : ""), elapsed_time); |
| 857 | exit (STATE_CRITICAL); | 872 | exit (STATE_CRITICAL); |
| 858 | } | 873 | } |
| @@ -861,20 +876,20 @@ check_http (void) | |||
| 861 | if (strlen (regexp)) { | 876 | if (strlen (regexp)) { |
| 862 | errcode = regexec (&preg, page, REGS, pmatch, 0); | 877 | errcode = regexec (&preg, page, REGS, pmatch, 0); |
| 863 | if (errcode == 0) { | 878 | if (errcode == 0) { |
| 864 | printf ("HTTP OK %s - %.3f second response time %s%s|time=%.3f\n", | 879 | printf (_("HTTP OK %s - %.3f second response time %s%s|time=%.3f\n"), |
| 865 | status_line, elapsed_time, | 880 | status_line, elapsed_time, |
| 866 | timestamp, (display_html ? "</A>" : ""), elapsed_time); | 881 | timestamp, (display_html ? "</A>" : ""), elapsed_time); |
| 867 | exit (STATE_OK); | 882 | exit (STATE_OK); |
| 868 | } | 883 | } |
| 869 | else { | 884 | else { |
| 870 | if (errcode == REG_NOMATCH) { | 885 | if (errcode == REG_NOMATCH) { |
| 871 | printf ("CRITICAL - pattern not found%s|time=%.3f\n", | 886 | printf (_("CRITICAL - pattern not found%s|time=%.3f\n"), |
| 872 | (display_html ? "</A>" : ""), elapsed_time); | 887 | (display_html ? "</A>" : ""), elapsed_time); |
| 873 | exit (STATE_CRITICAL); | 888 | exit (STATE_CRITICAL); |
| 874 | } | 889 | } |
| 875 | else { | 890 | else { |
| 876 | regerror (errcode, &preg, errbuf, MAX_INPUT_BUFFER); | 891 | regerror (errcode, &preg, errbuf, MAX_INPUT_BUFFER); |
| 877 | printf ("CRITICAL - Execute Error: %s\n", errbuf); | 892 | printf (_("CRITICAL - Execute Error: %s\n"), errbuf); |
| 878 | exit (STATE_CRITICAL); | 893 | exit (STATE_CRITICAL); |
| 879 | } | 894 | } |
| 880 | } | 895 | } |
| @@ -884,12 +899,12 @@ check_http (void) | |||
| 884 | /* make sure the page is of an appropriate size */ | 899 | /* make sure the page is of an appropriate size */ |
| 885 | page_len = strlen (page); | 900 | page_len = strlen (page); |
| 886 | if ((min_page_len > 0) && (page_len < min_page_len)) { | 901 | if ((min_page_len > 0) && (page_len < min_page_len)) { |
| 887 | printf ("HTTP WARNING: page size too small%s|size=%i\n", | 902 | printf (_("HTTP WARNING: page size too small%s|size=%i\n"), |
| 888 | (display_html ? "</A>" : ""), page_len ); | 903 | (display_html ? "</A>" : ""), page_len ); |
| 889 | exit (STATE_WARNING); | 904 | exit (STATE_WARNING); |
| 890 | } | 905 | } |
| 891 | /* We only get here if all tests have been passed */ | 906 | /* We only get here if all tests have been passed */ |
| 892 | asprintf (&msg, "HTTP OK %s - %.3f second response time %s%s|time=%.3f\n", | 907 | asprintf (&msg, _("HTTP OK %s - %.3f second response time %s%s|time=%.3f\n"), |
| 893 | status_line, (float)elapsed_time, | 908 | status_line, (float)elapsed_time, |
| 894 | timestamp, (display_html ? "</A>" : ""), elapsed_time); | 909 | timestamp, (display_html ? "</A>" : ""), elapsed_time); |
| 895 | terminate (STATE_OK, msg); | 910 | terminate (STATE_OK, msg); |
| @@ -906,14 +921,14 @@ int connect_SSL (void) | |||
| 906 | asprintf (&randbuff, "%s", "qwertyuiopasdfghjklqwertyuiopasdfghjkl"); | 921 | asprintf (&randbuff, "%s", "qwertyuiopasdfghjklqwertyuiopasdfghjkl"); |
| 907 | RAND_seed (randbuff, strlen (randbuff)); | 922 | RAND_seed (randbuff, strlen (randbuff)); |
| 908 | if (verbose) | 923 | if (verbose) |
| 909 | printf("SSL seeding: %s\n", (RAND_status()==1 ? "OK" : "Failed") ); | 924 | printf(_("SSL seeding: %s\n"), (RAND_status()==1 ? _("OK") : _("Failed")) ); |
| 910 | 925 | ||
| 911 | /* Initialize SSL context */ | 926 | /* Initialize SSL context */ |
| 912 | SSLeay_add_ssl_algorithms (); | 927 | SSLeay_add_ssl_algorithms (); |
| 913 | meth = SSLv23_client_method (); | 928 | meth = SSLv23_client_method (); |
| 914 | SSL_load_error_strings (); | 929 | SSL_load_error_strings (); |
| 915 | if ((ctx = SSL_CTX_new (meth)) == NULL) { | 930 | if ((ctx = SSL_CTX_new (meth)) == NULL) { |
| 916 | printf ("CRITICAL - Cannot create SSL context.\n"); | 931 | printf (_("CRITICAL - Cannot create SSL context.\n")); |
| 917 | return STATE_CRITICAL; | 932 | return STATE_CRITICAL; |
| 918 | } | 933 | } |
| 919 | 934 | ||
| @@ -937,7 +952,7 @@ int connect_SSL (void) | |||
| 937 | ERR_print_errors_fp (stderr); | 952 | ERR_print_errors_fp (stderr); |
| 938 | } | 953 | } |
| 939 | else { | 954 | else { |
| 940 | printf ("CRITICAL - Cannot initiate SSL handshake.\n"); | 955 | printf (_("CRITICAL - Cannot initiate SSL handshake.\n")); |
| 941 | } | 956 | } |
| 942 | SSL_free (ssl); | 957 | SSL_free (ssl); |
| 943 | } | 958 | } |
| @@ -965,7 +980,7 @@ check_certificate (X509 ** certificate) | |||
| 965 | /* Generate tm structure to process timestamp */ | 980 | /* Generate tm structure to process timestamp */ |
| 966 | if (tm->type == V_ASN1_UTCTIME) { | 981 | if (tm->type == V_ASN1_UTCTIME) { |
| 967 | if (tm->length < 10) { | 982 | if (tm->length < 10) { |
| 968 | printf ("CRITICAL - Wrong time format in certificate.\n"); | 983 | printf (_("CRITICAL - Wrong time format in certificate.\n")); |
| 969 | return STATE_CRITICAL; | 984 | return STATE_CRITICAL; |
| 970 | } | 985 | } |
| 971 | else { | 986 | else { |
| @@ -977,7 +992,7 @@ check_certificate (X509 ** certificate) | |||
| 977 | } | 992 | } |
| 978 | else { | 993 | else { |
| 979 | if (tm->length < 12) { | 994 | if (tm->length < 12) { |
| 980 | printf ("CRITICAL - Wrong time format in certificate.\n"); | 995 | printf (_("CRITICAL - Wrong time format in certificate.\n")); |
| 981 | return STATE_CRITICAL; | 996 | return STATE_CRITICAL; |
| 982 | } | 997 | } |
| 983 | else { | 998 | else { |
| @@ -1006,20 +1021,20 @@ check_certificate (X509 ** certificate) | |||
| 1006 | stamp.tm_mday, stamp.tm_year + 1900, stamp.tm_hour, stamp.tm_min); | 1021 | stamp.tm_mday, stamp.tm_year + 1900, stamp.tm_hour, stamp.tm_min); |
| 1007 | 1022 | ||
| 1008 | if (days_left > 0 && days_left <= days_till_exp) { | 1023 | if (days_left > 0 && days_left <= days_till_exp) { |
| 1009 | printf ("WARNING - Certificate expires in %d day(s) (%s).\n", days_left, timestamp); | 1024 | printf (_("WARNING - Certificate expires in %d day(s) (%s).\n"), days_left, timestamp); |
| 1010 | return STATE_WARNING; | 1025 | return STATE_WARNING; |
| 1011 | } | 1026 | } |
| 1012 | if (days_left < 0) { | 1027 | if (days_left < 0) { |
| 1013 | printf ("CRITICAL - Certificate expired on %s.\n", timestamp); | 1028 | printf (_("CRITICAL - Certificate expired on %s.\n"), timestamp); |
| 1014 | return STATE_CRITICAL; | 1029 | return STATE_CRITICAL; |
| 1015 | } | 1030 | } |
| 1016 | 1031 | ||
| 1017 | if (days_left == 0) { | 1032 | if (days_left == 0) { |
| 1018 | printf ("WARNING - Certificate expires today (%s).\n", timestamp); | 1033 | printf (_("WARNING - Certificate expires today (%s).\n"), timestamp); |
| 1019 | return STATE_WARNING; | 1034 | return STATE_WARNING; |
| 1020 | } | 1035 | } |
| 1021 | 1036 | ||
| 1022 | printf ("OK - Certificate will expire on %s.\n", timestamp); | 1037 | printf (_("OK - Certificate will expire on %s.\n"), timestamp); |
| 1023 | 1038 | ||
| 1024 | return STATE_OK; | 1039 | return STATE_OK; |
| 1025 | } | 1040 | } |
| @@ -1062,33 +1077,3 @@ my_close (void) | |||
| 1062 | } | 1077 | } |
| 1063 | #endif | 1078 | #endif |
| 1064 | } | 1079 | } |
| 1065 | |||
| 1066 | |||
| 1067 | |||
| 1068 | void | ||
| 1069 | print_help (void) | ||
| 1070 | { | ||
| 1071 | print_revision (progname, REVISION); | ||
| 1072 | printf | ||
| 1073 | ("Copyright (c) %s %s <%s>\n\n%s\n", | ||
| 1074 | COPYRIGHT, AUTHORS, EMAIL, SUMMARY); | ||
| 1075 | print_usage (); | ||
| 1076 | printf ("NOTE: One or both of -H and -I must be specified\n"); | ||
| 1077 | printf ("\nOptions:\n" LONGOPTIONS "\n", HTTP_EXPECT, HTTP_PORT, | ||
| 1078 | DEFAULT_SOCKET_TIMEOUT, SSLOPTIONS, REGOPTIONS); | ||
| 1079 | #ifdef HAVE_SSL | ||
| 1080 | printf (SSLDESCRIPTION); | ||
| 1081 | #endif | ||
| 1082 | } | ||
| 1083 | |||
| 1084 | |||
| 1085 | void | ||
| 1086 | print_usage (void) | ||
| 1087 | { | ||
| 1088 | printf ("\ | ||
| 1089 | Usage:\n\ | ||
| 1090 | %s %s\n\ | ||
| 1091 | %s (-h | --help) for detailed help\n\ | ||
| 1092 | %s (-V | --version) for version information\n", | ||
| 1093 | progname, OPTIONS, progname, progname); | ||
| 1094 | } | ||
