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)); }