Просмотр исходного кода

fix check_dhcp merge conflict from #387

Bryan Heden 7 лет назад
Родитель
Сommit
39c84bea24

+ 143 - 0
.travis.yml

@@ -0,0 +1,143 @@
+language: c
+
+sudo: true
+
+matrix:
+  include:
+    - os: linux
+      dist: trusty
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted security universe multiverse'
+          update: true
+          packages:
+            - libdbi-dev
+            - libldap2-dev
+            - libpq-dev
+            - libmysqlclient-dev
+            - libfreeradius-client-dev
+            - libkrb5-dev
+            - libnet-snmp-perl
+            - procps
+            - fping
+            - libdbi0-dev
+            - libdbd-sqlite3
+            - libssl-dev
+            - libgnutls-dev
+            - dnsutils
+            - snmp-mibs-downloader
+            - libsnmp-perl
+            - snmpd
+            - iputils-ping
+            - fping
+            - snmp
+            - netcat
+            - smbclient
+            - fping
+            - pure-ftpd
+            - apache2
+            - postfix
+            - libhttp-daemon-ssl-perl
+            - slapd
+            - ldap-utils
+            - qstat
+      env:
+        - MATRIX_EVAL="CC=gcc && CXX=g++"
+
+    - os: linux
+      dist: trusty
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted security universe multiverse'
+            - ubuntu-toolchain-r-test
+          update: true
+          packages:
+            - libdbi-dev
+            - libldap2-dev
+            - libpq-dev
+            - libmysqlclient-dev
+            - libfreeradius-client-dev
+            - libkrb5-dev
+            - libnet-snmp-perl
+            - procps
+            - fping
+            - libdbi0-dev
+            - libdbd-sqlite3
+            - libssl-dev
+            - libgnutls-dev
+            - dnsutils
+            - snmp-mibs-downloader
+            - libsnmp-perl
+            - snmpd
+            - iputils-ping
+            - fping
+            - snmp
+            - netcat
+            - smbclient
+            - fping
+            - pure-ftpd
+            - apache2
+            - postfix
+            - libhttp-daemon-ssl-perl
+            - slapd
+            - ldap-utils
+            - qstat
+            - g++-8
+      env:
+        - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
+
+    - os: linux
+      dist: trusty
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted security universe multiverse'
+            - llvm-toolchain-trusty-6.0
+            - ubuntu-toolchain-r-test
+          update: true
+          packages:
+            - libdbi-dev
+            - libldap2-dev
+            - libpq-dev
+            - libmysqlclient-dev
+            - libfreeradius-client-dev
+            - libkrb5-dev
+            - libnet-snmp-perl
+            - procps
+            - fping
+            - libdbi0-dev
+            - libdbd-sqlite3
+            - libssl-dev
+            - libgnutls-dev
+            - dnsutils
+            - snmp-mibs-downloader
+            - libsnmp-perl
+            - snmpd
+            - iputils-ping
+            - fping
+            - snmp
+            - netcat
+            - smbclient
+            - fping
+            - pure-ftpd
+            - apache2
+            - postfix
+            - libhttp-daemon-ssl-perl
+            - slapd
+            - ldap-utils
+            - qstat
+            - clang-6.0
+            - g++-4.9
+      env:
+        - MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
+
+before_install:
+  - eval "${MATRIX_EVAL}"
+
+script:
+  - ./autogen.sh --enable-libtap
+  - make
+  # This is not working. Should be fixed in another PR.
+  #- make test

+ 2 - 2
lib/extra_opts.c

@@ -93,14 +93,14 @@ char **np_extra_opts(int *argc, char **argv, const char *plugin_name){
 			/* append the list to extra_args */
 			if(extra_args==NULL){
 				extra_args=ea1;
-				while(ea1=ea1->next) ea_num++;
+				while((ea1=ea1->next)) ea_num++;
 			}else{
 				ea_tmp=extra_args;
 				while(ea_tmp->next) {
 					ea_tmp=ea_tmp->next;
 				}
 				ea_tmp->next=ea1;
-				while(ea1=ea1->next) ea_num++;
+				while((ea1=ea1->next)) ea_num++;
 			}
 			ea1=ea_tmp=NULL;
 		}

