aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joseph Gooch <mrwizard@k12system.com> 2013-12-20 07:46:20 -0500
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2013-12-20 17:30:14 +0100
commitcadf0d7ba866e004b409d165f4ac2391fe8b6b7c (patch)
tree8da5b1f9a5d00c8b340e970133e93afa55fcf875
parentaaee2c06329a9afac9f5e9d626957fe258615fa8 (diff)
downloadmonitoring-plugins-cadf0d7ba866e004b409d165f4ac2391fe8b6b7c.tar.gz
Fix for SSL Versioning when multiple options are used.
If you specify -S1 -C 30... The -C option will reset the ssl_version to 0. This is not a good thing. Instead we set the default to 0 and retain the version when later args are passed.
-rw-r--r--plugins/check_http.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 1595a59e..4eba4b68 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -57,7 +57,7 @@ enum {
#ifdef HAVE_SSL
int check_cert = FALSE;
-int ssl_version;
+int ssl_version = 0;
int days_till_exp_warn, days_till_exp_crit;
char *randbuff;
X509 *server_cert;
@@ -339,10 +339,10 @@ process_arguments (int argc, char **argv)
case 'S': /* use SSL */
#ifdef HAVE_SSL
enable_ssl:
+ /* ssl_version initialized to 0 as a default. Only set if it's non-zero. This helps when we include multiple
+ parameters, like -S and -C combinations */
use_ssl = TRUE;
- if (optarg == NULL || c != 'S')
- ssl_version = 0;
- else {
+ if (c=='S' && optarg != NULL) {
ssl_version = atoi(optarg);
if (ssl_version < 1 || ssl_version > 3)
usage4 (_("Invalid option - Valid values for SSL Version are 1 (TLSv1), 2 (SSLv2) or 3 (SSLv3)"));