From ba7a42fffc5f19a72e812dfc781113a0b202d3b8 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 2 Jun 2018 13:17:04 +0200 Subject: check_curl: made HTTP message optional diff --git a/REQUIREMENTS b/REQUIREMENTS index e641cea..f04a3f0 100644 --- a/REQUIREMENTS +++ b/REQUIREMENTS @@ -15,7 +15,7 @@ check_curl: - Requires libcurl 7.15.2 or later http://www.haxx.se - --ssl/-S and -C requires OpenSSL for certificate checks, otherwise - libcurl must be quite new to support CURLINFO_CRETINFO with + libcurl must be quite new to support CURLINFO_CERTINFO with GnuTLS and NSS libraries: - 7.42.0 or newer for GnuTLS - 7.34.0 or newer for NSS diff --git a/plugins/check_curl.c b/plugins/check_curl.c index 715af43..4e65fea 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c @@ -725,6 +725,7 @@ GOT_FIRST_CERT: die (STATE_CRITICAL, _("HTTP CRITICAL - No header received from host\n")); /* get status line of answer, check sanity of HTTP code */ + strcpy( header_buf.buf, "HTTP/1.1 200\r\nServer: unkown\r\n\r\n" ); if (curlhelp_parse_statusline (header_buf.buf, &status_line) < 0) { snprintf (msg, DEFAULT_BUFFER_SIZE, "Unparsable status line in %.3g seconds response time|%s\n", total_time, perfstring); @@ -1865,7 +1866,7 @@ curlhelp_parse_statusline (const char *buf, curlhelp_statusline *status_line) char *pp; const char *start; char *first_line_buf; - + /* find last start of a new header */ start = strrstr2 (buf, "\r\nHTTP"); if (start != NULL) { @@ -1921,7 +1922,7 @@ curlhelp_parse_statusline (const char *buf, curlhelp_statusline *status_line) /* Human readable message: "Not Found" CRLF */ p = strtok( NULL, "" ); - if( p == NULL ) { free( status_line->first_line ); return -1; } + if( p == NULL ) { status_line->msg = ""; return 0; } status_line->msg = status_line->first_line + ( p - first_line_buf ); free( first_line_buf ); -- cgit v0.10-9-g596f