diff options
Diffstat (limited to 'web/attachments/31133-check_http.diff')
| -rw-r--r-- | web/attachments/31133-check_http.diff | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/web/attachments/31133-check_http.diff b/web/attachments/31133-check_http.diff new file mode 100644 index 0000000..1e80479 --- /dev/null +++ b/web/attachments/31133-check_http.diff | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | --- check_http.c Thu Feb 28 07:42:57 2002 | ||
| 2 | +++ /root/check_http.c Sat Sep 14 22:51:21 2002 | ||
| 3 | @@ -529,6 +529,9 @@ | ||
| 4 | size_t pagesize = 0; | ||
| 5 | char *full_page = NULL; | ||
| 6 | char *pos = NULL; | ||
| 7 | +#ifdef HAVE_SSL | ||
| 8 | + int sslerr; | ||
| 9 | +#endif | ||
| 10 | |||
| 11 | /* try to connect to the host at the given port number */ | ||
| 12 | #ifdef HAVE_SSL | ||
| 13 | @@ -660,8 +663,18 @@ | ||
| 14 | pagesize += i; | ||
| 15 | } | ||
| 16 | |||
| 17 | - if (i < 0) | ||
| 18 | + if (i < 0) { | ||
| 19 | +#ifdef HAVE_SSL | ||
| 20 | + sslerr=SSL_get_error(ssl, i); | ||
| 21 | + if ( sslerr == SSL_ERROR_SSL ) { | ||
| 22 | + terminate (STATE_WARNING, "Client Certificate Required\n"); | ||
| 23 | + } else { | ||
| 24 | + terminate (STATE_CRITICAL, "Error in recv()"); | ||
| 25 | + } | ||
| 26 | +#else | ||
| 27 | terminate (STATE_CRITICAL, "Error in recv()"); | ||
| 28 | +#endif | ||
| 29 | + } | ||
| 30 | |||
| 31 | /* return a CRITICAL status if we couldn't read any data */ | ||
| 32 | if (pagesize == (size_t) 0) | ||
