Code

check_snmp: Fix regression introduced in #1867716
[nagiosplug.git] / plugins / check_nwstat.c
index a1a3f35a390ae04e6826905698e35fd24b6fe428..72a47b16e71b6c8b734f9d39ac59c2598c0e2974 100644 (file)
@@ -5,8 +5,6 @@
 * License: GPL
 * Copyright (c) 2000-2007 Nagios Plugins Development Team
 * 
-* Last Modified: $Date$
-* 
 * Description:
 * 
 * This file contains the check_nwstat 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$
 * 
 *****************************************************************************/
 
 const char *progname = "check_nwstat";
-const char *revision = "$Revision$";
 const char *copyright = "2000-2007";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
@@ -170,6 +166,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"));
 
@@ -200,7 +199,7 @@ main(int argc, char **argv) {
 
        /* check CPU load */
        if (vars_to_check==LOAD1 || vars_to_check==LOAD5 || vars_to_check==LOAD15) {
-                       
+
                switch(vars_to_check) {
                case LOAD1:
                        temp_buffer = strdup ("1");
@@ -246,7 +245,7 @@ main(int argc, char **argv) {
                          temp_buffer,
                          utilization,
                          warning_value,
-                         critical_value);      
+                         critical_value);
 
                /* check number of user connections */
        } else if (vars_to_check==CONNS) {
@@ -454,7 +453,7 @@ main(int argc, char **argv) {
                                 critical_value);
                }
 
-               
+
                /* check % free space on volume */
        } else if (vars_to_check==VPF) {
 
@@ -518,14 +517,14 @@ main(int argc, char **argv) {
                        result=STATE_OK;
                else
                        result=STATE_WARNING;
+
                close(sd);
                my_tcp_connect (server_address, server_port, &sd);
 
                send_buffer = strdup ("S13\r\n");
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                temp_buffer=strtok(recv_buffer,"\r\n");
+
                asprintf (&output_message,_("Directory Services Database is %s (DS version %s)"),(result==STATE_OK)?"open":"closed",temp_buffer);
 
                /* check to see if logins are enabled */
@@ -565,11 +564,11 @@ main(int argc, char **argv) {
                                result=STATE_WARNING;
                                asprintf (&output_message,_("Warning - NRM Status is suspect!"));
                        }
-                       
+
                        asprintf (&output_message,_("OK - NRM Status is good!"));
                }
 
-               
+
 
                /* check packet receive buffers */
        } else if (vars_to_check==UPRB || vars_to_check==PUPRB) {
@@ -593,7 +592,7 @@ main(int argc, char **argv) {
                        return result;
 
                max_packet_receive_buffers=atoi(recv_buffer);
+
                percent_used_packet_receive_buffers=(unsigned long)(((double)used_packet_receive_buffers/(double)max_packet_receive_buffers)*100.0);
 
                if (vars_to_check==UPRB) {
@@ -607,7 +606,7 @@ main(int argc, char **argv) {
                        else if (check_warning_value==TRUE && percent_used_packet_receive_buffers >= warning_value)
                                result=STATE_WARNING;
                }
+
                asprintf (&output_message,_("%lu of %lu (%lu%%) packet receive buffers used"),used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers);
 
                /* check SAP table entries */
@@ -623,9 +622,9 @@ main(int argc, char **argv) {
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                if (result!=STATE_OK)
                        return result;
+
                sap_entries=atoi(recv_buffer);
+
                if (check_critical_value==TRUE && sap_entries >= critical_value)
                        result=STATE_CRITICAL;
                else if (check_warning_value==TRUE && sap_entries >= warning_value)
@@ -811,9 +810,9 @@ main(int argc, char **argv) {
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                if (result!=STATE_OK)
                        return result;
+
                open_files=atoi(recv_buffer);
+
                if (check_critical_value==TRUE && open_files >= critical_value)
                        result=STATE_CRITICAL;
                else if (check_warning_value==TRUE && open_files >= warning_value)
@@ -824,7 +823,7 @@ main(int argc, char **argv) {
                                open_files,
                                warning_value,
                                critical_value);
-                       
+
 
                /* check # of abended threads (Netware > 5.x only) */
        } else if (vars_to_check==ABENDS) {
@@ -836,9 +835,9 @@ main(int argc, char **argv) {
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                if (result!=STATE_OK)
                        return result;
+
                abended_threads=atoi(recv_buffer);
+
                if (check_critical_value==TRUE && abended_threads >= critical_value)
                        result=STATE_CRITICAL;
                else if (check_warning_value==TRUE && abended_threads >= warning_value)
@@ -860,9 +859,9 @@ main(int argc, char **argv) {
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                if (result!=STATE_OK)
                        return result;
+
                max_service_processes=atoi(recv_buffer);
+
                close(sd);
                my_tcp_connect (server_address, server_port, &sd);
 
@@ -870,9 +869,9 @@ main(int argc, char **argv) {
                result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
                if (result!=STATE_OK)
                        return result;
+
                current_service_processes=atoi(recv_buffer);
+
                if (check_critical_value==TRUE && current_service_processes >= critical_value)
                        result=STATE_CRITICAL;
                else if (check_warning_value==TRUE && current_service_processes >= warning_value)
@@ -911,7 +910,7 @@ main(int argc, char **argv) {
 
 
 
-               
+
                /* check LRU sitting time in secondss */
        } else if (vars_to_check==LRUS) {
 
@@ -974,7 +973,7 @@ main(int argc, char **argv) {
                                total_cache_buffers,
                                warning_value,
                                critical_value);
-               
+
        } else if (vars_to_check==DSVER) {
 
                close(sd);
@@ -1002,7 +1001,7 @@ main(int argc, char **argv) {
 
                recv_buffer[sizeof(recv_buffer)-1]=0;
                recv_buffer[strlen(recv_buffer)-1]=0;
-       
+
                asprintf (&output_message,_("Up %s"),recv_buffer);
 
        } else if (vars_to_check==NLM) {
@@ -1021,7 +1020,7 @@ main(int argc, char **argv) {
                } else {
                        result=STATE_CRITICAL;
                        asprintf (&output_message,_("Module %s is not loaded"),nlm_name);
-               
+
                        }
        } else if (vars_to_check==NRMP) {
 
@@ -1310,7 +1309,7 @@ int process_arguments(int argc, char **argv) {
 
        int option = 0;
        static struct option longopts[] =
-               { 
+               {
                        {"port",     required_argument,0,'p'},
                        {"timeout",  required_argument,0,'t'},
                        {"critical", required_argument,0,'c'},
@@ -1357,7 +1356,7 @@ int process_arguments(int argc, char **argv) {
                                print_help();
                                exit(STATE_OK);
                        case 'V': /* version */
-                               print_revision(progname, revision);
+                               print_revision(progname, NP_VERSION);
                                exit(STATE_OK);
                        case 'H': /* hostname */
                                server_address=optarg;
@@ -1495,7 +1494,7 @@ int process_arguments(int argc, char **argv) {
                                        nrmm_name = strdup (optarg+4);
                                        if (!strcmp(nrmm_name,""))
                                                nrmm_name = strdup ("AVAILABLE_CACHE_MEMORY");
-       
+
                                }
 
                                else if (strncmp(optarg,"NRMS",4)==0) {
@@ -1503,7 +1502,7 @@ int process_arguments(int argc, char **argv) {
                                        nrms_name = strdup (optarg+4);
                                        if (!strcmp(nrms_name,""))
                                                nrms_name = strdup ("USED_SWAP_SPACE");
-       
+
                                }
 
                                else if (strncmp(optarg,"NSS1",4)==0) {
@@ -1511,7 +1510,7 @@ int process_arguments(int argc, char **argv) {
                                        nss1_name = strdup (optarg+4);
                                        if (!strcmp(nss1_name,""))
                                                nss1_name = strdup ("CURRENTBUFFERCACHESIZE");
-       
+
                                }
 
                                else if (strncmp(optarg,"NSS2",4)==0) {
@@ -1519,7 +1518,7 @@ int process_arguments(int argc, char **argv) {
                                        nss2_name = strdup (optarg+4);
                                        if (!strcmp(nss2_name,""))
                                                nss2_name = strdup ("CACHEHITS");
-       
+
                                }
 
                                else if (strncmp(optarg,"NSS3",4)==0) {
@@ -1527,7 +1526,7 @@ int process_arguments(int argc, char **argv) {
                                        nss3_name = strdup (optarg+4);
                                        if (!strcmp(nss3_name,""))
                                                nss3_name = strdup ("CACHEGITPERCENT");
-       
+
                                }
 
                                else if (strncmp(optarg,"NSS4",4)==0) {
@@ -1535,7 +1534,7 @@ int process_arguments(int argc, char **argv) {
                                        nss4_name = strdup (optarg+4);
                                        if (!strcmp(nss4_name,""))
                                                nss4_name = strdup ("CURRENTOPENCOUNT");
-       
+
                                }
 
                                else if (strncmp(optarg,"NSS5",4)==0) {
@@ -1543,7 +1542,7 @@ int process_arguments(int argc, char **argv) {
                                        nss5_name = strdup (optarg+4);
                                        if (!strcmp(nss5_name,""))
                                                nss5_name = strdup ("CACHEMISSES");
-       
+
                                }
 
 
@@ -1552,7 +1551,7 @@ int process_arguments(int argc, char **argv) {
                                        nss6_name = strdup (optarg+4);
                                        if (!strcmp(nss6_name,""))
                                                nss6_name = strdup ("PENDINGWORKSCOUNT");
-       
+
                                }
 
 
@@ -1561,7 +1560,7 @@ int process_arguments(int argc, char **argv) {
                                        nss7_name = strdup (optarg+4);
                                        if (!strcmp(nss7_name,""))
                                                nss7_name = strdup ("CACHESIZE");
-       
+
                                }
 
 
@@ -1594,7 +1593,7 @@ void print_help(void)
        char *myport;
        asprintf (&myport, "%d", PORT);
 
-       print_revision (progname, revision);
+       print_revision (progname, NP_VERSION);
 
        printf ("Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>\n");
        printf (COPYRIGHT, copyright, email);
@@ -1607,6 +1606,7 @@ void print_help(void)
        print_usage();
 
        printf (_(UT_HELP_VRSN));
+       printf (_(UT_EXTRA_OPTS));
 
        printf (_(UT_HOST_PORT), 'p', myport);
 
@@ -1673,7 +1673,10 @@ void print_help(void)
   printf (" %s\n", _("  (available from http://www.engr.wisc.edu/~drews/mrtg/)"));
   printf (" %s\n", _("- Values for critical thresholds should be lower than warning thresholds"));
   printf (" %s\n", _("  when the following variables are checked: VPF, VKF, LTCH, CBUFF, DCB, "));
-  printf (" %s\n", _("  TCB, LRUS and LRUM.\n"));
+  printf (" %s\n", _("  TCB, LRUS and LRUM."));
+#ifdef NP_EXTRA_OPTS
+  printf (" -%s", _(UT_EXTRA_OPTS_NOTES));
+#endif
 
        printf (_(UT_SUPPORT));
 }