+ 5 - 5
lib/utils_base.c

@@ -335,20 +335,20 @@ char *np_extract_value(const char *varlist, const char *name, char sep) {
 
 	while (1) {
 		/* Strip any leading space */
-		for (varlist; isspace(varlist[0]); varlist++);
+		for (; isspace(varlist[0]); varlist++);
 
 		if (!strncmp(name, varlist, strlen(name))) {
 			varlist += strlen(name);
 			/* strip trailing spaces */
-			for (varlist; isspace(varlist[0]); varlist++);
+			for (; isspace(varlist[0]); varlist++);
 
 			if (varlist[0] == '=') {
 				/* We matched the key, go past the = sign */
 				varlist++;
 				/* strip leading spaces */
-				for (varlist; isspace(varlist[0]); varlist++);
+				for (; isspace(varlist[0]); varlist++);
 
-				if (tmp = index(varlist, sep)) {
+				if ((tmp = index(varlist, sep))) {
 					/* Value is delimited by a comma */
 					if (tmp-varlist == 0) continue;
 					value = (char *)calloc(1, tmp-varlist+1);
@@ -364,7 +364,7 @@ char *np_extract_value(const char *varlist, const char *name, char sep) {
 				break;
 			}
 		}
-		if (tmp = index(varlist, sep)) {
+		if ((tmp = index(varlist, sep))) {
 			/* More keys, keep going... */
 			varlist = tmp + 1;
 		} else {

+ 1 - 1
plugins-root/check_dhcp.c

@@ -530,7 +530,7 @@ int send_dhcp_discover(int sock) {
            sizeof(requested_address));
     opts += sizeof(requested_address);
   }
-  discover_packet.options[opts++] = DHCP_OPTION_END;
+  discover_packet.options[opts++] = (char) DHCP_OPTION_END;
 
   /* unicast fields */
   if (unicast) {

+ 17 - 17
plugins/check_disk.c

@@ -139,7 +139,7 @@ double c_dfp = -1.0;
 char *path;
 char *exclude_device;
 char *units;
-uintmax_t mult = 1024 * 1024;
+uintmax_t mult = (uintmax_t)1024 * 1024;
 int verbose = 0;
 int newlines = FALSE;
 int erronly = FALSE;
@@ -180,7 +180,7 @@ main (int argc, char **argv)
   double critical_high_tide;
   int temp_result;
 
-  struct mount_entry *me;
+  struct mount_entry *me, *last_me = NULL;
   struct fs_usage fsp;
   struct parameter_list *temp_list, *path;
 
@@ -316,7 +316,7 @@ main (int argc, char **argv)
       get_stats (path, &fsp);
 
       if (verbose >= 3) {
-        printf ("For %s, used_pct=%g free_pct=%g used_units=%i free_units=%i total_units=%i used_inodes_pct=%g free_inodes_pct=%g fsp.fsu_blocksize=%llu mult=%llu\n",
+        printf ("For %s, used_pct=%g free_pct=%g used_units=%li free_units=%li total_units=%li used_inodes_pct=%g free_inodes_pct=%g fsp.fsu_blocksize=%lu mult=%ju\n",
           me->me_mountdir, path->dused_pct, path->dfree_pct, path->dused_units, path->dfree_units, path->dtotal_units, path->dused_inodes_percent, path->dfree_inodes_percent, fsp.fsu_blocksize, mult);
       }
 
@@ -364,13 +364,13 @@ main (int argc, char **argv)
         warning_high_tide = path->dtotal_units - path->freespace_units->warning->end;
       }
       if (path->freespace_percent->warning != NULL) {
-        warning_high_tide = labs( min( (double) warning_high_tide, (double) (1.0 - path->freespace_percent->warning->end/100)*path->dtotal_units ));
+        warning_high_tide = fabs( min( (double) warning_high_tide, (double) (1.0 - path->freespace_percent->warning->end/100)*path->dtotal_units ));
       }
       if (path->freespace_units->critical != NULL) {
         critical_high_tide = path->dtotal_units - path->freespace_units->critical->end;
       }
       if (path->freespace_percent->critical != NULL) {
-        critical_high_tide = labs( min( (double) critical_high_tide, (double) (1.0 - path->freespace_percent->critical->end/100)*path->dtotal_units ));
+        critical_high_tide = fabs( min( (double) critical_high_tide, (double) (1.0 - path->freespace_percent->critical->end/100)*path->dtotal_units ));
       }
 
       /* Nb: *_high_tide are unset when == ULONG_MAX */
@@ -608,13 +608,13 @@ process_arguments (int argc, char **argv)
         die (STATE_UNKNOWN, _("failed allocating storage for '%s'\n"), "units");
       break;
     case 'k': /* display mountpoint */
-      mult = 1024;
+      mult = (uintmax_t)1024;
       if (units)
         free(units);
       units = strdup ("kB");
       break;
     case 'm': /* display mountpoint */
-      mult = 1024 * 1024;
+      mult = (uintmax_t)1024 * 1024;
       if (units)
         free(units);
       units = strdup ("MB");
@@ -1005,18 +1005,18 @@ get_stats (struct parameter_list *p, struct fs_usage *fsp) {
         get_fs_usage (p_list->best_match->me_mountdir, p_list->best_match->me_devname, &tmpfsp);
         get_path_stats(p_list, &tmpfsp); 
         if (verbose >= 3)
-          printf("Group %s: adding %llu blocks sized %llu, (%s) used_units=%i free_units=%i total_units=%i fsu_blocksize=%llu mult=%llu\n",
-                 p_list->group, tmpfsp.fsu_bavail, tmpfsp.fsu_blocksize, p_list->best_match->me_mountdir, p_list->dused_units, p_list->dfree_units,
-                 p_list->dtotal_units, mult);
+          printf("Group %s: adding %lu blocks sized %lu, (%s) used_units=%li free_units=%li total_units=%li fsu_blocksize=%lu mult=%ju\n", p_list->group, tmpfsp.fsu_bavail, tmpfsp.fsu_blocksize,
+                 p_list->best_match->me_mountdir, p_list->dused_units,
+                 p_list->dfree_units, p_list->dtotal_units,
+                 tmpfsp.fsu_blocksize, mult);
 
-        /* prevent counting the first FS of a group twice since its parameter_list entry 
+        /* prevent counting the first FS of a group twice since its parameter_list entry
          * is used to carry the information of all file systems of the entire group */
         if (! first) {
           p->total += p_list->total;
           p->available += p_list->available;
           p->available_to_root += p_list->available_to_root;
           p->used += p_list->used;
-            
           p->dused_units += p_list->dused_units;
           p->dfree_units += p_list->dfree_units;
           p->dtotal_units += p_list->dtotal_units;
@@ -1025,10 +1025,10 @@ get_stats (struct parameter_list *p, struct fs_usage *fsp) {
         }
         first = 0;
       }
-      if (verbose >= 3) 
-        printf("Group %s now has: used_units=%1 free_units=%1 total_units=%1 fsu_blocksize=%llu mult=%llu\n",
-               p->group, tmpfsp.fsu_bavail, tmpfsp.fsu_blocksize, p->best_match->me_mountdir, p->dused_units,
-               p->dfree_units, p->dtotal_units, mult);
+      if (verbose >= 3)
+        printf("Group %s now has: used_units=%li free_units=%li total_units=%li fsu_blocksize=%lu mult=%ju\n",
+               p->group, p->dused_units, p->dfree_units, p->dtotal_units,
+               tmpfsp.fsu_blocksize, mult);
     }
     /* modify devname and mountdir for output */
     p->best_match->me_mountdir = p->best_match->me_devname = p->group;
@@ -1056,7 +1056,7 @@ get_path_stats (struct parameter_list *p, struct fs_usage *fsp) {
     /* default behaviour : take all the blocks into account */
     p->total = fsp->fsu_blocks;
   }
-  
+
   p->dused_units = p->used*fsp->fsu_blocksize/mult;
   p->dfree_units = p->available*fsp->fsu_blocksize/mult;
   p->dtotal_units = p->total*fsp->fsu_blocksize/mult;

+ 1 - 1
plugins/check_fping.c

@@ -147,7 +147,7 @@ main (int argc, char **argv)
   (void) fclose (child_stderr);
 
   /* close the pipe */
-  if (result = spclose (child_process))
+  if ((result = spclose (child_process)))
     /* need to use max_state not max */
     status = max_state (status, STATE_WARNING);
 

+ 2 - 2
plugins/check_hpjd.c

@@ -121,8 +121,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:%hd %s", PATH_TO_SNMPGET, community,
-									address, port, query_string);
+	sprintf (command_line, "%s -OQa -m : -v 1 -c %s %s:%hd %s",
+			PATH_TO_SNMPGET, community, address, (short)port, query_string);
 
 	/* run the command */
 	child_process = spopen (command_line);

+ 1 - 0
plugins/check_ldap.c

@@ -49,6 +49,7 @@ enum {
 
 int process_arguments (int, char **);
 int validate_arguments (void);
+int ldap_check_cert (LDAP *ld);
 void print_help (void);
 void print_usage (void);
 

+ 1 - 1
plugins/check_load.c

@@ -160,7 +160,7 @@ main (int argc, char **argv)
 	    sscanf (input_buffer, "%*[^l]load averages: %lf, %lf, %lf", &la1, &la5, &la15);
     }
     else {
-		printf (_("could not parse load from uptime: %s\n"), result, PATH_TO_UPTIME);
+		printf (_("could not parse load %d from uptime: %s\n"), result, PATH_TO_UPTIME);
 		return STATE_UNKNOWN;
     }
 

+ 4 - 2
plugins/check_uptime.c

@@ -34,7 +34,9 @@ char *progname = "check_uptime";
 char *version = "1.0";
 char *email = "devel@nagios-plugins.org";
 char *copyright = "2014";
-char *developer = "Andy Brist";
+/* There no developer in COPYRIGHT's definition
+ * char *developer = "Andy Brist";
+ */
 
 static int process_arguments (int, char **);
 int validate_arguments (void);
@@ -217,7 +219,7 @@ void print_help (void) {
 
 	print_revision ( progname, NP_VERSION );
 
-	printf ( COPYRIGHT, copyright, developer, email );
+	printf ( COPYRIGHT, copyright, email );
 	printf ( "%s\n", _("This plugin checks the system uptime and alerts if more than the threshold.") );
 	printf ( "%s\n", _("Threshold unit of measurement specified with \"-u\".") );
 	printf ( "%s\n", _("\"-u\" switch supports: seconds|minutes|hours|days.") );

+ 2 - 0
plugins/netutils.h

@@ -84,6 +84,8 @@ void host_or_die(const char *str);
 extern int econn_refuse_state;
 extern int was_refused;
 extern int address_family;
+extern char address_length(int address_family);
+extern void parse_address_string(int address_family, struct sockaddr_storage *addr, char *address, int size);
 
 RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn));
 

+ 1 - 0
plugins/utils.c

@@ -27,6 +27,7 @@
 #include "utils_base.h"
 #include <stdarg.h>
 #include <limits.h>
+#include <ctype.h>
 
 #include <arpa/inet.h>