diff options
| -rw-r--r-- | plugins/check_curl.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c index 3d368c16..20ac5b71 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c | |||
| @@ -332,15 +332,15 @@ check_http (void) | |||
| 332 | /* no-body */ | 332 | /* no-body */ |
| 333 | if (no_body) | 333 | if (no_body) |
| 334 | curl_easy_setopt (curl, CURLOPT_NOBODY, 1); | 334 | curl_easy_setopt (curl, CURLOPT_NOBODY, 1); |
| 335 | 335 | ||
| 336 | /* IPv4 or IPv6 forced DNS resolution */ | 336 | /* IPv4 or IPv6 forced DNS resolution */ |
| 337 | if (address_family == AF_UNSPEC) | 337 | if (address_family == AF_UNSPEC) |
| 338 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER); | 338 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER); |
| 339 | else if (address_family == AF_INET) | 339 | else if (address_family == AF_INET) |
| 340 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); | 340 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); |
| 341 | else if (address_family == AF_INET6) | 341 | else if (address_family == AF_INET6) |
| 342 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); | 342 | curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); |
| 343 | 343 | ||
| 344 | /* do the request */ | 344 | /* do the request */ |
| 345 | res = curl_easy_perform(curl); | 345 | res = curl_easy_perform(curl); |
| 346 | 346 | ||
| @@ -466,9 +466,9 @@ check_http (void) | |||
| 466 | } | 466 | } |
| 467 | else if ((errcode == REG_NOMATCH && invert_regex == 0) || (errcode == 0 && invert_regex == 1)) { | 467 | else if ((errcode == REG_NOMATCH && invert_regex == 0) || (errcode == 0 && invert_regex == 1)) { |
| 468 | if (invert_regex == 0) | 468 | if (invert_regex == 0) |
| 469 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("%spattern not found"), msg); | 469 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("%spattern not found, "), msg); |
| 470 | else | 470 | else |
| 471 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("%spattern found"), msg); | 471 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("%spattern found, "), msg); |
| 472 | result = STATE_CRITICAL; | 472 | result = STATE_CRITICAL; |
| 473 | } | 473 | } |
| 474 | else { | 474 | else { |
| @@ -495,11 +495,18 @@ check_http (void) | |||
| 495 | /* -w, -c: check warning and critical level */ | 495 | /* -w, -c: check warning and critical level */ |
| 496 | result = max_state_alt(get_status(total_time, thlds), result); | 496 | result = max_state_alt(get_status(total_time, thlds), result); |
| 497 | 497 | ||
| 498 | /* Cut-off trailing characters */ | ||
| 499 | if(msg[strlen(msg)-2] == ',') | ||
| 500 | msg[strlen(msg)-2] = '\0'; | ||
| 501 | else | ||
| 502 | msg[strlen(msg)-3] = '\0'; | ||
| 503 | |||
| 498 | /* TODO: separate _() msg and status code: die (result, "HTTP %s: %s\n", state_text(result), msg); */ | 504 | /* TODO: separate _() msg and status code: die (result, "HTTP %s: %s\n", state_text(result), msg); */ |
| 499 | die (result, "HTTP %s HTTP/%d.%d %d %s - %s - %.3g seconds response time|%s\n", | 505 | die (result, "HTTP %s: HTTP/%d.%d %d %s%s%s - %d bytes in %.3f second response time |%s\n", |
| 500 | state_text(result), status_line.http_major, status_line.http_minor, | 506 | state_text(result), status_line.http_major, status_line.http_minor, |
| 501 | status_line.http_code, status_line.msg, msg, | 507 | status_line.http_code, status_line.msg, |
| 502 | total_time, perfstring); | 508 | strlen(msg) > 0 ? " - " : "", |
| 509 | msg, page_len, total_time, perfstring); | ||
| 503 | 510 | ||
| 504 | /* proper cleanup after die? */ | 511 | /* proper cleanup after die? */ |
| 505 | curlhelp_free_statusline(&status_line); | 512 | curlhelp_free_statusline(&status_line); |
