diff --git a/plugins/check_http.c b/plugins/check_http.c
index 506a1ec720ff18b88baf7ddeb265a595e8e84f0c..daddfc1993212ffa173c206fa92875c649df598a 100644 (file)
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
char *x = NULL;
char *orig_url = NULL;
double elapsed_time;
+#ifdef HAVE_SSL
+ int sslerr;
+#endif
/* try to connect to the host at the given port number */
#ifdef HAVE_SSL
pagesize += i;
}
- if (i < 0)
+ if (i < 0) {
+#ifdef HAVE_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
terminate (STATE_CRITICAL, "Error in recv()");
+#endif
+ }
/* return a CRITICAL status if we couldn't read any data */
if (pagesize == (size_t) 0)