[MEDIUM] implement 'option ssl-hello-chk' to use CLIENT HELLO health checks.

This makes it possible to relay SSL connections in pure TCP instances while
ensuring the remote end really receives our data eventhough intermediate
agents (firewalls, proxies, ...) might acknowledge the connection.
diff --git a/include/types/backend.h b/include/types/backend.h
index 9fa179f..a6a393a 100644
--- a/include/types/backend.h
+++ b/include/types/backend.h
@@ -51,6 +51,7 @@
 #define PR_O_BALANCE_SH 0x00400000      /* balance on source IP hash */
 #define PR_O_BALANCE    (PR_O_BALANCE_RR | PR_O_BALANCE_SH)
 #define PR_O_ABRT_CLOSE 0x00800000      /* immediately abort request when client closes */
+#define PR_O_SSL3_CHK   0x01000000      /* use SSLv3 CLIENT_HELLO packets for server health */
 
 #endif /* _TYPES_BACKEND_H */
 
diff --git a/include/types/proxy.h b/include/types/proxy.h
index 306c31d..50c16ec 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -114,8 +114,8 @@
 	void *req_cap_pool, *rsp_cap_pool;	/* pools of pre-allocated char ** used to build the sessions */
 	char *req_add[MAX_NEWHDR], *rsp_add[MAX_NEWHDR]; /* headers to be added */
 	int grace;				/* grace time after stop request */
-	char *check_req;			/* HTTP request to use if PR_O_HTTP_CHK is set, else NULL */
-	int check_len;			/* Length of the HTTP request */
+	char *check_req;			/* HTTP or SSL request to use for PR_O_HTTP_CHK|PR_O_SSL3_CHK */
+	int check_len;				/* Length of the HTTP or SSL3 request */
 	struct {
 		char *msg400;			/* message for error 400 */
 		int len400;			/* message length for error 400 */