summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorenz <12514511+RincewindsHat@users.noreply.github.com>2023-05-21 22:57:31 (GMT)
committerGitHub <noreply@github.com>2023-05-21 22:57:31 (GMT)
commit1bce93b28a889edcaed10a920c931a6232940ad8 (patch)
tree370a6155fb7390c27bc4fee2926eb9a95a132657
parentbc47263115a3d6c01ec3ad8ec95951581551a9f5 (diff)
parent4ed55a1d40ac8693c7d5c9aa3a7301f0a2236135 (diff)
downloadmonitoring-plugins-1bce93b.tar.gz
Merge branch 'master' into check_swap_scanf_expressions
-rwxr-xr-x.github/prepare_debian.sh19
-rw-r--r--.gitignore1
-rw-r--r--lib/utils_base.c8
-rw-r--r--plugins-root/check_dhcp.c4
-rwxr-xr-xplugins-scripts/check_log.sh4
-rwxr-xr-xplugins-scripts/check_oracle.sh16
-rwxr-xr-xplugins-scripts/check_sensors.sh8
-rw-r--r--plugins/check_curl.c5
-rw-r--r--plugins/check_http.c1
-rw-r--r--plugins/check_mysql.c2
-rw-r--r--plugins/check_nt.c2
-rw-r--r--plugins/check_pgsql.c12
-rw-r--r--plugins/runcmd.c2
13 files changed, 48 insertions, 36 deletions
diff --git a/.github/prepare_debian.sh b/.github/prepare_debian.sh
index 5222659..7f5592b 100755
--- a/.github/prepare_debian.sh
+++ b/.github/prepare_debian.sh
@@ -5,13 +5,18 @@ set -e
5 5
6export DEBIAN_FRONTEND=noninteractive 6export DEBIAN_FRONTEND=noninteractive
7 7
8sed "s/main/non-free contrib/g" /etc/apt/sources.list.d/debian.sources > /etc/apt/sources.list.d/debian-nonfree.sources 8source /etc/os-release
9apt-get update 9
10apt-get -y install software-properties-common 10if [ ${ID} = "debian" ]; then
11if [ $(lsb_release -is) = "Debian" ]; then 11 if [ -f /etc/apt/sources.list.d/debian.sources ]; then
12 apt-add-repository non-free 12 sed "s/main/non-free contrib/g" /etc/apt/sources.list.d/debian.sources > /etc/apt/sources.list.d/debian-nonfree.sources
13 apt-get update 13 else
14 apt-get update
15 apt-get -y install software-properties-common
16 apt-add-repository non-free
17 fi
14fi 18fi
19apt-get update
15apt-get -y install perl \ 20apt-get -y install perl \
16 autotools-dev \ 21 autotools-dev \
17 libdbi-dev \ 22 libdbi-dev \
@@ -83,7 +88,7 @@ cp tools/squid.conf /etc/squid/squid.conf
83service squid start 88service squid start
84 89
85# mariadb 90# mariadb
86service mariadb start 91service mariadb start || service mysql start
87mysql -e "create database IF NOT EXISTS test;" -uroot 92mysql -e "create database IF NOT EXISTS test;" -uroot
88 93
89# ldap 94# ldap
diff --git a/.gitignore b/.gitignore
index fdcad9f..02ca61e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -246,6 +246,7 @@ NP-VERSION-FILE
246/plugins-scripts/check_ircd 246/plugins-scripts/check_ircd
247/plugins-scripts/check_log 247/plugins-scripts/check_log
248/plugins-scripts/check_mailq 248/plugins-scripts/check_mailq
249/plugins-scripts/check_mssql
249/plugins-scripts/check_ntp 250/plugins-scripts/check_ntp
250/plugins-scripts/check_oracle 251/plugins-scripts/check_oracle
251/plugins-scripts/check_rpc 252/plugins-scripts/check_rpc
diff --git a/lib/utils_base.c b/lib/utils_base.c
index eb1823b..c458cf6 100644
--- a/lib/utils_base.c
+++ b/lib/utils_base.c
@@ -24,7 +24,7 @@
24* 24*
25*****************************************************************************/ 25*****************************************************************************/
26 26
27#include "common.h" 27#include "../plugins/common.h"
28#include <stdarg.h> 28#include <stdarg.h>
29#include "utils_base.h" 29#include "utils_base.h"
30#include <ctype.h> 30#include <ctype.h>
@@ -319,18 +319,18 @@ char *np_extract_value(const char *varlist, const char *name, char sep) {
319 319
320 while (1) { 320 while (1) {
321 /* Strip any leading space */ 321 /* Strip any leading space */
322 for (varlist; isspace(varlist[0]); varlist++); 322 for (; isspace(varlist[0]); varlist++);
323 323
324 if (strncmp(name, varlist, strlen(name)) == 0) { 324 if (strncmp(name, varlist, strlen(name)) == 0) {
325 varlist += strlen(name); 325 varlist += strlen(name);
326 /* strip trailing spaces */ 326 /* strip trailing spaces */
327 for (varlist; isspace(varlist[0]); varlist++); 327 for (; isspace(varlist[0]); varlist++);
328 328
329 if (varlist[0] == '=') { 329 if (varlist[0] == '=') {
330 /* We matched the key, go past the = sign */ 330 /* We matched the key, go past the = sign */
331 varlist++; 331 varlist++;
332 /* strip leading spaces */ 332 /* strip leading spaces */
333 for (varlist; isspace(varlist[0]); varlist++); 333 for (; isspace(varlist[0]); varlist++);
334 334
335 if (tmp = index(varlist, sep)) { 335 if (tmp = index(varlist, sep)) {
336 /* Value is delimited by a comma */ 336 /* Value is delimited by a comma */
diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c
index ad67323..147db6b 100644
--- a/plugins-root/check_dhcp.c
+++ b/plugins-root/check_dhcp.c
@@ -470,10 +470,6 @@ int send_dhcp_discover(int sock){
470 packet_xid=random(); 470 packet_xid=random();
471 discover_packet.xid=htonl(packet_xid); 471 discover_packet.xid=htonl(packet_xid);
472 472
473 /**** WHAT THE HECK IS UP WITH THIS?!? IF I DON'T MAKE THIS CALL, ONLY ONE SERVER RESPONSE IS PROCESSED!!!! ****/
474 /* downright bizzarre... */
475 ntohl(discover_packet.xid);
476
477 /*discover_packet.secs=htons(65535);*/ 473 /*discover_packet.secs=htons(65535);*/
478 discover_packet.secs=0xFF; 474 discover_packet.secs=0xFF;
479 475
diff --git a/plugins-scripts/check_log.sh b/plugins-scripts/check_log.sh
index c623a8d..8ecdd31 100755
--- a/plugins-scripts/check_log.sh
+++ b/plugins-scripts/check_log.sh
@@ -105,11 +105,11 @@ while test -n "$1"; do
105 case "$1" in 105 case "$1" in
106 -h | --help) 106 -h | --help)
107 print_help 107 print_help
108 exit "$STATE_OK" 108 exit "$STATE_UNKNOWN"
109 ;; 109 ;;
110 -V | --version) 110 -V | --version)
111 print_revision "$PROGNAME" "$REVISION" 111 print_revision "$PROGNAME" "$REVISION"
112 exit "$STATE_OK" 112 exit "$STATE_UNKNOWN"
113 ;; 113 ;;
114 -F | --filename) 114 -F | --filename)
115 logfile=$2 115 logfile=$2
diff --git a/plugins-scripts/check_oracle.sh b/plugins-scripts/check_oracle.sh
index b14ec50..5998138 100755
--- a/plugins-scripts/check_oracle.sh
+++ b/plugins-scripts/check_oracle.sh
@@ -86,20 +86,20 @@ esac
86# Information options 86# Information options
87case "$cmd" in 87case "$cmd" in
88--help) 88--help)
89 print_help 89 print_help
90 exit "$STATE_OK" 90 exit "$STATE_UNKNOWN"
91 ;; 91 ;;
92-h) 92-h)
93 print_help 93 print_help
94 exit "$STATE_OK" 94 exit "$STATE_UNKNOWN"
95 ;; 95 ;;
96--version) 96--version)
97 print_revision "$PROGNAME" "$REVISION" 97 print_revision "$PROGNAME" "$REVISION"
98 exit "$STATE_OK" 98 exit "$STATE_UNKNOWN"
99 ;; 99 ;;
100-V) 100-V)
101 print_revision "$PROGNAME" "$REVISION" 101 print_revision "$PROGNAME" "$REVISION"
102 exit "$STATE_OK" 102 exit "$STATE_UNKNOWN"
103 ;; 103 ;;
104esac 104esac
105 105
diff --git a/plugins-scripts/check_sensors.sh b/plugins-scripts/check_sensors.sh
index 921e7b3..866e0e0 100755
--- a/plugins-scripts/check_sensors.sh
+++ b/plugins-scripts/check_sensors.sh
@@ -26,19 +26,19 @@ print_help() {
26case "$1" in 26case "$1" in
27 --help) 27 --help)
28 print_help 28 print_help
29 exit "$STATE_OK" 29 exit "$STATE_UNKNOWN"
30 ;; 30 ;;
31 -h) 31 -h)
32 print_help 32 print_help
33 exit "$STATE_OK" 33 exit "$STATE_UNKNOWN"
34 ;; 34 ;;
35 --version) 35 --version)
36 print_revision "$PROGNAME" "$REVISION" 36 print_revision "$PROGNAME" "$REVISION"
37 exit "$STATE_OK" 37 exit "$STATE_UNKNOWN"
38 ;; 38 ;;
39 -V) 39 -V)
40 print_revision "$PROGNAME" "$REVISION" 40 print_revision "$PROGNAME" "$REVISION"
41 exit "$STATE_OK" 41 exit "$STATE_UNKNOWN"
42 ;; 42 ;;
43 *) 43 *)
44 sensordata=$(sensors 2>&1) 44 sensordata=$(sensors 2>&1)
diff --git a/plugins/check_curl.c b/plugins/check_curl.c
index be5740d..100a97a 100644
--- a/plugins/check_curl.c
+++ b/plugins/check_curl.c
@@ -2217,11 +2217,10 @@ curlhelp_parse_statusline (const char *buf, curlhelp_statusline *status_line)
2217 if( strchr( p, '.' ) != NULL ) { 2217 if( strchr( p, '.' ) != NULL ) {
2218 2218
2219 /* HTTP 1.x case */ 2219 /* HTTP 1.x case */
2220 char *ppp; 2220 strtok( p, "." );
2221 ppp = strtok( p, "." );
2222 status_line->http_major = (int)strtol( p, &pp, 10 ); 2221 status_line->http_major = (int)strtol( p, &pp, 10 );
2223 if( *pp != '\0' ) { free( first_line_buf ); return -1; } 2222 if( *pp != '\0' ) { free( first_line_buf ); return -1; }
2224 ppp = strtok( NULL, " " ); 2223 strtok( NULL, " " );
2225 status_line->http_minor = (int)strtol( p, &pp, 10 ); 2224 status_line->http_minor = (int)strtol( p, &pp, 10 );
2226 if( *pp != '\0' ) { free( first_line_buf ); return -1; } 2225 if( *pp != '\0' ) { free( first_line_buf ); return -1; }
2227 p += 4; /* 1.x SP */ 2226 p += 4; /* 1.x SP */
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 8c03bc8..6956a72 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -1391,7 +1391,6 @@ char *unchunk_content(const char *content) {
1391 // https://en.wikipedia.org/wiki/Chunked_transfer_encoding 1391 // https://en.wikipedia.org/wiki/Chunked_transfer_encoding
1392 // https://www.rfc-editor.org/rfc/rfc7230#section-4.1 1392 // https://www.rfc-editor.org/rfc/rfc7230#section-4.1
1393 char *result = NULL; 1393 char *result = NULL;
1394 size_t content_length = strlen(content);
1395 char *start_of_chunk; 1394 char *start_of_chunk;
1396 char* end_of_chunk; 1395 char* end_of_chunk;
1397 long size_of_chunk; 1396 long size_of_chunk;
diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c
index 0cba50e..6cfa70e 100644
--- a/plugins/check_mysql.c
+++ b/plugins/check_mysql.c
@@ -551,7 +551,7 @@ print_help (void)
551 printf (" %s\n", _("Exit with CRITICAL status if slave server is more then INTEGER seconds")); 551 printf (" %s\n", _("Exit with CRITICAL status if slave server is more then INTEGER seconds"));
552 printf (" %s\n", _("behind master")); 552 printf (" %s\n", _("behind master"));
553 printf (" %s\n", "-l, --ssl"); 553 printf (" %s\n", "-l, --ssl");
554 printf (" %s\n", _("Use ssl encryptation")); 554 printf (" %s\n", _("Use ssl encryption"));
555 printf (" %s\n", "-C, --ca-cert=STRING"); 555 printf (" %s\n", "-C, --ca-cert=STRING");
556 printf (" %s\n", _("Path to CA signing the cert")); 556 printf (" %s\n", _("Path to CA signing the cert"));
557 printf (" %s\n", "-a, --cert=STRING"); 557 printf (" %s\n", "-a, --cert=STRING");
diff --git a/plugins/check_nt.c b/plugins/check_nt.c
index 59c135d..d73d83c 100644
--- a/plugins/check_nt.c
+++ b/plugins/check_nt.c
@@ -341,7 +341,7 @@ int main(int argc, char **argv){
341 341
342 2) If the counter you're going to measure is percent-based, the code will detect 342 2) If the counter you're going to measure is percent-based, the code will detect
343 the percent sign in its name and will attribute minimum (0%) and maximum (100%) 343 the percent sign in its name and will attribute minimum (0%) and maximum (100%)
344 values automagically, as well the ¨%" sign to graph units. 344 values automagically, as well the "%" sign to graph units.
345 345
346 3) OTOH, if the counter is "absolute", you'll have to provide the following 346 3) OTOH, if the counter is "absolute", you'll have to provide the following
347 the counter unit - that is, the dimensions of the counter you're getting. Examples: 347 the counter unit - that is, the dimensions of the counter you're getting. Examples:
diff --git a/plugins/check_pgsql.c b/plugins/check_pgsql.c
index 94a03b2..6199033 100644
--- a/plugins/check_pgsql.c
+++ b/plugins/check_pgsql.c
@@ -517,7 +517,10 @@ print_help (void)
517 printf (" %s\n", _("connecting to the server. The result from the query has to be numeric.")); 517 printf (" %s\n", _("connecting to the server. The result from the query has to be numeric."));
518 printf (" %s\n", _("Multiple SQL commands, separated by semicolon, are allowed but the result ")); 518 printf (" %s\n", _("Multiple SQL commands, separated by semicolon, are allowed but the result "));
519 printf (" %s\n", _("of the last command is taken into account only. The value of the first")); 519 printf (" %s\n", _("of the last command is taken into account only. The value of the first"));
520 printf (" %s\n\n", _("column in the first row is used as the check result.")); 520 printf (" %s\n", _("column in the first row is used as the check result. If a second column is"));
521 printf (" %s\n", _("present in the result set, this is added to the plugin output with a"));
522 printf (" %s\n", _("prefix of \"Extra Info:\". This information can be displayed in the system"));
523 printf (" %s\n\n", _("executing the plugin."));
521 524
522 printf (" %s\n", _("See the chapter \"Monitoring Database Activity\" of the PostgreSQL manual")); 525 printf (" %s\n", _("See the chapter \"Monitoring Database Activity\" of the PostgreSQL manual"));
523 printf (" %s\n\n", _("for details about how to access internal statistics of the database server.")); 526 printf (" %s\n\n", _("for details about how to access internal statistics of the database server."));
@@ -557,6 +560,7 @@ do_query (PGconn *conn, char *query)
557 PGresult *res; 560 PGresult *res;
558 561
559 char *val_str; 562 char *val_str;
563 char *extra_info;
560 double value; 564 double value;
561 565
562 char *endptr = NULL; 566 char *endptr = NULL;
@@ -621,6 +625,12 @@ do_query (PGconn *conn, char *query)
621 printf ("|query=%f;%s;%s;;\n", value, 625 printf ("|query=%f;%s;%s;;\n", value,
622 query_warning ? query_warning : "", 626 query_warning ? query_warning : "",
623 query_critical ? query_critical : ""); 627 query_critical ? query_critical : "");
628 if (PQnfields (res) > 1) {
629 extra_info = PQgetvalue (res, 0, 1);
630 if (extra_info != NULL) {
631 printf ("Extra Info: %s\n", extra_info);
632 }
633 }
624 return my_status; 634 return my_status;
625} 635}
626 636
diff --git a/plugins/runcmd.c b/plugins/runcmd.c
index 1bd2ca1..c1d675d 100644
--- a/plugins/runcmd.c
+++ b/plugins/runcmd.c
@@ -44,6 +44,8 @@
44# include <sys/wait.h> 44# include <sys/wait.h>
45#endif 45#endif
46 46
47#include "./utils.h"
48
47/** macros **/ 49/** macros **/
48#ifndef WEXITSTATUS 50#ifndef WEXITSTATUS
49# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) 51# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)