diff options
-rw-r--r-- | plugins/check_http.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index e22560e2..91cc48cd 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c @@ -630,16 +630,21 @@ check_http (void) pagesize += i; } - if (i < 0) { + if (i < 0 && errno != ECONNRESET) { #ifdef HAVE_SSL - sslerr=SSL_get_error(ssl, i); - if ( sslerr == SSL_ERROR_SSL ) { - terminate (STATE_WARNING, "Client Certificate Required\n"); - } else { + if (use_ssl) { + sslerr=SSL_get_error(ssl, i); + if ( sslerr == SSL_ERROR_SSL ) { + terminate (STATE_WARNING, "Client Certificate Required\n"); + } else { + terminate (STATE_CRITICAL, "Error in recv()"); + } + } + else { +#endif terminate (STATE_CRITICAL, "Error in recv()"); +#ifdef HAVE_SSL } -#else - terminate (STATE_CRITICAL, "Error in recv()"); #endif } |