diff options
Diffstat (limited to 'plugins/check_smtp.c')
| -rw-r--r-- | plugins/check_smtp.c | 129 |
1 files changed, 70 insertions, 59 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c index 3dc444fc..e7cf2ea2 100644 --- a/plugins/check_smtp.c +++ b/plugins/check_smtp.c | |||
| @@ -1,26 +1,40 @@ | |||
| 1 | /****************************************************************************** | 1 | /****************************************************************************** |
| 2 | 2 | * | |
| 3 | This program is free software; you can redistribute it and/or modify | 3 | * Nagios check_smtp plugin |
| 4 | it under the terms of the GNU General Public License as published by | 4 | * |
| 5 | the Free Software Foundation; either version 2 of the License, or | 5 | * License: GPL |
| 6 | (at your option) any later version. | 6 | * Copyright (c) 1999-2006 nagios-plugins team |
| 7 | 7 | * | |
| 8 | This program is distributed in the hope that it will be useful, | 8 | * Last Modified: $Date$ |
| 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 | * |
| 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 | * Description: |
| 11 | GNU General Public License for more details. | 11 | * |
| 12 | 12 | * This file contains the check_smtp plugin | |
| 13 | You should have received a copy of the GNU General Public License | 13 | * |
| 14 | along with this program; if not, write to the Free Software | 14 | * License Information: |
| 15 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 15 | * |
| 16 | 16 | * This program is free software; you can redistribute it and/or modify | |
| 17 | $Id$ | 17 | * it under the terms of the GNU General Public License as published by |
| 18 | 18 | * the Free Software Foundation; either version 2 of the License, or | |
| 19 | * (at your option) any later version. | ||
| 20 | * | ||
| 21 | * This program is distributed in the hope that it will be useful, | ||
| 22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 24 | * GNU General Public License for more details. | ||
| 25 | * | ||
| 26 | * You should have received a copy of the GNU General Public License | ||
| 27 | * along with this program; if not, write to the Free Software | ||
| 28 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 29 | * | ||
| 30 | * | ||
| 31 | * $Id$ | ||
| 32 | * | ||
| 19 | ******************************************************************************/ | 33 | ******************************************************************************/ |
| 20 | 34 | ||
| 21 | const char *progname = "check_smtp"; | 35 | const char *progname = "check_smtp"; |
| 22 | const char *revision = "$Revision$"; | 36 | const char *revision = "$Revision$"; |
| 23 | const char *copyright = "2000-2004"; | 37 | const char *copyright = "2000-2006"; |
| 24 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; | 38 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; |
| 25 | 39 | ||
| 26 | #include "common.h" | 40 | #include "common.h" |
| @@ -657,6 +671,15 @@ validate_arguments (void) | |||
| 657 | } | 671 | } |
| 658 | 672 | ||
| 659 | 673 | ||
| 674 | int | ||
| 675 | my_close (void) | ||
| 676 | { | ||
| 677 | #ifdef HAVE_SSL | ||
| 678 | np_net_ssl_cleanup(); | ||
| 679 | #endif | ||
| 680 | return close(sd); | ||
| 681 | } | ||
| 682 | |||
| 660 | 683 | ||
| 661 | void | 684 | void |
| 662 | print_help (void) | 685 | print_help (void) |
| @@ -669,7 +692,9 @@ print_help (void) | |||
| 669 | printf ("Copyright (c) 1999-2001 Ethan Galstad <nagios@nagios.org>\n"); | 692 | printf ("Copyright (c) 1999-2001 Ethan Galstad <nagios@nagios.org>\n"); |
| 670 | printf (COPYRIGHT, copyright, email); | 693 | printf (COPYRIGHT, copyright, email); |
| 671 | 694 | ||
| 672 | printf(_("This plugin will attempt to open an SMTP connection with the host.\n\n")); | 695 | printf("%s\n", _("This plugin will attempt to open an SMTP connection with the host.")); |
| 696 | |||
| 697 | printf ("\n\n"); | ||
| 673 | 698 | ||
| 674 | print_usage (); | 699 | print_usage (); |
| 675 | 700 | ||
| @@ -679,34 +704,29 @@ print_help (void) | |||
| 679 | 704 | ||
| 680 | printf (_(UT_IPv46)); | 705 | printf (_(UT_IPv46)); |
| 681 | 706 | ||
| 682 | printf (_("\ | 707 | printf (" %s\n", "-e, --expect=STRING"); |
| 683 | -e, --expect=STRING\n\ | 708 | printf (_("String to expect in first line of server response (default: '%s')"),SMTP_EXPECT); |
| 684 | String to expect in first line of server response (default: '%s')\n\ | 709 | printf (" %s\n\n", "-n, nocommand\n"); |
| 685 | -n, nocommand\n\ | 710 | printf (" %s\n", _("Suppress SMTP command")); |
| 686 | Suppress SMTP command\n\ | 711 | printf (" %s\n", "-C, --command=STRING"); |
| 687 | -C, --command=STRING\n\ | 712 | printf (" %s\n", _("SMTP command (may be used repeatedly)")); |
| 688 | SMTP command (may be used repeatedly)\n\ | 713 | printf (" %s\n", "-R, --command=STRING"); |
| 689 | -R, --command=STRING\n\ | 714 | printf (" %s\n", _("Expected response to command (may be used repeatedly)")); |
| 690 | Expected response to command (may be used repeatedly)\n\ | 715 | printf (" %s\n", "-f, --from=STRING"); |
| 691 | -f, --from=STRING\n\ | 716 | printf (" %s\n", _("FROM-address to include in MAIL command, required by Exchange 2000")), |
| 692 | FROM-address to include in MAIL command, required by Exchange 2000\n"), | ||
| 693 | SMTP_EXPECT); | ||
| 694 | #ifdef HAVE_SSL | 717 | #ifdef HAVE_SSL |
| 695 | printf (_("\ | 718 | printf (" %s\n", "-D, --certificate=INTEGER"); |
| 696 | -D, --certificate=INTEGER\n\ | 719 | printf (" %s\n", _("Minimum number of days a certificate has to be valid.")); |
| 697 | Minimum number of days a certificate has to be valid.\n\ | 720 | printf (" %s\n", "-S, --starttls"); |
| 698 | -S, --starttls\n\ | 721 | printf (" %s\n", _("Use STARTTLS for the connection.")); |
| 699 | Use STARTTLS for the connection.\n")); | ||
| 700 | #endif | 722 | #endif |
| 701 | 723 | ||
| 702 | printf("\ | 724 | printf (" %s\n", "-A, --authtype=STRING"); |
| 703 | -A, --authtype=STRING\n\ | 725 | printf (" %s\n", _("SMTP AUTH type to check (default none, only LOGIN supported)")); |
| 704 | SMTP AUTH type to check (default none, only LOGIN supported)\n\ | 726 | printf (" %s\n", "-U, --authuser=STRING"); |
| 705 | -U, --authuser=STRING\n\ | 727 | printf (" %s\n", _("SMTP AUTH username")); |
| 706 | SMTP AUTH username\n\ | 728 | printf (" %s\n", "-P, --authpass=STRING"); |
| 707 | -P, --authpass=STRING\n\ | 729 | printf (" %s\n", _("SMTP AUTH password")); |
| 708 | SMTP AUTH password\n\ | ||
| 709 | "); | ||
| 710 | 730 | ||
| 711 | printf (_(UT_WARN_CRIT)); | 731 | printf (_(UT_WARN_CRIT)); |
| 712 | 732 | ||
| @@ -714,11 +734,10 @@ print_help (void) | |||
| 714 | 734 | ||
| 715 | printf (_(UT_VERBOSE)); | 735 | printf (_(UT_VERBOSE)); |
| 716 | 736 | ||
| 717 | printf(_("\n\ | 737 | printf ("%s\n", _("Successul connects return STATE_OK, refusals and timeouts return")); |
| 718 | Successul connects return STATE_OK, refusals and timeouts return\n\ | 738 | printf ("%s\n", _("STATE_CRITICAL, other errors return STATE_UNKNOWN. Successful")); |
| 719 | STATE_CRITICAL, other errors return STATE_UNKNOWN. Successful\n\ | 739 | printf ("%s\n", _("connects, but incorrect reponse messages from the host result in")); |
| 720 | connects, but incorrect reponse messages from the host result in\n\ | 740 | printf ("%s\n", _("STATE_WARNING return values.")); |
| 721 | STATE_WARNING return values.\n")); | ||
| 722 | 741 | ||
| 723 | printf (_(UT_SUPPORT)); | 742 | printf (_(UT_SUPPORT)); |
| 724 | } | 743 | } |
| @@ -728,17 +747,9 @@ STATE_WARNING return values.\n")); | |||
| 728 | void | 747 | void |
| 729 | print_usage (void) | 748 | print_usage (void) |
| 730 | { | 749 | { |
| 731 | printf ("\ | 750 | printf (_("Usage:")); |
| 732 | Usage: %s -H host [-p port] [-e expect] [-C command] [-f from addr]\n\ | 751 | printf ("%s -H host [-p port] [-e expect] [-C command] [-f from addr]\n\ |
| 733 | [-A authtype -U authuser -P authpass]\n\ | 752 | [-A authtype -U authuser -P authpass]\n\ |
| 734 | [-w warn] [-c crit] [-t timeout] [-S] [-D days] [-n] [-v] [-4|-6]\n", progname); | 753 | [-w warn] [-c crit] [-t timeout] [-S] [-D days] [-n] [-v] [-4|-6]\n", progname); |
| 735 | } | 754 | } |
| 736 | 755 | ||
| 737 | int | ||
| 738 | my_close (void) | ||
| 739 | { | ||
| 740 | #ifdef HAVE_SSL | ||
| 741 | np_net_ssl_cleanup(); | ||
| 742 | #endif | ||
| 743 | return close(sd); | ||
| 744 | } | ||
