summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_ldap.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/plugins/check_ldap.c b/plugins/check_ldap.c
index fc1d3c6c..a0b739cc 100644
--- a/plugins/check_ldap.c
+++ b/plugins/check_ldap.c
@@ -72,6 +72,7 @@ double crit_time = UNDEFINED;
72struct timeval tv; 72struct timeval tv;
73int starttls = FALSE; 73int starttls = FALSE;
74int ssl_on_connect = FALSE; 74int ssl_on_connect = FALSE;
75int verbose = 0;
75 76
76/* for ldap tls */ 77/* for ldap tls */
77 78
@@ -126,7 +127,8 @@ main (int argc, char *argv[])
126 } 127 }
127#else 128#else
128 if (!(ld = ldap_open (ld_host, ld_port))) { 129 if (!(ld = ldap_open (ld_host, ld_port))) {
129 /*ldap_perror(ld, "ldap_open"); */ 130 if (verbose)
131 ldap_perror(ld, "ldap_open");
130 printf (_("Could not connect to the server at port %i\n"), ld_port); 132 printf (_("Could not connect to the server at port %i\n"), ld_port);
131 return STATE_CRITICAL; 133 return STATE_CRITICAL;
132 } 134 }
@@ -149,7 +151,8 @@ main (int argc, char *argv[])
149 151
150 if (ldap_set_option (ld, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS) 152 if (ldap_set_option (ld, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS)
151 { 153 {
152 /*ldap_perror(ld, "ldaps_option"); */ 154 if (verbose)
155 ldap_perror(ld, "ldaps_option");
153 printf (_("Could not init TLS at port %i!\n"), ld_port); 156 printf (_("Could not init TLS at port %i!\n"), ld_port);
154 return STATE_CRITICAL; 157 return STATE_CRITICAL;
155 } 158 }
@@ -172,7 +175,8 @@ main (int argc, char *argv[])
172 /* call start_tls */ 175 /* call start_tls */
173 if (ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS) 176 if (ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS)
174 { 177 {
175 /*ldap_perror(ld, "ldap_start_tls"); */ 178 if (verbose)
179 ldap_perror(ld, "ldap_start_tls");
176 printf (_("Could not init startTLS at port %i!\n"), ld_port); 180 printf (_("Could not init startTLS at port %i!\n"), ld_port);
177 return STATE_CRITICAL; 181 return STATE_CRITICAL;
178 } 182 }
@@ -185,7 +189,8 @@ main (int argc, char *argv[])
185 /* bind to the ldap server */ 189 /* bind to the ldap server */
186 if (ldap_bind_s (ld, ld_binddn, ld_passwd, LDAP_AUTH_SIMPLE) != 190 if (ldap_bind_s (ld, ld_binddn, ld_passwd, LDAP_AUTH_SIMPLE) !=
187 LDAP_SUCCESS) { 191 LDAP_SUCCESS) {
188 /*ldap_perror(ld, "ldap_bind"); */ 192 if (verbose)
193 ldap_perror(ld, "ldap_bind");
189 printf (_("Could not bind to the ldap-server\n")); 194 printf (_("Could not bind to the ldap-server\n"));
190 return STATE_CRITICAL; 195 return STATE_CRITICAL;
191 } 196 }
@@ -193,7 +198,8 @@ main (int argc, char *argv[])
193 /* do a search of all objectclasses in the base dn */ 198 /* do a search of all objectclasses in the base dn */
194 if (ldap_search_s (ld, ld_base, LDAP_SCOPE_BASE, ld_attr, NULL, 0, &result) 199 if (ldap_search_s (ld, ld_base, LDAP_SCOPE_BASE, ld_attr, NULL, 0, &result)
195 != LDAP_SUCCESS) { 200 != LDAP_SUCCESS) {
196 /*ldap_perror(ld, "ldap_search"); */ 201 if (verbose)
202 ldap_perror(ld, "ldap_search");
197 printf (_("Could not search/find objectclasses in %s\n"), ld_base); 203 printf (_("Could not search/find objectclasses in %s\n"), ld_base);
198 return STATE_CRITICAL; 204 return STATE_CRITICAL;
199 } 205 }
@@ -256,6 +262,7 @@ process_arguments (int argc, char **argv)
256 {"port", required_argument, 0, 'p'}, 262 {"port", required_argument, 0, 'p'},
257 {"warn", required_argument, 0, 'w'}, 263 {"warn", required_argument, 0, 'w'},
258 {"crit", required_argument, 0, 'c'}, 264 {"crit", required_argument, 0, 'c'},
265 {"verbose", no_argument, 0, 'v'},
259 {0, 0, 0, 0} 266 {0, 0, 0, 0}
260 }; 267 };
261 268
@@ -268,7 +275,7 @@ process_arguments (int argc, char **argv)
268 } 275 }
269 276
270 while (1) { 277 while (1) {
271 c = getopt_long (argc, argv, "hV234TS6t:c:w:H:b:p:a:D:P:", longopts, &option); 278 c = getopt_long (argc, argv, "hvV234TS6t:c:w:H:b:p:a:D:P:", longopts, &option);
272 279
273 if (c == -1 || c == EOF) 280 if (c == -1 || c == EOF)
274 break; 281 break;
@@ -321,6 +328,9 @@ process_arguments (int argc, char **argv)
321 case '4': 328 case '4':
322 address_family = AF_INET; 329 address_family = AF_INET;
323 break; 330 break;
331 case 'v':
332 verbose++;
333 break;
324 case 'T': 334 case 'T':
325 if (! ssl_on_connect) 335 if (! ssl_on_connect)
326 starttls = TRUE; 336 starttls = TRUE;