diff --git a/plugins/check_http.c b/plugins/check_http.c
index e22560e2213a549fe30e297fa3489445b33ae76a..91cc48cda6470a390f8995ffdefdc25b4c9304fb 100644 (file)
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
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
}