diff options
Diffstat (limited to 'plugins/check_http.c')
| -rw-r--r-- | plugins/check_http.c | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index 98005d02..748ca46e 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
| @@ -14,6 +14,8 @@ | |||
| 14 | along with this program; if not, write to the Free Software | 14 | along with this program; if not, write to the Free Software |
| 15 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 15 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 16 | 16 | ||
| 17 | $Id$ | ||
| 18 | |||
| 17 | ******************************************************************************/ | 19 | ******************************************************************************/ |
| 18 | /* splint -I. -I../../plugins -I../../lib/ -I/usr/kerberos/include/ ../../plugins/check_http.c */ | 20 | /* splint -I. -I../../plugins -I../../lib/ -I/usr/kerberos/include/ ../../plugins/check_http.c */ |
| 19 | 21 | ||
| @@ -188,7 +190,7 @@ main (int argc, char **argv) | |||
| 188 | #endif | 190 | #endif |
| 189 | return result; | 191 | return result; |
| 190 | } | 192 | } |
| 191 | 193 | ||
| 192 | 194 | ||
| 193 | 195 | ||
| 194 | /* process command-line arguments */ | 196 | /* process command-line arguments */ |
| @@ -249,7 +251,9 @@ process_arguments (int argc, char **argv) | |||
| 249 | 251 | ||
| 250 | switch (c) { | 252 | switch (c) { |
| 251 | case '?': /* usage */ | 253 | case '?': /* usage */ |
| 252 | usage3 (_("unknown argument"), optopt); | 254 | printf (_("%s: Unknown argument: %s\n\n"), progname, optarg); |
| 255 | print_usage (); | ||
| 256 | exit (STATE_UNKNOWN); | ||
| 253 | break; | 257 | break; |
| 254 | case 'h': /* help */ | 258 | case 'h': /* help */ |
| 255 | print_help (); | 259 | print_help (); |
| @@ -267,7 +271,7 @@ process_arguments (int argc, char **argv) | |||
| 267 | break; | 271 | break; |
| 268 | case 'c': /* critical time threshold */ | 272 | case 'c': /* critical time threshold */ |
| 269 | if (!is_nonnegative (optarg)) | 273 | if (!is_nonnegative (optarg)) |
| 270 | usage2 (_("invalid critical threshold"), optarg); | 274 | usage2 (_("Critical threshold must be integer"), optarg); |
| 271 | else { | 275 | else { |
| 272 | critical_time = strtod (optarg, NULL); | 276 | critical_time = strtod (optarg, NULL); |
| 273 | check_critical_time = TRUE; | 277 | check_critical_time = TRUE; |
| @@ -275,7 +279,7 @@ process_arguments (int argc, char **argv) | |||
| 275 | break; | 279 | break; |
| 276 | case 'w': /* warning time threshold */ | 280 | case 'w': /* warning time threshold */ |
| 277 | if (!is_nonnegative (optarg)) | 281 | if (!is_nonnegative (optarg)) |
| 278 | usage2 (_("invalid warning threshold"), optarg); | 282 | usage2 (_("Warning threshold must be integer"), optarg); |
| 279 | else { | 283 | else { |
| 280 | warning_time = strtod (optarg, NULL); | 284 | warning_time = strtod (optarg, NULL); |
| 281 | check_warning_time = TRUE; | 285 | check_warning_time = TRUE; |
| @@ -304,13 +308,13 @@ process_arguments (int argc, char **argv) | |||
| 304 | case 'C': /* Check SSL cert validity */ | 308 | case 'C': /* Check SSL cert validity */ |
| 305 | #ifdef HAVE_SSL | 309 | #ifdef HAVE_SSL |
| 306 | if (!is_intnonneg (optarg)) | 310 | if (!is_intnonneg (optarg)) |
| 307 | usage2 (_("invalid certificate expiration period"), optarg); | 311 | usage2 (_("Invalid certificate expiration period"), optarg); |
| 308 | else { | 312 | else { |
| 309 | days_till_exp = atoi (optarg); | 313 | days_till_exp = atoi (optarg); |
| 310 | check_cert = TRUE; | 314 | check_cert = TRUE; |
| 311 | } | 315 | } |
| 312 | #else | 316 | #else |
| 313 | usage (_("check_http: invalid option - SSL is not available\n")); | 317 | usage (_("Invalid option - SSL is not available\n")); |
| 314 | #endif | 318 | #endif |
| 315 | break; | 319 | break; |
| 316 | case 'f': /* onredirect */ | 320 | case 'f': /* onredirect */ |
| @@ -455,7 +459,7 @@ process_arguments (int argc, char **argv) | |||
| 455 | 459 | ||
| 456 | return TRUE; | 460 | return TRUE; |
| 457 | } | 461 | } |
| 458 | 462 | ||
| 459 | 463 | ||
| 460 | 464 | ||
| 461 | /* written by lauri alanko */ | 465 | /* written by lauri alanko */ |
| @@ -498,8 +502,6 @@ base64 (const char *bin, size_t len) | |||
| 498 | buf[i] = '\0'; | 502 | buf[i] = '\0'; |
| 499 | return buf; | 503 | return buf; |
| 500 | } | 504 | } |
| 501 | |||
| 502 | |||
| 503 | 505 | ||
| 504 | 506 | ||
| 505 | 507 | ||
| @@ -613,6 +615,7 @@ parse_time_string (const char *string) | |||
| 613 | } | 615 | } |
| 614 | 616 | ||
| 615 | 617 | ||
| 618 | |||
| 616 | static void | 619 | static void |
| 617 | check_document_dates (const char *headers) | 620 | check_document_dates (const char *headers) |
| 618 | { | 621 | { |
| @@ -818,12 +821,12 @@ check_http (void) | |||
| 818 | if ( sslerr == SSL_ERROR_SSL ) { | 821 | if ( sslerr == SSL_ERROR_SSL ) { |
| 819 | die (STATE_WARNING, _("Client Certificate Required\n")); | 822 | die (STATE_WARNING, _("Client Certificate Required\n")); |
| 820 | } else { | 823 | } else { |
| 821 | die (STATE_CRITICAL, _("Error in recv()\n")); | 824 | die (STATE_CRITICAL, _("Error on receive\n")); |
| 822 | } | 825 | } |
| 823 | } | 826 | } |
| 824 | else { | 827 | else { |
| 825 | #endif | 828 | #endif |
| 826 | die (STATE_CRITICAL, _("Error in recv()\n")); | 829 | die (STATE_CRITICAL, _("Error on receive\n")); |
| 827 | #ifdef HAVE_SSL | 830 | #ifdef HAVE_SSL |
| 828 | } | 831 | } |
| 829 | #endif | 832 | #endif |
| @@ -950,7 +953,7 @@ check_http (void) | |||
| 950 | microsec = deltime (tv); | 953 | microsec = deltime (tv); |
| 951 | elapsed_time = (double)microsec / 1.0e6; | 954 | elapsed_time = (double)microsec / 1.0e6; |
| 952 | asprintf (&msg, | 955 | asprintf (&msg, |
| 953 | _("HTTP problem: %s - %.3f second response time %s%s|%s %s\n"), | 956 | _("HTTP WARNING: %s - %.3f second response time %s%s|%s %s\n"), |
| 954 | status_line, elapsed_time, timestamp, | 957 | status_line, elapsed_time, timestamp, |
| 955 | (display_html ? "</A>" : ""), | 958 | (display_html ? "</A>" : ""), |
| 956 | perfd_time (elapsed_time), perfd_size (pagesize)); | 959 | perfd_time (elapsed_time), perfd_size (pagesize)); |
| @@ -1021,7 +1024,6 @@ check_http (void) | |||
| 1021 | 1024 | ||
| 1022 | 1025 | ||
| 1023 | 1026 | ||
| 1024 | |||
| 1025 | /* per RFC 2396 */ | 1027 | /* per RFC 2396 */ |
| 1026 | #define HDR_LOCATION "%*[Ll]%*[Oo]%*[Cc]%*[Aa]%*[Tt]%*[Ii]%*[Oo]%*[Nn]: " | 1028 | #define HDR_LOCATION "%*[Ll]%*[Oo]%*[Cc]%*[Aa]%*[Tt]%*[Ii]%*[Oo]%*[Nn]: " |
| 1027 | #define URI_HTTP "%[HTPShtps]://" | 1029 | #define URI_HTTP "%[HTPShtps]://" |
| @@ -1223,6 +1225,8 @@ int connect_SSL (void) | |||
| 1223 | } | 1225 | } |
| 1224 | #endif | 1226 | #endif |
| 1225 | 1227 | ||
| 1228 | |||
| 1229 | |||
| 1226 | #ifdef HAVE_SSL | 1230 | #ifdef HAVE_SSL |
| 1227 | int | 1231 | int |
| 1228 | check_certificate (X509 ** certificate) | 1232 | check_certificate (X509 ** certificate) |
| @@ -1298,7 +1302,7 @@ check_certificate (X509 ** certificate) | |||
| 1298 | return STATE_OK; | 1302 | return STATE_OK; |
| 1299 | } | 1303 | } |
| 1300 | #endif | 1304 | #endif |
| 1301 | 1305 | ||
| 1302 | 1306 | ||
| 1303 | 1307 | ||
| 1304 | char *perfd_time (double elapsed_time) | 1308 | char *perfd_time (double elapsed_time) |
| @@ -1310,6 +1314,7 @@ char *perfd_time (double elapsed_time) | |||
| 1310 | } | 1314 | } |
| 1311 | 1315 | ||
| 1312 | 1316 | ||
| 1317 | |||
| 1313 | char *perfd_size (int page_len) | 1318 | char *perfd_size (int page_len) |
| 1314 | { | 1319 | { |
| 1315 | return perfdata ("size", page_len, "B", | 1320 | return perfdata ("size", page_len, "B", |
| @@ -1319,6 +1324,7 @@ char *perfd_size (int page_len) | |||
| 1319 | } | 1324 | } |
| 1320 | 1325 | ||
| 1321 | 1326 | ||
| 1327 | |||
| 1322 | int | 1328 | int |
| 1323 | my_recv (void) | 1329 | my_recv (void) |
| 1324 | { | 1330 | { |
| @@ -1337,6 +1343,7 @@ my_recv (void) | |||
| 1337 | } | 1343 | } |
| 1338 | 1344 | ||
| 1339 | 1345 | ||
| 1346 | |||
| 1340 | int | 1347 | int |
| 1341 | my_close (void) | 1348 | my_close (void) |
| 1342 | { | 1349 | { |
| @@ -1357,9 +1364,6 @@ my_close (void) | |||
| 1357 | 1364 | ||
| 1358 | 1365 | ||
| 1359 | 1366 | ||
| 1360 | |||
| 1361 | |||
| 1362 | |||
| 1363 | void | 1367 | void |
| 1364 | print_help (void) | 1368 | print_help (void) |
| 1365 | { | 1369 | { |
| @@ -1483,7 +1487,6 @@ the certificate is expired.\n")); | |||
| 1483 | 1487 | ||
| 1484 | 1488 | ||
| 1485 | 1489 | ||
| 1486 | |||
| 1487 | void | 1490 | void |
| 1488 | print_usage (void) | 1491 | print_usage (void) |
| 1489 | { | 1492 | { |
