X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_smtp.c;h=8ff10b82a9d9f2a6ea4f9e36115e472b719b87d7;hb=e8c7d1b3d13b6a40004672ffeab0486f7fb79b71;hp=f44e5331d048cc0eafca6465419542d863f57fff;hpb=7a05ad0166ac11d4206d934825728b56a58d8edd;p=nagiosplug.git
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index f44e533..8ff10b8 100644
--- a/plugins/check_smtp.c
+++ b/plugins/check_smtp.c
@@ -1,52 +1,48 @@
-/******************************************************************************
-*
+/*****************************************************************************
+*
* Nagios check_smtp plugin
-*
+*
* License: GPL
-* Copyright (c) 1999-2006 nagios-plugins team
-*
+* Copyright (c) 2000-2007 Nagios Plugins Development Team
+*
* Last Modified: $Date$
-*
+*
* Description:
-*
+*
* This file contains the check_smtp plugin
-*
-* This plugin will attempt to open an SMTP connection with the host.
-*
-*
-* License Information:
-*
-* This program is free software; you can redistribute it and/or modify
+*
+* This plugin will attempt to open an SMTP connection with the host.
+*
+*
+* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
+* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
-*
+*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*
-*
+* along with this program. If not, see .
+*
* $Id$
*
-******************************************************************************/
+*****************************************************************************/
const char *progname = "check_smtp";
const char *revision = "$Revision$";
-const char *copyright = "2000-2006";
+const char *copyright = "2000-2007";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
-#include
-
#include "common.h"
#include "netutils.h"
#include "utils.h"
#include "base64.h"
+#include
+
#ifdef HAVE_SSL
int check_cert = FALSE;
int days_till_exp;
@@ -141,6 +137,9 @@ main (int argc, char **argv)
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
+ /* Parse extra opts if any */
+ argv=np_extra_opts (&argc, argv, progname);
+
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
@@ -198,10 +197,10 @@ main (int argc, char **argv)
/* make sure we find the response we are looking for */
if (!strstr (buffer, server_expect)) {
if (server_port == SMTP_PORT)
- printf (_("Invalid SMTP response received from host\n"));
+ printf (_("Invalid SMTP response received from host: %s\n"), buffer);
else
- printf (_("Invalid SMTP response received from host on port %d\n"),
- server_port);
+ printf (_("Invalid SMTP response received from host on port %d: %s\n"),
+ server_port, buffer);
result = STATE_WARNING;
}
}
@@ -370,7 +369,8 @@ main (int argc, char **argv)
}
/* encode authuser with base64 */
- abuf = base64 (authuser, strlen(authuser));
+ base64_encode_alloc (authuser, strlen(authuser), &abuf);
+ /* FIXME: abuf shouldn't have enough space to strcat a '\r\n' into it. */
strcat (abuf, "\r\n");
my_send(abuf, strlen(abuf));
if (verbose)
@@ -390,7 +390,8 @@ main (int argc, char **argv)
break;
}
/* encode authpass with base64 */
- abuf = base64 (authpass, strlen(authpass));
+ base64_encode_alloc (authpass, strlen(authpass), &abuf);
+ /* FIXME: abuf shouldn't have enough space to strcat a '\r\n' into it. */
strcat (abuf, "\r\n");
my_send(abuf, strlen(abuf));
if (verbose) {
@@ -773,6 +774,7 @@ print_help (void)
print_usage ();
printf (_(UT_HELP_VRSN));
+ printf (_(UT_EXTRA_OPTS));
printf (_(UT_HOST_PORT), 'p', myport);
@@ -814,6 +816,12 @@ print_help (void)
printf ("%s\n", _("connects, but incorrect reponse messages from the host result in"));
printf ("%s\n", _("STATE_WARNING return values."));
+#ifdef NP_EXTRA_OPTS
+ printf ("\n");
+ printf ("%s\n", _("Notes:"));
+ printf (_(UT_EXTRA_OPTS_NOTES));
+#endif
+
printf (_(UT_SUPPORT));
}