[monitoring-plugins] check_hpjd - Added a switch for port ...

Jan Wagner git at monitoring-plugins.org
Mon Jul 21 00:20:08 CEST 2014


    Module: monitoring-plugins
    Branch: master
    Commit: 3c7d24478c7e79f288d4e79278168c3fe5b73a45
    Author: abrist <abrist at nagios.com>
 Committer: Jan Wagner <waja at cyconet.org>
      Date: Fri Jan 24 13:52:08 2014 -0500
       URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=3c7d244

check_hpjd - Added a switch for port specification. Defaults to 161.

---

 plugins/check_hpjd.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/plugins/check_hpjd.c b/plugins/check_hpjd.c
index 1e7605b..1ee4d13 100644
--- a/plugins/check_hpjd.c
+++ b/plugins/check_hpjd.c
@@ -39,7 +39,7 @@ const char *email = "devel at monitoring-plugins.org";
 #include "netutils.h"
 
 #define DEFAULT_COMMUNITY "public"
-
+#define DEFAULT_PORT "161"
 
 const char *option_summary = "-H host [-C community]\n";
 
@@ -66,6 +66,7 @@ void print_usage (void);
 
 char *community = NULL;
 char *address = NULL;
+char *port = NULL;
 
 int
 main (int argc, char **argv)
@@ -119,8 +120,8 @@ main (int argc, char **argv)
 		 HPJD_GD_DOOR_OPEN, HPJD_GD_PAPER_OUTPUT, HPJD_GD_STATUS_DISPLAY);
 
 	/* get the command to run */
-	sprintf (command_line, "%s -OQa -m : -v 1 -c %s %s %s", PATH_TO_SNMPGET, community,
-									address, query_string);
+	sprintf (command_line, "%s -OQa -m : -v 1 -c %s %s:%hd %s", PATH_TO_SNMPGET, community,
+									address, port, query_string);
 
 	/* run the command */
 	child_process = spopen (command_line);
@@ -313,7 +314,7 @@ process_arguments (int argc, char **argv)
 		{"community", required_argument, 0, 'C'},
 /*  		{"critical",       required_argument,0,'c'}, */
 /*  		{"warning",        required_argument,0,'w'}, */
-/*  		{"port",           required_argument,0,'P'}, */
+  		{"port", required_argument,0,'p'}, 
 		{"version", no_argument, 0, 'V'},
 		{"help", no_argument, 0, 'h'},
 		{0, 0, 0, 0}
@@ -324,7 +325,7 @@ process_arguments (int argc, char **argv)
 
 
 	while (1) {
-		c = getopt_long (argc, argv, "+hVH:C:", longopts, &option);
+		c = getopt_long (argc, argv, "+hVH:C:p:", longopts, &option);
 
 		if (c == -1 || c == EOF || c == 1)
 			break;
@@ -341,6 +342,12 @@ process_arguments (int argc, char **argv)
 		case 'C':									/* community */
 			community = strscpy (community, optarg);
 			break;
+		case 'p':
+			if (!is_intpos(optarg))
+				usage2 (_("Port must be a positive integer"), optarg);
+			else
+				port = atoi(optarg);
+			break;
 		case 'V':									/* version */
 			print_revision (progname, NP_VERSION);
 			exit (STATE_OK);
@@ -369,6 +376,13 @@ process_arguments (int argc, char **argv)
 			community = strdup (DEFAULT_COMMUNITY);
 	}
 
+	if (port == NULL) {
+		if (argv[c] != NULL )
+			port = argv[c];
+		else
+			port = atoi (DEFAULT_PORT);
+	}
+
 	return validate_arguments ();
 }
 
@@ -402,6 +416,10 @@ print_help (void)
 	printf ("    %s", _("The SNMP community name "));
 	printf (_("(default=%s)"), DEFAULT_COMMUNITY);
 	printf ("\n");
+	printf (" %s\n", "-p, --port=STRING");
+	printf ("    %s", _("Specify the port to check "));
+	printf (_("(default=%s)"), DEFAULT_PORT);
+	printf ("\n");
 
 	printf (UT_SUPPORT);
 }
@@ -412,5 +430,5 @@ void
 print_usage (void)
 {
   printf ("%s\n", _("Usage:"));
-	printf ("%s -H host [-C community]\n", progname);
+	printf ("%s -H host [-C community] [-p port]\n", progname);
 }



More information about the Commits mailing list