diff --git a/plugins/check_ldap.c b/plugins/check_ldap.c
index 74ca3b0ce3ac35e12a4366d251f04da4dc20dfa0..b933ff280666b17f55515dc877ec232982ce2424 100644 (file)
--- a/plugins/check_ldap.c
+++ b/plugins/check_ldap.c
* License: GPL
* Copyright (c) 2000-2008 Nagios Plugins Development Team
*
-* Last Modified: $Date$
-*
* Description:
*
* This file contains the check_ldap plugin
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
-* $Id$
*
*****************************************************************************/
/* progname may be check_ldaps */
char *progname = "check_ldap";
-const char *revision = "$Revision$";
const char *copyright = "2000-2008";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
#include "utils.h"
#include <lber.h>
+#define LDAP_DEPRECATED 1
#include <ldap.h>
enum {
LDAPMessage *result;
/* should be int result = STATE_UNKNOWN; */
-
+
int status = STATE_UNKNOWN;
long microsec;
double elapsed_time;
-
+
/* for ldap tls */
-
- int tls;
- int version=3;
+
+ int tls;
+ int version=3;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
if (strstr(argv[0],"check_ldaps")) {
asprintf (&progname, "check_ldaps");
}
-
+
+ /* Parse extra opts if any */
+ argv=np_extra_opts (&argc, argv, progname);
+
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
printf ("Could not connect to the server at port %i\n", ld_port);
return STATE_CRITICAL;
}
-#else
+#else
if (!(ld = ldap_open (ld_host, ld_port))) {
if (verbose)
ldap_perror(ld, "ldap_open");
return STATE_CRITICAL;
}
#endif /* HAVE_LDAP_INIT */
-
+
#ifdef HAVE_LDAP_SET_OPTION
/* set ldap options */
if (ldap_set_option (ld, LDAP_OPT_PROTOCOL_VERSION, &ld_protocol) !=
#if defined(HAVE_LDAP_SET_OPTION) && defined(LDAP_OPT_X_TLS)
/* ldaps: set option tls */
tls = LDAP_OPT_X_TLS_HARD;
-
+
if (ldap_set_option (ld, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS)
{
if (verbose)
/* call start_tls */
if (ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS)
{
- if (verbose)
+ if (verbose)
ldap_perror(ld, "ldap_start_tls");
printf (_("Could not init startTLS at port %i!\n"), ld_port);
return STATE_CRITICAL;
return STATE_CRITICAL;
#endif /* HAVE_LDAP_START_TLS_S */
}
-
+
/* bind to the ldap server */
if (ldap_bind_s (ld, ld_binddn, ld_passwd, LDAP_AUTH_SIMPLE) !=
LDAP_SUCCESS) {
if (verbose)
ldap_perror(ld, "ldap_bind");
- printf (_("Could not bind to the ldap-server\n"));
+ printf (_("Could not bind to the LDAP server\n"));
return STATE_CRITICAL;
}
print_help ();
exit (STATE_OK);
case 'V': /* version */
- print_revision (progname, revision);
+ print_revision (progname, NP_VERSION);
exit (STATE_OK);
case 't': /* timeout period */
if (!is_intnonneg (optarg))
if (ld_host==NULL || strlen(ld_host)==0)
usage4 (_("Please specify the host name\n"));
- if (ld_base==NULL || strlen(ld_base)==0)
+ if (ld_base==NULL)
usage4 (_("Please specify the LDAP base\n"));
return OK;
char *myport;
asprintf (&myport, "%d", DEFAULT_PORT);
- print_revision (progname, revision);
+ print_revision (progname, NP_VERSION);
printf ("Copyright (c) 1999 Didi Rieder (adrieder@sbox.tu-graz.ac.at)\n");
printf (COPYRIGHT, copyright, email);
- printf ("\n\n");
+ printf ("\n\n");
print_usage ();
- printf (_(UT_HELP_VRSN));
+ printf (UT_HELP_VRSN);
+ printf (UT_EXTRA_OPTS);
- printf (_(UT_HOST_PORT), 'p', myport);
+ printf (UT_HOST_PORT, 'p', myport);
- printf (_(UT_IPv46));
+ printf (UT_IPv46);
printf (" %s\n", "-a [--attr]");
printf (" %s\n", _("ldap attribute to search (default: \"(objectclass=*)\""));
printf (" (%s %d)\n", _("default protocol version:"), DEFAULT_PROTOCOL);
#endif
- printf (_(UT_WARN_CRIT));
+ printf (UT_WARN_CRIT);
- printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT);
+ printf (UT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT);
- printf (_(UT_VERBOSE));
+ printf (UT_VERBOSE);
- printf ("\n%s\n", _("Notes:"));
+ printf ("\n");
+ printf ("%s\n", _("Notes:"));
printf (" %s\n", _("If this plugin is called via 'check_ldaps', method 'STARTTLS' will be"));
- printf (_(" implied (using default port %i) unless --port=636 is specified. In that case %s"), DEFAULT_PORT, "\n");
+ printf (_(" implied (using default port %i) unless --port=636 is specified. In that case\n"), DEFAULT_PORT);
printf (" %s\n", _("'SSL on connect' will be used no matter how the plugin was called."));
printf (" %s\n", _("This detection is deprecated, please use 'check_ldap' with the '--starttls' or '--ssl' flags"));
printf (" %s\n", _("to define the behaviour explicitly instead."));
- printf (_(UT_SUPPORT));
+ printf (UT_SUPPORT);
}
/* todo
void
print_usage (void)
{
- printf (_("Usage:"));
+ printf ("%s\n", _("Usage:"));
printf (" %s -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]",progname);
printf ("\n [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]%s\n",
#ifdef HAVE_LDAP_SET_OPTION