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) | ||